This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients orsenthil, pablogsal, vstinner
Date 2021-01-22.00:24:37
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1611275077.62.0.97575015519.issue42985@roundup.psfhosted.org>
In-reply-to
Content
> 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.
History
Date User Action Args
2021-01-22 00:24:37vstinnersetrecipients: + vstinner, orsenthil, pablogsal
2021-01-22 00:24:37vstinnersetmessageid: <1611275077.62.0.97575015519.issue42985@roundup.psfhosted.org>
2021-01-22 00:24:37vstinnerlinkissue42985 messages
2021-01-22 00:24:37vstinnercreate