Skip to content

ci(fuzz): tolerate Go's spurious -fuzztime deadline failure - #14

Merged
boeboe merged 1 commit into
mainfrom
ci/fuzz-deadline-workaround
Nov 4, 2026
Merged

boeboe merged 1 commit into
mainfrom
ci/fuzz-deadline-workaround

Conversation

@boeboe

@boeboe boeboe commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

Why

Nightly run 41809809603 failed FuzzDecodeDR with context deadline exceeded at exactly the 5m -fuzztime mark:

  • the exec rate was steady at ~58k/s to the end;
  • no failing input was written.

This is the Go toolchain bug golang/go#75804, fixed for Go 1.28. The run used Go 1.26.10, and the four earlier nightlies passed.

What

  • make fuzz now runs scripts/fuzz.sh. It runs the same per-target loop, but a target that fails with context deadline exceeded and wrote no failing input (Failing input written to) counts as a pass, with a notice.
  • Any other failure still fails the run, including a crasher that also prints the deadline message.
  • TESTING.md documents the workaround and says to remove it once the minimum Go version is 1.28.

Fuzzing stays on; other projects disabled it instead (e.g. sigstore/rekor#2867).

Verified

  • make fuzz FUZZTIME=1s: all 23 targets pass through the script.
  • A fake go checked each outcome:
    • clean run → 0
    • spurious deadline → 0
    • deadline plus failing input → 1
    • panic → 1
  • make check green.

🤖 Generated with Claude Code

The 2026-11-04 nightly failed FuzzDecodeDR with "context deadline
exceeded" at the 5m -fuzztime mark, at a steady exec rate and with no
failing input written: golang/go#75804, fixed for Go 1.28. make fuzz
now runs scripts/fuzz.sh, which treats exactly that result as a pass and
still fails on a written failing input or any other failure.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@codecov

codecov Bot commented Nov 4, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@boeboe
boeboe merged commit c31542b into main Nov 4, 2026
23 checks passed
@boeboe
boeboe deleted the ci/fuzz-deadline-workaround branch November 4, 2026 18:47
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