-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
bugSomething isn't workingSomething isn't workingchoreMaintenance, CI/CD, toolingMaintenance, CI/CD, toolingciCI/CD pipeline issuesCI/CD pipeline issuesrustRust crate (cachekit-core)Rust crate (cachekit-core)
Description
Summary
The ThreadSanitizer (TSan) job fails because Rust 1.92.0 now enforces sanitizer ABI mismatch checks. TSan requires the standard library to be built with sanitizer support.
Error
error: mixing `-Zsanitizer` will cause an ABI mismatch in crate `cfg_if`
|
= help: the `-Zsanitizer` flag modifies the ABI so Rust crates compiled with
different values of this flag cannot be used together safely
= note: `-Zsanitizer=thread` in this crate is incompatible with unset
`-Zsanitizer` in dependency `core`
= help: unset `-Zsanitizer` in this crate or set `-Zsanitizer=thread` in `core`
Root Cause
Rust 1.92.0 (released 2025-12-08) introduced stricter ABI mismatch detection. When using -Zsanitizer=thread, the standard library must also be compiled with the same sanitizer flag.
Failed Run
https://github.com/cachekit-io/cachekit-py/actions/runs/20219774104
Fix
Use -Zbuild-std to rebuild the standard library with TSan support:
- name: Run ThreadSanitizer
env:
RUSTFLAGS: "-Zsanitizer=thread"
run: |
cargo +nightly test -Zbuild-std --target x86_64-unknown-linux-gnu \
--manifest-path rust/Cargo.tomlNote: This requires nightly Rust and rust-src component:
- uses: dtolnay/rust-toolchain@nightly
with:
components: rust-srcAlternative
If -Zbuild-std is too slow/complex for CI, consider:
- Skip TSan until pre-built sanitizer-enabled std is available
- Use ASan/MSan only (which apparently still work without
-Zbuild-std) - Allow ABI mismatch with
-Cunsafe-allow-abi-mismatch=sanitizer(not recommended)
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingchoreMaintenance, CI/CD, toolingMaintenance, CI/CD, toolingciCI/CD pipeline issuesCI/CD pipeline issuesrustRust crate (cachekit-core)Rust crate (cachekit-core)