diff options
author | Victor Stinner <vstinner@python.org> | 2021-06-21 11:15:40 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-21 11:15:40 (GMT) |
commit | d19163912bfc790283724f05328bd31e4e65003d (patch) | |
tree | ad8b66feb763211adee9f4b11d44c6c417266268 /Python | |
parent | fb68791a26e157ed3cdeb409c8d8b6cddc7535bd (diff) | |
download | cpython-d19163912bfc790283724f05328bd31e4e65003d.zip cpython-d19163912bfc790283724f05328bd31e4e65003d.tar.gz cpython-d19163912bfc790283724f05328bd31e4e65003d.tar.bz2 |
bpo-44466: Faulthandler now detects the GC (GH-26823)
The faulthandler module now detects if a fatal error occurs during a
garbage collector collection (only if all_threads is true).
Diffstat (limited to 'Python')
-rw-r--r-- | Python/traceback.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Python/traceback.c b/Python/traceback.c index 470324b1..f7dc5ad 100644 --- a/Python/traceback.c +++ b/Python/traceback.c @@ -4,6 +4,7 @@ #include "Python.h" #include "code.h" +#include "pycore_interp.h" // PyInterpreterState.gc #include "frameobject.h" // PyFrame_GetBack() #include "structmember.h" // PyMemberDef #include "osdefs.h" // SEP @@ -914,6 +915,9 @@ _Py_DumpTracebackThreads(int fd, PyInterpreterState *interp, break; } write_thread_id(fd, tstate, tstate == current_tstate); + if (tstate == current_tstate && tstate->interp->gc.collecting) { + PUTS(fd, " Garbage-collecting\n"); + } dump_traceback(fd, tstate, 0); tstate = PyThreadState_Next(tstate); nthreads++; |