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-104341: Fix threading Module Shutdown by ericsnowcurrently · Pull Request #104560 · python/cpython Conversation
|
| PyThread_acquire_lock(threads->mutex, WAIT_LOCK); | ||
| while (threads->head != NULL) { | ||
| PyThread_release_lock(threads->mutex); | ||
| // XXX Sleep? | ||
| PyThread_acquire_lock(threads->mutex, WAIT_LOCK); | ||
| } | ||
| PyThread_release_lock(threads->mutex); |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
FYI, this doesn't feel right. I'm going to look at what my options are. A condvar would work, but that doesn't seem to be something we do in CPython outside the GIL.
(I'm also open to ideas.)
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.
I've come up with a slightly better approach.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
🤖 New build scheduled with the buildbot fleet by @ericsnowcurrently for commit 51d960e 🤖 If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| static struct PyModuleDef thread_module; | ||
|
|
||
|
|
||
| /* threads owned by the modulo */ |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
typo: module?
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.
fixed
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
FTR, I ran the buildbots on commit 51d960e: https://buildbot.python.org/all/#/changes/22637. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Based on CI and the buildbots, I'm thinking there may be something wrong with this PR on macOS. I'll take a look. Run failed when multiple fork-related tests timed out:
On the "x86-64 macOS PR" builder, the run was cancelled 3 times: |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
CI run 1(https://github.com/python/cpython/actions/runs/4996253064/jobs/8949214929) 12 test modules failed before the CI job was canceled. (details)test module timed out after 20 minutes (1200s):
individual tests timed out:
still running:
CI run 2(https://github.com/python/cpython/actions/runs/4997616864/jobs/8952165246) 12 test modules failed before the CI job was canceled. (details)test module timed out after 20 minutes (1200s):
individual tests timed out:
still running:
Buildbot (ARM64 macOS PR)(https://buildbot.python.org/all/#/builders/721/builds/1163/steps/5/logs/stdio) 25 test modules failed (details)test module timed out after 15 minutes (900s):
individual tests timed out:
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
I reran the job and got the same result (the tests are not done yet but started to time out already). |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
This PR is stale because it has been open for 30 days with no activity. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
This PR is attached to gh-104341, which is already completed: the fix for that issue landed through other changes, and this PR's approach was not taken or has since become obsolete. Closing to cull the number of open pull requests. Do not reopen this pull request without getting a go-ahead from a triager or core developer. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
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.