Message412709
It is possible to cause a NameError in asyncio.gather if the second presumed coroutine fails the internal type check.
Sample code:
import asyncio
async def main():
coros = (asyncio.sleep(1), {1: 1})
await asyncio.gather(*coros)
asyncio.run(main())
Exception in callback gather.<locals>._done_callback(<Task cancell...tasks.py:593>>) at /usr/local/lib/python3.10/asyncio/tasks.py:714
handle: <Handle gather.<locals>._done_callback(<Task cancell...tasks.py:593>>) at /usr/local/lib/python3.10/asyncio/tasks.py:714>
Traceback (most recent call last):
File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 641, in run_until_complete
return future.result()
File "<string>", line 4, in main
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 775, in gather
if arg not in arg_to_fut:
TypeError: unhashable type: 'dict'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 718, in _done_callback
if outer.done():
NameError: free variable 'outer' referenced before assignment in enclosing scope
Traceback (most recent call last):
File "<string>", line 5, in <module>
File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 641, in run_until_complete
return future.result()
File "<string>", line 4, in main
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 775, in gather
if arg not in arg_to_fut:
TypeError: unhashable type: 'dict' |
|
Date |
User |
Action |
Args |
2022-02-07 05:24:45 | onerandomusername | set | recipients:
+ onerandomusername, asvetlov, yselivanov |
2022-02-07 05:24:45 | onerandomusername | set | messageid: <1644211485.82.0.488303396987.issue46672@roundup.psfhosted.org> |
2022-02-07 05:24:45 | onerandomusername | link | issue46672 messages |
2022-02-07 05:24:45 | onerandomusername | create | |
|