| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
| { | ||
| return 0; | ||
| } | ||
| if (tstate->interp->gc.collecting) |
There was a problem hiding this comment.
The gc.collecting field doesn't necessarily imply that all threads are paused:
You 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 a problem hiding this comment.
I'm not fully convinced that this is worth the extra complexity or the extra chance of crashing during the faulthandler:
Sorry, something went wrong.
There was a problem hiding this comment.
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.
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.
|
I'll deal with Py_FatalError in a follow-up (after this gets merged to prevent conflicts). |
Sorry, something went wrong.
There was a problem hiding this comment.
Looks good. Some minor formatting suggestions below
Sorry, something went wrong.
Co-authored-by: Sam Gross <colesbury@gmail.com>
Co-authored-by: Sam Gross <colesbury@gmail.com>
|
ASan failure looks unrelated. |
Sorry, something went wrong.
There was a problem hiding this comment.
Thanks!
Sorry, something went wrong.
I'd lean towards "no" for now |
Sorry, something went wrong.
…e GIL is disabled (pythonGH-128425)
…e GIL is disabled (pythonGH-128425)
| Back | FazBrowse Home | New Git URL |
A few notes here:
📚 Documentation preview 📚: https://cpython-previews--128425.org.readthedocs.build/