File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -321,6 +321,10 @@ jobs:
321321 env :
322322 RUSTFLAGS : " -Z sanitizer=${{ matrix.sanitizer }}"
323323 RUSTDOCFLAGS : " -Z sanitizer=${{ matrix.sanitizer }}"
324+ # Keep source locations in sanitizer backtraces. The repository-wide
325+ # default is optimized for normal CI logs, but an unsymbolized LSan
326+ # report cannot identify the leaking test/helper.
327+ CARGO_PROFILE_DEV_DEBUG : 2
324328 # AddressSanitizer enables leak detection by default. Leak checks run in
325329 # the dedicated leak sanitizer job, where third-party suppressions are
326330 # applied explicitly.
@@ -329,6 +333,13 @@ jobs:
329333 TSAN_OPTIONS : " suppressions=${{ github.workspace }}/.github/tsan.supp"
330334 run : |
331335 set -o pipefail
336+ sanitizer_sysroot="$(rustc +${SANITIZER_TOOLCHAIN} --print sysroot)"
337+ rust_llvm_symbolizer="$sanitizer_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/bin/llvm-symbolizer"
338+ if [[ -x "$rust_llvm_symbolizer" ]]; then
339+ export ASAN_SYMBOLIZER_PATH="$rust_llvm_symbolizer"
340+ elif command -v llvm-symbolizer >/dev/null 2>&1; then
341+ export ASAN_SYMBOLIZER_PATH="$(command -v llvm-symbolizer)"
342+ fi
332343 if [[ "${{ matrix.sanitizer }}" == "leak" || "${{ matrix.sanitizer }}" == "thread" ]]; then
333344 # RocksDB/libstdc++ trigger sanitizer reports and timing instability
334345 # in storage integration test binaries. The net crate's end-to-end
You can’t perform that action at this time.
0 commit comments