-
Notifications
You must be signed in to change notification settings - Fork 13.8k
Open
Labels
A-sanitizersArea: Sanitizers for correctness and code qualityArea: Sanitizers for correctness and code qualityC-bugCategory: This is a bug.Category: This is a bug.O-AArch64Armv8-A or later processors in AArch64 modeArmv8-A or later processors in AArch64 modeneeds-triageThis issue may need triage. Remove it if it has been sufficiently triaged.This issue may need triage. Remove it if it has been sufficiently triaged.
Description
I tried to build my project with address sanitizer. But it fails during compilation. I have reduced it to a single dependency example.
The code is here:
https://github.com/NickeZ/rust-crypto-utils/blob/asan-bug-repro/zeroize/examples/user.rs
Build it like this:
RUSTFLAGS=-Zsanitizer=address cargo build -Zbuild-std --example user --release --all-features
I get the following error message:
$ RUSTFLAGS=-Zsanitizer=address cargo build -Zbuild-std --example user --release --all-features
Compiling proc-macro2 v1.0.80
Compiling unicode-ident v1.0.12
Compiling serde v1.0.197
Compiling quote v1.0.35
Compiling syn v2.0.59
Compiling zeroize_derive v1.4.2 (/Users/niklasdusenlund/projects/niklas/utils/zeroize_derive)
Compiling zeroize v1.8.1 (/Users/niklasdusenlund/projects/niklas/utils/zeroize)
==49331==ERROR: Interceptors are not working. This may be because AddressSanitizer is loaded too late (e.g. via dlopen). Please launch the executable with:
DYLD_INSERT_LIBRARIES=/Users/niklasdusenlund/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/lib/librustc-nightly_rt.asan.dylib
"interceptors not installed" && 0
error: could not compile `zeroize` (lib)
Caused by:
process didn't exit successfully: `/Users/niklasdusenlund/.rustup/toolchains/nightly-aarch64-apple-darwin/bin/rustc --crate-name zeroize --edition=2021 zeroize/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=362 --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="aarch64"' --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="serde"' --cfg 'feature="simd"' --cfg 'feature="std"' --cfg 'feature="zeroize_derive"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("aarch64", "alloc", "default", "derive", "serde", "simd", "std", "zeroize_derive"))' -C metadata=5acf091688190a6f -C extra-filename=-9e0bd4a7bb5aa069 --out-dir /Users/niklasdusenlund/projects/niklas/utils/target/release/deps -C strip=debuginfo -L dependency=/Users/niklasdusenlund/projects/niklas/utils/target/release/deps --extern 'noprelude:alloc=/Users/niklasdusenlund/projects/niklas/utils/target/release/deps/liballoc-029ead176416b385.rmeta' --extern 'noprelude:compiler_builtins=/Users/niklasdusenlund/projects/niklas/utils/target/release/deps/libcompiler_builtins-533a23172473f48c.rmeta' --extern 'noprelude:core=/Users/niklasdusenlund/projects/niklas/utils/target/release/deps/libcore-904393f36cca07a7.rmeta' --extern 'noprelude:panic_unwind=/Users/niklasdusenlund/projects/niklas/utils/target/release/deps/libpanic_unwind-e3b8f964641dc917.rmeta' --extern 'noprelude:proc_macro=/Users/niklasdusenlund/projects/niklas/utils/target/release/deps/libproc_macro-bfc448f60f4dd39a.rmeta' --extern serde=/Users/niklasdusenlund/projects/niklas/utils/target/release/deps/libserde-22b5716bcaf394ec.rmeta --extern 'noprelude:std=/Users/niklasdusenlund/projects/niklas/utils/target/release/deps/libstd-b7dda9e17692af7a.rmeta' --extern zeroize_derive=/Users/niklasdusenlund/projects/niklas/utils/target/release/deps/libzeroize_derive-9b119d6a78dd6de9.dylib -Z unstable-options -Zsanitizer=address` (signal: 6, SIGABRT: process abort signal)
If I remove --all-features
it builds and works. I assume this is because the derive
feature is a macro that is loaded by rustc?
Metadata
Metadata
Assignees
Labels
A-sanitizersArea: Sanitizers for correctness and code qualityArea: Sanitizers for correctness and code qualityC-bugCategory: This is a bug.Category: This is a bug.O-AArch64Armv8-A or later processors in AArch64 modeArmv8-A or later processors in AArch64 modeneeds-triageThis issue may need triage. Remove it if it has been sufficiently triaged.This issue may need triage. Remove it if it has been sufficiently triaged.