Browse Source

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.
cypherpunks 8 years ago
parent
commit
0e20d056e9
1 changed files with 1 additions and 0 deletions
  1. 1 0
      src/test/test_bt.sh

+ 1 - 0
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="$?"