-
-
Notifications
You must be signed in to change notification settings - Fork 31.3k
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-103879: Fix refleak in super specialization #103882
Conversation
JelleZijlstra
commented
Apr 26, 2023
•
edited by bedevere-bot
Loading
edited by bedevere-bot
- Issue: Numerous refleaks on main #103879
🤖 New build scheduled with the buildbot fleet by @JelleZijlstra for commit fb53869 🤖 If you want to schedule another build, you need to add the 🔨 test-with-refleak-buildbots label again. |
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.
Ugh, sorry about this and for wasting so much of your time tracking these down on your PEP 695 work yesterday!
I thought I'd run the refleak buildbots on the specialization PR, not sure what happened. I think maybe I triggered them but the buildbot fleet was backed up, and so they didn't actually start running for a long time, and then I later rebased the PR again assuming they had run and passed? Will be more careful checking that in future.
Your changes here look correct to me, since the res
cached in the inline cache should be a borrowed reference (as noted in the comment), not a strong reference.
Approving, assuming the signal all looks green.
I think there may be an issue where the default buildbot run doesn't include the refleak buildbots. If you look at the commits on github.com/python/cpython, the most recent ones are green, even though the buildbot website shows the refleak buildbots failing on main. |
Also, I now understand why my refleaks kept going away if I removed one too many lines: if the refleak is triggered on specialization, it only manifests if the code gets run enough times. |