[tor-commits] [tor/master] Prevent ASAN from registering a SIGSEGV handler

nickm at torproject.org nickm at torproject.org
Fri May 20 12:36:24 UTC 2016


commit 0e20d056e91b033239da0253346788bdba8098e9
Author: cypherpunks <cypherpunks at torproject.org>
Date:   Thu May 19 13:09:31 2016 +0000

    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.
---
 src/test/test_bt.sh | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/test/test_bt.sh b/src/test/test_bt.sh
index 83fa3ff..fe17816 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="$?"





More information about the tor-commits mailing list