Skip to content

Commit 4fe80cf

Browse files
committed
Overcome ASAN false positive regression
The Memory Sanitizer is giving a false positive at the moment in `nightly`. Adding compiler flags resolves the issue. I didn't grok the exact root cause but this fixes it (cut'n'pasta from the issue [0]). [0] rust-lang/rust#107149
1 parent be94e6c commit 4fe80cf

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

contrib/test.sh

+5-5
Original file line numberDiff line numberDiff line change
@@ -76,13 +76,13 @@ fi
7676
if [ "$DO_ASAN" = true ]; then
7777
clang --version
7878
cargo clean
79-
CC='clang -fsanitize=address -fno-omit-frame-pointer' \
80-
RUSTFLAGS='-Zsanitizer=address -Clinker=clang -Cforce-frame-pointers=yes' \
81-
ASAN_OPTIONS='detect_leaks=1 detect_invalid_pointer_pairs=1 detect_stack_use_after_return=1' \
79+
CC='clang -fsanitize=address -fno-omit-frame-pointer' \
80+
RUSTFLAGS='-Zsanitizer=address -Clinker=clang -Cforce-frame-pointers=yes -Cllvm-args=-msan-eager-checks=0' \
81+
ASAN_OPTIONS='detect_leaks=1 detect_invalid_pointer_pairs=1 detect_stack_use_after_return=1' \
8282
cargo test --lib --all --features="$FEATURES" -Zbuild-std --target x86_64-unknown-linux-gnu
8383
cargo clean
84-
CC='clang -fsanitize=memory -fno-omit-frame-pointer' \
85-
RUSTFLAGS='-Zsanitizer=memory -Zsanitizer-memory-track-origins -Cforce-frame-pointers=yes' \
84+
CC='clang -fsanitize=memory -fno-omit-frame-pointer' \
85+
RUSTFLAGS='-Zsanitizer=memory -Zsanitizer-memory-track-origins -Cforce-frame-pointers=yes -Cllvm-args=-msan-eager-checks=0' \
8686
cargo test --lib --all --features="$FEATURES" -Zbuild-std --target x86_64-unknown-linux-gnu
8787
cargo run --release --manifest-path=./no_std_test/Cargo.toml | grep -q "Verified Successfully"
8888
cargo run --release --features=alloc --manifest-path=./no_std_test/Cargo.toml | grep -q "Verified alloc Successfully"

0 commit comments

Comments
 (0)