-
-
Notifications
You must be signed in to change notification settings - Fork 31.8k
GH-133261: Make sure that the GC doesn't untrack objects in trashcan #133431
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
Conversation
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.
LGTM.
This change can explain a lot of very weird bugs and crashes that I saw last days on buildbots and GitHub CIs.
test_external_inspection failed:
I wrote a fix for this one: #133433. |
Without this change, test_frame crash after a few attempts (between 1 and 3). With this change, test_frame does no longer crash. I ran
|
|
That's not good, many tests failed with
|
That's a 32 bit machine, right? |
The trashcan stores pointers in the reference count field. This could make the object appear immortal causing the GC to untrack it.
This PR makes sure that those pointers are stored in such a way as to never appear immortal.