Human-readable ASAN stack traces CI

Show file names, line numbers and function names in ASAN stack traces
(instead of object file + raw memory address).
This commit is contained in:
Johannes Altmanninger 2024-01-12 09:22:01 +01:00
parent 537e3cb9e1
commit 6ab74c6b09

View file

@ -115,7 +115,10 @@ jobs:
# UPDATE: this can cause spurious leak reports for __cxa_thread_atexit_impl() under glibc. # UPDATE: this can cause spurious leak reports for __cxa_thread_atexit_impl() under glibc.
LSAN_OPTIONS: verbosity=0:log_threads=0:use_tls=1:print_suppressions=0 LSAN_OPTIONS: verbosity=0:log_threads=0:use_tls=1:print_suppressions=0
run: | run: |
env LSAN_OPTIONS="$LSAN_OPTIONS:suppressions=$PWD/build_tools/lsan_suppressions.txt" make test llvm_version=$(clang --version | awk 'NR==1 { split($NF, version, "."); print version[1] }')
export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer-$llvm_version
export LSAN_OPTIONS="$LSAN_OPTIONS:suppressions=$PWD/build_tools/lsan_suppressions.txt"
make test
# Our clang++ tsan builds are not recognizing safe rust patterns (such as the fact that Drop # Our clang++ tsan builds are not recognizing safe rust patterns (such as the fact that Drop
# cannot be called while a thread is using the object in question). Rust has its own way of # cannot be called while a thread is using the object in question). Rust has its own way of