Message385459
> 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. |
|
Date |
User |
Action |
Args |
2021-01-22 00:24:37 | vstinner | set | recipients:
+ vstinner, orsenthil, pablogsal |
2021-01-22 00:24:37 | vstinner | set | messageid: <1611275077.62.0.97575015519.issue42985@roundup.psfhosted.org> |
2021-01-22 00:24:37 | vstinner | link | issue42985 messages |
2021-01-22 00:24:37 | vstinner | create | |
|