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-128400: Only show the current thread in `faulthandler` if the GIL is disabled by ZeroIntensity · Pull Request #128425 · python/cpython Conversation
|
| { | ||
| return 0; | ||
| } | ||
| if (tstate->interp->gc.collecting) |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
The gc.collecting field doesn't necessarily imply that all threads are paused:
gc.collecting is set before the stop-the-world pauseYou could check tstate->interp->stoptheworld.world_stopped and maybe also that tstate matches stoptheworld.requester. (The faulting thread may not be attached to the interpreter when it crashes.)
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'm not fully convinced that this is worth the extra complexity or the extra chance of crashing during the faulthandler:
HEAD_LOCK(), which you can't do during a signal handler.
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.
Yeah, I was on the fence about it too. I threw it in there because it seemed simple enough at first, but I think it's better to remove it too.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
I think it's best not to stop-the-world. Deadlocks that hide the fatal error message would not be fun. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I'll deal with |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
faulthandler if other threads are activefaulthandler if the GIL is disabled
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Looks good. Some minor formatting suggestions below
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Co-authored-by: Sam Gross <[email protected]>
Co-authored-by: Sam Gross <[email protected]>
|
ASan failure looks unrelated. |
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.
Thanks!
Sorry, something went wrong.
There was an error while loading. Please reload this page.
I'd lean towards "no" for now |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…e GIL is disabled (pythonGH-128425)
…e GIL is disabled (pythonGH-128425)
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.