-
-
Notifications
You must be signed in to change notification settings - Fork 32k
gh-128639: Don't assume one thread in subinterpreter finalization with fixed daemon thread support #134606
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
base: main
Are you sure you want to change the base?
gh-128639: Don't assume one thread in subinterpreter finalization with fixed daemon thread support #134606
Conversation
…inalization (pythongh-128640)" (pythongh-134256) This reverts commit 27bd082.
This comment was marked as outdated.
This comment was marked as outdated.
🤖 New build scheduled with the buildbot fleet by @ZeroIntensity for commit a569355 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F134606%2Fmerge If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
!buildbot refleak |
🤖 New build scheduled with the buildbot fleet by @ZeroIntensity for commit f85a291 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F134606%2Fmerge The command will test the builders whose names match following regular expression: The builders matched are:
|
This is a reapplication of #128640, with daemon thread hanging fixed.
The key part that I was missing was this:
My fix predated these lines, so it didn't make it in originally.
The reason this only failed on the iOS buildbots was because they're single-process. Out of random choice, I picked 100 seconds as the sleep time, but since the process would exit before that 100 seconds was over on all the other buildbots, there wasn't any problem. On iOS, the test suite continued to run in the same process after the 100 seconds were up, so the daemon threads would start trying to run again under a deallocated interpreter, causing all sorts of weird crashes.