INFO: [RomM][hasheous_handler][2025-08-08 16:56:37] No IGDB ID provided for Hasheous IGDB game lookup.
CRITICAL: [RomM][retroachievements][2025-08-08 16:56:42] Connection error: can't connect to RetroAchievements
Traceback (most recent call last):
File "/src/.venv/lib/python3.13/site-packages/aiohttp/connector.py", line 1532, in _create_direct_connection
hosts = await self._resolve_host(host, port, traces=traces)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/src/.venv/lib/python3.13/site-packages/aiohttp/connector.py", line 1148, in _resolve_host
return await asyncio.shield(resolved_host_task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/src/.venv/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 "/src/.venv/lib/python3.13/site-packages/aiohttp/resolver.py", line 40, in resolve
infos = await self._loop.getaddrinfo(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<5 lines>...
)
^
File "/usr/local/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/local/lib/python3.13/concurrent/futures/thread.py", line 59, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.13/socket.py", line 977, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
socket.gaierror: [Errno -3] Try again
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/backend/adapters/services/retroachievements.py", line 54, in _request
res = await aiohttp_session.get(
^^^^^^^^^^^^^^^^^^^^^^^^^^
...<3 lines>...
)
^
File "/src/.venv/lib/python3.13/site-packages/aiohttp/client.py", line 770, in _request
resp = await handler(req)
^^^^^^^^^^^^^^^^^^
File "/src/.venv/lib/python3.13/site-packages/aiohttp/client_middlewares.py", line 36, in single_middleware_handler
return await middleware(req, handler)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/backend/adapters/services/retroachievements.py", line 31, in auth_middleware
return await handler(req)
^^^^^^^^^^^^^^^^^^
File "/src/.venv/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 "/src/.venv/lib/python3.13/site-packages/aiohttp/connector.py", line 642, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/src/.venv/lib/python3.13/site-packages/aiohttp/connector.py", line 1209, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/src/.venv/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 retroachievements.org:443 ssl:default [Try again]
ERROR: [RomM][scan][2025-08-08 16:56:42] Error in scan_platform: 503: Can't connect to RetroAchievements, check your internet connection
INFO: [RomM][nginx][2025-08-08 16:56:42] 192.168.178.2 | - | GET /ws/socket.io/?EIO=4&transport=websocket 101 | 182704 | Chrome Windows | 2266.684
ERROR: [RomM][worker][2025-08-08 16:56:42] [Job d2c257c1-85b4-4bf8-b60b-6197f9833eef]: exception raised while executing (endpoints.sockets.scan.scan_platforms)
Traceback (most recent call last):
File "/src/.venv/lib/python3.13/site-packages/aiohttp/connector.py", line 1532, in _create_direct_connection
hosts = await self._resolve_host(host, port, traces=traces)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/src/.venv/lib/python3.13/site-packages/aiohttp/connector.py", line 1148, in _resolve_host
return await asyncio.shield(resolved_host_task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/src/.venv/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 "/src/.venv/lib/python3.13/site-packages/aiohttp/resolver.py", line 40, in resolve
infos = await self._loop.getaddrinfo(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<5 lines>...
)
^
File "/usr/local/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/local/lib/python3.13/concurrent/futures/thread.py", line 59, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.13/socket.py", line 977, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
socket.gaierror: [Errno -3] Try again
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/backend/adapters/services/retroachievements.py", line 54, in _request
res = await aiohttp_session.get(
^^^^^^^^^^^^^^^^^^^^^^^^^^
...<3 lines>...
)
^
File "/src/.venv/lib/python3.13/site-packages/aiohttp/client.py", line 770, in _request
resp = await handler(req)
^^^^^^^^^^^^^^^^^^
File "/src/.venv/lib/python3.13/site-packages/aiohttp/client_middlewares.py", line 36, in single_middleware_handler
return await middleware(req, handler)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/backend/adapters/services/retroachievements.py", line 31, in auth_middleware
return await handler(req)
^^^^^^^^^^^^^^^^^^
File "/src/.venv/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 "/src/.venv/lib/python3.13/site-packages/aiohttp/connector.py", line 642, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/src/.venv/lib/python3.13/site-packages/aiohttp/connector.py", line 1209, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/src/.venv/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 retroachievements.org:443 ssl:default [Try again]
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/src/.venv/lib/python3.13/site-packages/rq/worker.py", line 1643, in perform_job
return_value = job.perform()
File "/src/.venv/lib/python3.13/site-packages/rq/job.py", line 1359, in perform
self._result = self._execute()
~~~~~~~~~~~~~^^
File "/src/.venv/lib/python3.13/site-packages/rq/job.py", line 1396, in _execute
coro_result = loop.run_until_complete(result)
File "/usr/local/lib/python3.13/asyncio/base_events.py", line 725, in run_until_complete
return future.result()
~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/contextlib.py", line 101, in inner
return await func(*args, **kwds)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/backend/endpoints/sockets/scan.py", line 517, in scan_platforms
raise e
File "/backend/endpoints/sockets/scan.py", line 492, in scan_platforms
scan_stats += await _identify_platform(
^^^^^^^^^^^^^^^^^^^^^^^^^
...<6 lines>...
)
^
File "/backend/endpoints/sockets/scan.py", line 402, in _identify_platform
scan_stats += await _identify_rom(
^^^^^^^^^^^^^^^^^^^^
...<7 lines>...
)
^
File "/backend/endpoints/sockets/scan.py", line 216, in _identify_rom
scanned_rom = await scan_rom(
^^^^^^^^^^^^^^^
...<6 lines>...
)
^
File "/backend/handler/scan_handler.py", line 501, in scan_rom
) = await asyncio.gather(
^^^^^^^^^^^^^^^^^^^^^
...<6 lines>...
)
^
File "/backend/handler/scan_handler.py", line 458, in fetch_ra_rom
return await meta_ra_handler.get_rom_by_id(rom=rom, ra_id=h_ra_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/backend/handler/metadata/ra_handler.py", line 240, in get_rom_by_id
rom_details = await self.ra_service.get_game_extended_details(ra_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/backend/adapters/services/retroachievements.py", line 118, in get_game_extended_details
response = await self._request(str(url))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/backend/adapters/services/retroachievements.py", line 68, in _request
raise HTTPException(
...<2 lines>...
) from exc
fastapi.exceptions.HTTPException: 503: Can't connect to RetroAchievements, check your internet connection
INFO: [RomM][server][2025-08-08 16:56:42] connection closed
RomM version
4.0.1 / Docker
Describe the bug
When scanning, if a request to Hasheous and/or RetroAchievement fails (not sure about others), the entire scan will stop. At least, in my instance.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I'd expect the software to try some times (maybe an environment variable setting?) before interrupting the scan.
Screenshots
No screenshot but I have the part of the logs:
Desktop (please complete the following information):
Not needed
Smartphone (please complete the following information):
Not needed
Server (I've added this)
It's Docker v28.3.3 + Docker Compose v2.39.1 on Ubuntu 24.04.2 LTS virtualized in Proxmox.
Additional context
Maybe it scans 400 roms and then stops, or scans 2000 then stops, or 10 then stops.