[3.15] gh-151278: Fix test_faulthandler on UBSan (GH-151279) (#151281)

gh-151278: Fix test_faulthandler on UBSan (GH-151279)

* Py_FatalError() no longer calls _PyFaulthandler_Fini() if it
  doesn't hold the GIL.
* Skip test_faulthandler tests raising signals if run with UBSan.
* Enable test_faulthandler in GitHub Action "Reusable Sanitizer".
(cherry picked from commit e60c42dc3f)

Co-authored-by: Victor Stinner <vstinner@python.org>
This commit is contained in:
Miss Islington (bot)
2026-06-10 22:07:07 +02:00
committed by GitHub
parent 10f616cf39
commit e8d914fd49
3 changed files with 14 additions and 7 deletions
+3 -1
View File
@@ -3724,7 +3724,9 @@ fatal_error(int fd, int header, const char *prefix, const char *msg,
This function already did its best to display a traceback.
Disable faulthandler to prevent writing a second traceback
on abort(). */
_PyFaulthandler_Fini();
if (has_tstate_and_gil) {
_PyFaulthandler_Fini();
}
/* Check if the current Python thread hold the GIL */
if (has_tstate_and_gil) {