Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 33.9k
gh-124715: Fix method_dealloc(): use PyObject_GC_UnTrack()#133199
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
Uh oh!
There was an error while loading. Please reload this page.
Conversation
vstinner commented Apr 30, 2025 • edited by bedevere-app bot
Loading Uh oh!
There was an error while loading. Please reload this page.
edited by bedevere-app bot
Uh oh!
There was an error while loading. Please reload this page.
Replace _PyObject_GC_UNTRACK() with PyObject_GC_UnTrack() to not fail if the method was already untracked.
vstinner commented Apr 30, 2025 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
This change fix test_functools on s390x: #132280 (comment) But I'm not sure why "Move trashcan mechanism into Py_Dealloc" requires this change. |
markshannon commented Apr 30, 2025 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
I don't see any reason either. |
vstinner commented Apr 30, 2025
s390x buildbot is fast. Other buildbots are still running. Maybe test_functools will fail on other buildbots, I don't know so far. |
vstinner commented Apr 30, 2025
Oh, I cannot reproduce the issue on s390x RHEL9 (GCC 11.5.0) nor on s390x Fedora Stable (GCC 14.2.1), only on s390x RHEL8 (GCC 8.5.0). |
vstinner commented May 1, 2025 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
test_functools does also crash on:
|
vstinner commented May 1, 2025
I confirm that test_functools does crash randomly when I build Python using clang on my laptop: |
662dd29 into python:mainUh oh!
There was an error while loading. Please reload this page.
vstinner commented May 1, 2025
It seems like methods are special and can be untracked by something that I failed to identify when they enter the trashcan mechanism. I hope that only methods are treated in a special way and that other objects don't have to be modified for the recent trashcan change. |
markshannon commented May 1, 2025 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
Does this fix all the buildbots? |
vstinner commented May 1, 2025
See also #133261 : test_frame crash randomly on RHEL8, but this time on x86-64. |
vstinner commented May 1, 2025
Yes. Buildbots which are back to green:
#124715 is still open. |
…k() (python#133199)" This reverts commit 662dd29. The root issue was fixed by the commit f554237.
…k() (python#133199)" (python#133434) This reverts commit 662dd29. The root issue was fixed by the commit f554237.
Replace _PyObject_GC_UNTRACK() with PyObject_GC_UnTrack() to not fail if the method was already untracked.