Skip to content

Track restoring real rust-runtime TSan coverage in nightly sanitizers #766

@slepp

Description

@slepp

Summary

PR #765 made rust-runtime-tsan advisory because we do not currently have a clean repo-side way to run ThreadSanitizer against hew-runtime. We should restore real blocking TSan coverage once the underlying Rust/Cargo sanitizer + -Zbuild-std debt is resolved.

Current state

  • rust-runtime-tsan in .github/workflows/nightly-sanitizers.yml is now advisory/non-blocking.
  • docs/release-runbook.md documents the waiver and the re-evaluation trigger.
  • This is not currently treated as a v0.3.0 release blocker.

What we learned

  • Nightly run 23996664465 fails because cargo +nightly test with -Zsanitizer=thread is effectively building against an unsanitized/prebuilt sysroot.
  • Without -Zbuild-std, we hit mixed-instrumentation / ABI-mismatch failures against core / compiler_builtins.
  • With -Zbuild-std, current toolchains still hit duplicate core / alloc lang-item failures and panic-strategy issues.
  • -Cunsafe-allow-abi-mismatch=sanitizer is not an acceptable workaround because it suppresses the safety guard and still leaves the sysroot story incorrect.

Desired outcome

  • Re-enable a real rust-runtime-tsan lane without continue-on-error.
  • Do it without unsafe ABI-mismatch flags.
  • Remove the waiver from the workflow and release docs when the toolchain path is viable again.

Acceptance criteria

  • A clean end-to-end rust-runtime-tsan run exists in .github/workflows/nightly-sanitizers.yml.
  • The advisory wording / continue-on-error can be removed.
  • docs/release-runbook.md is updated to drop the waiver.
  • Any required upstream issue links or toolchain pinning are documented in the workflow comment or this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions