Skip to content

fix(ci): pin nightly fuzz to x86_64-unknown-linux-gnu#39

Open
avrabe wants to merge 1 commit into
mainfrom
fix/nightly-fuzz-musl-target
Open

fix(ci): pin nightly fuzz to x86_64-unknown-linux-gnu#39
avrabe wants to merge 1 commit into
mainfrom
fix/nightly-fuzz-musl-target

Conversation

@avrabe
Copy link
Copy Markdown
Contributor

@avrabe avrabe commented May 9, 2026

Summary

Nightly has been red every night since 2026-05-04 — all 12 fuzz-long matrix targets failing with:

```
error: sanitizer is incompatible with statically linked libc,
disable it using `-C target-feature=-crt-static`
error[E0463]: can't find crate for `core`
note: the `x86_64-unknown-linux-musl` target may not be installed
```

Root cause. `cargo fuzz` defaults to `x86_64-unknown-linux-musl` on Linux. libfuzzer-sys enables `-Zsanitizer=address` by default. ASan + statically-linked musl libc are incompatible.

Why now. Workflow added in `894c98e` (PR #21, 2026-04-24). Same-day follow-up `1d7723a` fixed fuzz-smoke.yml by pinning `--target x86_64-unknown-linux-gnu` but missed nightly.yml. Cron only fires at 03:00 UTC, so the regression silently sailed past until the first scheduled run on 2026-05-04 — 10 days unnoticed.

Fix. Mirror the proven `fuzz-smoke.yml` pattern. One-line change.

PR #35 (smithy-migration) is orthogonal — its diff only touches `fuzz-smoke.yml` + `sanitizers.yml`; this regression would persist after #35 lands.

Test plan

  • Manual dispatch of the Nightly workflow on this branch (`gh workflow run nightly.yml --ref fix/nightly-fuzz-musl-target`) to confirm the targeted-gnu build proceeds at least past the failing rustc step.
  • Wait for the next scheduled nightly run after merge to confirm green.

🤖 Generated with Claude Code

cargo-fuzz defaults to x86_64-unknown-linux-musl on Linux; libfuzzer-sys
enables -Zsanitizer=address by default, and rustc rejects ASan with a
statically-linked musl libc:

  error: sanitizer is incompatible with statically linked libc,
         disable it using `-C target-feature=-crt-static`
  error[E0463]: can't find crate for `core`

All 12 fuzz-long targets in nightly.yml have been failing with this since
the workflow was added on 2026-04-24. The same-day follow-up 1d7723a fixed
fuzz-smoke.yml with `--target x86_64-unknown-linux-gnu` but missed this
file; cron didn't fire until the first scheduled run on 2026-05-04, so the
breakage went unnoticed for 10 days.

Mirror the proven fix from fuzz-smoke.yml. Single-line change. No -Z
build-std rebuild cost; no clobbering of RUSTFLAGS that libfuzzer-sys
also writes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@codecov
Copy link
Copy Markdown

codecov Bot commented May 9, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant