STINNER Victor <[email protected]> added the comment:
> Both sound reasonable. But not sure if they will resolve this crash tough.
Many tests do crash *on purpose*. Example on test_concurrent_futures.py:
def _crash(delay=None):
"""Induces a segfault."""
if delay:
time.sleep(delay)
import faulthandler
faulthandler.disable()
faulthandler._sigsegv()
Internally, faulthandler._sigsegv() disables crash reports.
There is also test.support.SuppressCrashReport context manager to disable crash
reports. But I failed to find a way to disable ASAN signal handler at runtime.
It's possible to disable the ASAN signal handler at runtime using
signal.signal(SIGSEGV, signal.SIG_DFT), but that should be done before Python
installs its own signal handler for that, like before calling
faulthandler.enable(). It would require to inject code in test_faulthandler to
restore the default handler *before* calling faulthandler.enable(). Right now,
test_faulthandler is skipped on the ASAN buildbots.
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue42985>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com