Uh oh!
There was an error while loading. Please reload this page.
GH-98539: fix ref cycle in _SSLProtocolTransport after close - #98540
Conversation
Uh oh!
There was an error while loading. Please reload this page.
miss-islington
commented
Oct 22, 2022
Thanks @kumaraditya303 for the PR, and @gvanrossum for merging it 🌮🎉.. I'm working now to backport this PR to: 3.11. |
…ythonGH-98540) (cherry picked from commit 62bf5d8) Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
bedevere-bot
commented
Oct 22, 2022
GH-98551 is a backport of this pull request to the 3.11 branch. |
Since python/cpython#98540 which was included in Python 3.11.1, aiohttp can fail if two tasks are trying to close the connection concurrently.
There is currently a relatively fast memory leak when using cpython 3.11.2+ and cleanup_closed with aiohttp For my production instance it was leaking ~450MiB per day of `MemoryBIO`, `SSLProtocol`, `SSLObject`, `_SSLProtocolTransport` `memoryview`, and `managedbuffer` objects see aio-libs/aiohttp#7252 see python/cpython#98540
Dreamsorcerer
commented
May 13, 2023
This change makes it unsafe to call |
gvanrossum
commented
May 13, 2023
Makes sense. Can you send a PR? |
…93013) * Disable cleanup_closed for aiohttp.TCPConnector with cpython 3.11.2+ There is currently a relatively fast memory leak when using cpython 3.11.2+ and cleanup_closed with aiohttp For my production instance it was leaking ~450MiB per day of `MemoryBIO`, `SSLProtocol`, `SSLObject`, `_SSLProtocolTransport` `memoryview`, and `managedbuffer` objects see aio-libs/aiohttp#7252 see python/cpython#98540 * Update homeassistant/helpers/aiohttp_client.py
Dreamsorcerer
commented
May 14, 2023
…93013) * Disable cleanup_closed for aiohttp.TCPConnector with cpython 3.11.2+ There is currently a relatively fast memory leak when using cpython 3.11.2+ and cleanup_closed with aiohttp For my production instance it was leaking ~450MiB per day of `MemoryBIO`, `SSLProtocol`, `SSLObject`, `_SSLProtocolTransport` `memoryview`, and `managedbuffer` objects see aio-libs/aiohttp#7252 see python/cpython#98540 * Update homeassistant/helpers/aiohttp_client.py
…ome-assistant#93013) * Disable cleanup_closed for aiohttp.TCPConnector with cpython 3.11.2+ There is currently a relatively fast memory leak when using cpython 3.11.2+ and cleanup_closed with aiohttp For my production instance it was leaking ~450MiB per day of `MemoryBIO`, `SSLProtocol`, `SSLObject`, `_SSLProtocolTransport` `memoryview`, and `managedbuffer` objects see aio-libs/aiohttp#7252 see python/cpython#98540 * Update homeassistant/helpers/aiohttp_client.py
_SSLProtocolTransportkeeps reference to protocol after close #98539