Skip to content

Apparent DNS and timeout errors scanning a folder #221

@o-alquimista

Description

@o-alquimista

I'm using the example script upload-files.py (commit e53590d).

I have been scanning similar folders without any problems, but this time it's failing; and, judging by some of the messages, it looks like a DNS problem.

Example:

aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host www.virustotal.com:443 ssl:default [No address associated with hostname]

Full output

Here is the output of three attempts:

$ python upload2vt.py --apikey="REDACTED" --workers=8 --path=/home/dsilva/Videos/The\ Expanse\ Season\ 2\ \ \[1080p\ Bluray\ x265\ q22\ S96\ Joy\]/
Traceback (most recent call last):
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/connector.py", line 1532, in _create_direct_connection
    hosts = await self._resolve_host(host, port, traces=traces)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/connector.py", line 1148, in _resolve_host
    return await asyncio.shield(resolved_host_task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/connector.py", line 1179, in _resolve_host_with_throttle
    addrs = await self._resolver.resolve(host, port, family=self._family)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/resolver.py", line 40, in resolve
    infos = await self._loop.getaddrinfo(
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<5 lines>...
    )
    ^
  File "/usr/lib/python3.13/asyncio/base_events.py", line 939, in getaddrinfo
    return await self.run_in_executor(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
        None, getaddr_func, host, port, family, type, proto, flags)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/concurrent/futures/thread.py", line 59, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3.13/socket.py", line 977, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
               ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
socket.gaierror: [Errno -5] No address associated with hostname

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/dsilva/Desktop/Code/upload2vt/upload2vt.py", line 100, in <module>
    asyncio.run(main())
    ~~~~~~~~~~~^^^^^^^^
  File "/usr/lib/python3.13/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ~~~~~~~~~~^^^^^^
  File "/usr/lib/python3.13/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib/python3.13/asyncio/base_events.py", line 725, in run_until_complete
    return future.result()
           ~~~~~~~~~~~~~^^
  File "/home/dsilva/Desktop/Code/upload2vt/upload2vt.py", line 90, in main
    analyses = itertools.chain.from_iterable(await asyncio.gather(*worker_tasks))
                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/Desktop/Code/upload2vt/upload2vt.py", line 47, in upload_hashes
    analysis = await client.scan_file_async(file=f)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/vt/client.py", line 892, in scan_file_async
    upload_url = await self.get_data_async("/files/upload_url")
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/vt/client.py", line 571, in get_data_async
    json_response = await self.get_json_async(path, *path_args, params=params)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/vt/client.py", line 626, in get_json_async
    response = await self.get_async(path, *path_args, params=params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/vt/client.py", line 529, in get_async
    await self._get_session().get(
        self._full_url(path, *path_args), params=params, proxy=self._proxy
    )
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/client.py", line 770, in _request
    resp = await handler(req)
           ^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/client.py", line 725, in _connect_and_send_request
    conn = await self._connector.connect(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        req, traces=traces, timeout=real_timeout
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/connector.py", line 642, in connect
    proto = await self._create_connection(req, traces, timeout)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/connector.py", line 1209, in _create_connection
    _, proto = await self._create_direct_connection(req, traces, timeout)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/connector.py", line 1538, in _create_direct_connection
    raise ClientConnectorDNSError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host www.virustotal.com:443 ssl:default [No address associated with hostname]



(upload2vt) dsilva@helium:~/Desktop/Code/upload2vt$ python upload2vt.py --apikey="REDACTED" --workers=8 --path=/home/dsilva/Videos/The\ Expanse\ Season\ 2\ \ \[1080p\ Bluray\ x265\ q22\ S96\ Joy\]/
Traceback (most recent call last):
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/connector.py", line 1532, in _create_direct_connection
    hosts = await self._resolve_host(host, port, traces=traces)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/connector.py", line 1148, in _resolve_host
    return await asyncio.shield(resolved_host_task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/connector.py", line 1179, in _resolve_host_with_throttle
    addrs = await self._resolver.resolve(host, port, family=self._family)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/resolver.py", line 40, in resolve
    infos = await self._loop.getaddrinfo(
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<5 lines>...
    )
    ^
  File "/usr/lib/python3.13/asyncio/base_events.py", line 939, in getaddrinfo
    return await self.run_in_executor(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
        None, getaddr_func, host, port, family, type, proto, flags)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/concurrent/futures/thread.py", line 59, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3.13/socket.py", line 977, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
               ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
socket.gaierror: [Errno -3] Temporary failure in name resolution

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/dsilva/Desktop/Code/upload2vt/upload2vt.py", line 100, in <module>
    asyncio.run(main())
    ~~~~~~~~~~~^^^^^^^^
  File "/usr/lib/python3.13/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ~~~~~~~~~~^^^^^^
  File "/usr/lib/python3.13/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib/python3.13/asyncio/base_events.py", line 725, in run_until_complete
    return future.result()
           ~~~~~~~~~~~~~^^
  File "/home/dsilva/Desktop/Code/upload2vt/upload2vt.py", line 90, in main
    analyses = itertools.chain.from_iterable(await asyncio.gather(*worker_tasks))
                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/Desktop/Code/upload2vt/upload2vt.py", line 47, in upload_hashes
    analysis = await client.scan_file_async(file=f)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/vt/client.py", line 894, in scan_file_async
    await self._get_session().post(
        upload_url, data=form_data, proxy=self._proxy
    )
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/client.py", line 770, in _request
    resp = await handler(req)
           ^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/client.py", line 725, in _connect_and_send_request
    conn = await self._connector.connect(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        req, traces=traces, timeout=real_timeout
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/connector.py", line 642, in connect
    proto = await self._create_connection(req, traces, timeout)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/connector.py", line 1209, in _create_connection
    _, proto = await self._create_direct_connection(req, traces, timeout)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/connector.py", line 1538, in _create_direct_connection
    raise ClientConnectorDNSError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host bigfiles.virustotal.com:443 ssl:default [Temporary failure in name resolution]



(upload2vt) dsilva@helium:~/Desktop/Code/upload2vt$ python upload2vt.py --apikey="REDACTED" --workers=8 --path=/home/dsilva/Videos/The\ Expanse\ Season\ 2\ \ \[1080p\ Bluray\ x265\ q22\ S96\ Joy\]/
File /home/dsilva/Videos/The Expanse Season 2  [1080p Bluray x265 q22 S96 Joy]/Ninite K-Lite Codecs Unattended Silent Installer and Updater.website uploaded.
File /home/dsilva/Videos/The Expanse Season 2  [1080p Bluray x265 q22 S96 Joy]/The Expanse S02E01 Safe  (1080p x265 Q22 S96 Joy)_BBCodes.txt uploaded.
Traceback (most recent call last):
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/client_reqrep.py", line 532, in start
    message, payload = await protocol.read()  # type: ignore[union-attr]
                       ^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/streams.py", line 672, in read
    await self._waiter
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/dsilva/Desktop/Code/upload2vt/upload2vt.py", line 100, in <module>
    asyncio.run(main())
    ~~~~~~~~~~~^^^^^^^^
  File "/usr/lib/python3.13/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ~~~~~~~~~~^^^^^^
  File "/usr/lib/python3.13/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib/python3.13/asyncio/base_events.py", line 725, in run_until_complete
    return future.result()
           ~~~~~~~~~~~~~^^
  File "/home/dsilva/Desktop/Code/upload2vt/upload2vt.py", line 90, in main
    analyses = itertools.chain.from_iterable(await asyncio.gather(*worker_tasks))
                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/Desktop/Code/upload2vt/upload2vt.py", line 47, in upload_hashes
    analysis = await client.scan_file_async(file=f)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/vt/client.py", line 894, in scan_file_async
    await self._get_session().post(
        upload_url, data=form_data, proxy=self._proxy
    )
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/client.py", line 770, in _request
    resp = await handler(req)
           ^^^^^^^^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/client.py", line 748, in _connect_and_send_request
    await resp.start(conn)
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/client_reqrep.py", line 527, in start
    with self._timer:
         ^^^^^^^^^^^
  File "/home/dsilva/.local/share/virtualenvs/upload2vt-byHH4LTn/lib/python3.13/site-packages/aiohttp/helpers.py", line 685, in __exit__
    raise asyncio.TimeoutError from exc_val
TimeoutError

It started happening yesterday, I think. Temporary issue?

  • Debian 13 trixie (amd64)
  • Python 3.13.5

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions