Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
Description
Bug report
Bug description:
PR#107650 added aStreamWriter.__del__ that emits a ResourceWarning if a StreamWriter is not closed by the time it is garbage collected, and it has been backported as 3.11.5. However, if the event loop has already been closed by the time this happens, it causes a RuntimeError message to be displayed. It's non-fatal because exceptions raised by__del__ are ignored, but it causes an error message to be displayed to the user (as opposed to ResourceWarning, which is only shown when one opts in).
Code like the following used to run without any visible error, but now prints a traceback (and does not report the ResourceWarning for the unclosed StreamWriter when run with-X dev):
#!/usr/bin/env python3importasyncioasyncdefmain():globalwriterreader,writer=awaitasyncio.open_connection("127.0.0.1",22)asyncio.run(main())
Output in 3.11.5:
Exception ignored in: <function StreamWriter.__del__ at 0x7fd54ee11080>Traceback (most recent call last): File "/usr/lib/python3.11/asyncio/streams.py", line 396, in __del__ File "/usr/lib/python3.11/asyncio/streams.py", line 344, in close File "/usr/lib/python3.11/asyncio/selector_events.py", line 860, in close File "/usr/lib/python3.11/asyncio/base_events.py", line 761, in call_soon File "/usr/lib/python3.11/asyncio/base_events.py", line 519, in _check_closedRuntimeError: Event loop is closedCPython versions tested on:
3.11
Operating systems tested on:
Linux
Linked PRs
Metadata
Metadata
Assignees
Projects
Status