bbot
bbot copied to clipboard
Unhandled error: engine.py:82:_infinite_retry()
Seeing the same thing originating from several modules, not specific to certspotter. Anything using the web helper I think.
2025-03-01 07:48:11,644 [TRACE] bbot.modules.certspotter logger.py:162 Traceback (most recent call last):
File "/usr/local/lib/python3.11/asyncio/tasks.py", line 490, in wait_for
return fut.result()
^^^^^^^^^^^^
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/redacted/bbot/bbot/core/engine.py", line 77, in _infinite_retry
return await asyncio.wait_for(callback(*args, **kwargs), timeout=interval)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/tasks.py", line 492, in wait_for
raise exceptions.TimeoutError() from exc
TimeoutError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/redacted/bbot/bbot/modules/templates/subdomain_enum.py", line 121, in query
response = await request_fn(query)
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/redacted/bbot/bbot/modules/base.py", line 1158, in api_request
r = await self.helpers.request(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/redacted/bbot/bbot/core/helpers/web/web.py", line 122, in request
result = await self.run_and_return("request", *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/redacted/bbot/bbot/core/engine.py", line 163, in run_and_return
binary = await self._infinite_retry(socket.recv, _context=f"waiting for return value from {fn_str}")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/redacted/bbot/bbot/core/engine.py", line 82, in _infinite_retry
raise TimeoutError(f"Timed out after {(max_retries + 1) * interval:,} seconds {context}")
TimeoutError: Timed out after 600 seconds waiting for return value from request((), {'timeout': 40, 'headers': {}, 'url': 'https://api.certspotter.com/v1/issuances?domain=REDACTED&include_subdomains=true&expand=dns_names'})
This is probably the same bug frontend ran into, where certspotter held up the scan. Most likely a deadlock in httpx, another nail in its coffin.