From: cypherpunks Date: Thu, 19 May 2016 13:09:31 +0000 (+0000) Subject: Prevent ASAN from registering a SIGSEGV handler X-Git-Tag: tor-0.2.9.1-alpha~220 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0e20d056e91b033239da0253346788bdba8098e9;p=thirdparty%2Ftor.git Prevent ASAN from registering a SIGSEGV handler AddressSanitizer's (ASAN) SIGSEGV handler overrides the backtrace handler and prevents it from printing its backtrace. The output of ASAN is different from what 'bt_test.py' expects and causes backtrace test failures. The 'allow_user_segv_handler' option allows applications to set their own SIGSEGV handler but is not supported by older GCC versions. These older GCC versions do support the 'handle_segv' which prevents ASAN from setting its SIGSEGV handler. --- diff --git a/src/test/test_bt.sh b/src/test/test_bt.sh index 83fa3ff24b..fe1781659d 100755 --- a/src/test/test_bt.sh +++ b/src/test/test_bt.sh @@ -3,6 +3,7 @@ exitcode=0 +export ASAN_OPTIONS="handle_segv=0:allow_user_segv_handler=1" "${builddir:-.}/src/test/test-bt-cl" backtraces || exit $? "${builddir:-.}/src/test/test-bt-cl" assert 2>&1 | "${PYTHON:-python}" "${abs_top_srcdir:-.}/src/test/bt_test.py" || exitcode="$?" "${builddir:-.}/src/test/test-bt-cl" crash 2>&1 | "${PYTHON:-python}" "${abs_top_srcdir:-.}/src/test/bt_test.py" || exitcode="$?"