aboutsummaryrefslogtreecommitdiff
path: root/src/test/test_bt.sh
diff options
context:
space:
mode:
authorcypherpunks <cypherpunks@torproject.org>2016-05-19 13:09:31 +0000
committerNick Mathewson <nickm@torproject.org>2016-05-20 08:34:18 -0400
commit0e20d056e91b033239da0253346788bdba8098e9 (patch)
treeb68dfa2c803c103c69e3fe86f125bdd0dbe59d3a /src/test/test_bt.sh
parent22eed6dec2fa223213393fba470533d4d87dd8d1 (diff)
downloadtor-0e20d056e91b033239da0253346788bdba8098e9.tar.gz
tor-0e20d056e91b033239da0253346788bdba8098e9.zip
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.
Diffstat (limited to 'src/test/test_bt.sh')
-rwxr-xr-xsrc/test/test_bt.sh1
1 files changed, 1 insertions, 0 deletions
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="$?"