GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||||||||||||||||
GeezerVison is showing github.com — gh-124375: Avoid calling `_PyMem_ProcessDelayed` on other thread states by colesbury · Pull Request #124459 · python/cpython Conversation
|
|
I spent a while trying to get a unit test to reproduce the issue without success. I think the period between when Lines 1589 to 1600 in 17b3bc9
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
🤖 New build scheduled with the buildbot fleet by @colesbury for commit bc567fc 🤖 If you want to schedule another build, you need to add the 🔨 test-with-refleak-buildbots label again. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
cc @ngoldbaum |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Thanks for this! I'll try to test this with PyO3 tomorrow morning. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Thankfully it seems the 3.14 ABI hasn't yet diverged enough from 3.13 that it's painful to test this with PyO3. It looks like this does fix the segfault - I'm completely unable to trigger it on this PR branch and I can trigger it very quickly with the same test approaches (looping on |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Thanks @colesbury for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…d states (pythonGH-124459) This fixes a crash when running the PyO3 test suite on the free-threaded build. The `qsbr` field is initialized after the `PyThreadState` is added to the interpreter's linked list -- it might still be NULL. Instead, we "steal" the queue of to-be-freed memory blocks. This is always initialized (possibly empty) and protected by the stop the world pause. (cherry picked from commit 54c6fcb) Co-authored-by: Sam Gross <[email protected]>
|
GH-125540 is a backport of this pull request to the 3.13 branch. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…ad states (GH-124459) (#125540) This fixes a crash when running the PyO3 test suite on the free-threaded build. The `qsbr` field is initialized after the `PyThreadState` is added to the interpreter's linked list -- it might still be NULL. Instead, we "steal" the queue of to-be-freed memory blocks. This is always initialized (possibly empty) and protected by the stop the world pause. (cherry picked from commit 54c6fcb) Co-authored-by: Sam Gross <[email protected]>
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.