uvloop
uvloop copied to clipboard
"Future exception was never retrieved" in Loop.create_connection
- uvloop version: 0.16.0
- aiohttp version: 3.7.4.post0
- Python version: 3.9.5
- Platform: Ubuntu 5.11.0-31-generic
-
Can you reproduce the bug with
PYTHONASYNCIODEBUG
in env?: Yes - Does uvloop behave differently from vanilla asyncio? How?: Yes. This error does not occur
ERROR [aiohttp:connector.py:_create_proxy_connection:1139]: Future exception was never retrieved
future: <Future finished exception=ConnectionResetError() created at /home/user/.local/lib/python3.9/site-packages/aiohttp/connector.py:969>
source_traceback: Object created at (most recent call last):
File "/usr/lib/python3.9/threading.py", line 912, in _bootstrap
self._bootstrap_inner()
File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
self.run()
File "/usr/lib/python3.9/threading.py", line 892, in run
self._target(*self._args, **self._kwargs)
File "/home/user/worker/main.py", line 70, in worker
asyncio.run(async_worker(q_tasks, fetcher))
File "/usr/lib/python3.9/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/home/user/worker/main.py", line 31, in async_loop_processing_tasks
await fetcher.fetch_task('https://' + domain, 'curl')
File "/home/user/worker/processing.py", line 85, in fetch_task
return await self._fetch_task(url, user_agent)
File "/home/user/worker/processing.py", line 199, in _fetch_task
stat, info = await proto_http.fetch_url(
File "/home/user/worker/proto_http.py", line 126, in fetch_url
http_res = await session.get(
File "/home/user/.local/lib/python3.9/site-packages/aiohttp/client.py", line 520, in _request
conn = await self._connector.connect(
File "/home/user/.local/lib/python3.9/site-packages/aiohttp/connector.py", line 535, in connect
proto = await self._create_connection(req, traces, timeout)
File "/home/user/.local/lib/python3.9/site-packages/aiohttp/connector.py", line 890, in _create_connection
_, proto = await self._create_proxy_connection(req, traces, timeout)
File "/home/user/.local/lib/python3.9/site-packages/aiohttp/connector.py", line 1139, in _create_proxy_connection
transport, proto = await self._wrap_create_connection(
File "/home/user/.local/lib/python3.9/site-packages/aiohttp/connector.py", line 969, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs) # type: ignore # noqa
Traceback (most recent call last):
File "uvloop/sslproto.pyx", line 517, in uvloop.loop.SSLProtocol._on_handshake_complete
ConnectionResetError
@fantix I see you self-assigned this. Should the fix be prioritized?
I think this is a warning from the loop exception handler? But I'll still try to reproduce later.
I have a pull request which fixes a similar problem: https://github.com/MagicStack/uvloop/pull/590
I imagine the fix for the above is analogous?