-
-
Notifications
You must be signed in to change notification settings - Fork 30.5k
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-108342: Break ref cycle in SSLSocket._create() exc #108344
Conversation
Break explicitly a reference cycle when SSLSocket._create() raises an exception. Clear the variable storing the exception, since the exception traceback contains the variables and so creates a reference cycle.
Without this change, the following test fails:
With this PR, the test pass. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! I missed this one during testing (I think it doesn't always show up? due to gc cycle check timing?)
GH-108348 is a backport of this pull request to the 3.12 branch. |
…-108344) Explicitly break a reference cycle when SSLSocket._create() raises an exception. Clear the variable storing the exception, since the exception traceback contains the variables and so creates a reference cycle. This test leak was introduced by the test added for the fix of pythonGH-108310. (cherry picked from commit 64f9935) Co-authored-by: Victor Stinner <[email protected]>
GH-108349 is a backport of this pull request to the 3.11 branch. |
…-108344) Explicitly break a reference cycle when SSLSocket._create() raises an exception. Clear the variable storing the exception, since the exception traceback contains the variables and so creates a reference cycle. This test leak was introduced by the test added for the fix of pythonGH-108310. (cherry picked from commit 64f9935) Co-authored-by: Victor Stinner <[email protected]>
GH-108350 is a backport of this pull request to the 3.10 branch. |
GH-108351 is a backport of this pull request to the 3.9 branch. |
…-108344) Explicitly break a reference cycle when SSLSocket._create() raises an exception. Clear the variable storing the exception, since the exception traceback contains the variables and so creates a reference cycle. This test leak was introduced by the test added for the fix of pythonGH-108310. (cherry picked from commit 64f9935) Co-authored-by: Victor Stinner <[email protected]>
GH-108352 is a backport of this pull request to the 3.8 branch. |
…-108344) Explicitly break a reference cycle when SSLSocket._create() raises an exception. Clear the variable storing the exception, since the exception traceback contains the variables and so creates a reference cycle. This test leak was introduced by the test added for the fix of pythonGH-108310. (cherry picked from commit 64f9935) Co-authored-by: Victor Stinner <[email protected]>
…-108344) Explicitly break a reference cycle when SSLSocket._create() raises an exception. Clear the variable storing the exception, since the exception traceback contains the variables and so creates a reference cycle. This test leak was introduced by the test added for the fix of pythonGH-108310. (cherry picked from commit 64f9935) Co-authored-by: Victor Stinner <[email protected]>
|
|
|
|
|
|
…) (#108348) Explicitly break a reference cycle when SSLSocket._create() raises an exception. Clear the variable storing the exception, since the exception traceback contains the variables and so creates a reference cycle. This test leak was introduced by the test added for the fix of GH-108310. (cherry picked from commit 64f9935) Co-authored-by: Victor Stinner <[email protected]>
…) (#108349) Explicitly break a reference cycle when SSLSocket._create() raises an exception. Clear the variable storing the exception, since the exception traceback contains the variables and so creates a reference cycle. This test leak was introduced by the test added for the fix of GH-108310. (cherry picked from commit 64f9935) Co-authored-by: Victor Stinner <[email protected]>
…) (#108350) Explicitly break a reference cycle when SSLSocket._create() raises an exception. Clear the variable storing the exception, since the exception traceback contains the variables and so creates a reference cycle. This test leak was introduced by the test added for the fix of GH-108310. (cherry picked from commit 64f9935) Co-authored-by: Victor Stinner <[email protected]>
… (#108351) Explicitly break a reference cycle when SSLSocket._create() raises an exception. Clear the variable storing the exception, since the exception traceback contains the variables and so creates a reference cycle. This test leak was introduced by the test added for the fix of GH-108310. (cherry picked from commit 64f9935) Co-authored-by: Victor Stinner <[email protected]>
… (#108352) Explicitly break a reference cycle when SSLSocket._create() raises an exception. Clear the variable storing the exception, since the exception traceback contains the variables and so creates a reference cycle. This test leak was introduced by the test added for the fix of GH-108310. (cherry picked from commit 64f9935) Co-authored-by: Victor Stinner <[email protected]>
|
|
|
Sadly, this fix was not enough :-( I'm investigating the issue to try to break reference cycles explicitly at more places. The issue is easy to reproduce on Windows. |
I wrote PR #108370 to fix the issue in more cases. |
…thonGH-108344) (python#108351) Explicitly break a reference cycle when SSLSocket._create() raises an exception. Clear the variable storing the exception, since the exception traceback contains the variables and so creates a reference cycle. This test leak was introduced by the test added for the fix of pythonGH-108310. (cherry picked from commit 64f9935) Co-authored-by: Victor Stinner <[email protected]>
Break explicitly a reference cycle when SSLSocket._create() raises an exception. Clear the variable storing the exception, since the exception traceback contains the variables and so creates a reference cycle.