-
-
Notifications
You must be signed in to change notification settings - Fork 30.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GH-98539: fix ref cycle in _SSLProtocolTransport
after close
#98540
Conversation
7cbbcf4
to
39a0df2
Compare
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>
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
This change makes it unsafe to call |
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
…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
_SSLProtocolTransport
keeps reference to protocol after close #98539