ci: fix deep-fuzz workflow (engine-arg parsing + nightly toolchain)#75
Merged
Conversation
The deep-fuzz nightly failed on every target with 'Found argument -m which wasn't expected'. cargo-bolero 0.13.4's clap parser reads the engine-arg value '-max_total_time=120' (leading dash) as bundled short flags unless it is attached to -E with '='. Fix: '-E=-max_total_time=...'. Also pin cargo-bolero to the same 0.13.x series as the bolero lib so a --force install can't pull an incompatible CLI. Verified: '-E=-max_total_time=5' parses cleanly (0.13.4) where '-E -max_total_time=5' reproduces the CI error. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
After fixing the engine-arg parsing, the build failed with '-Z is only accepted on the nightly compiler': the repo's rust-toolchain.toml pins stable 1.95.0, which shadows the nightly the workflow installs, so -Zsanitizer=address is rejected. Set RUSTUP_TOOLCHAIN=nightly on the fuzz step (outranks rust-toolchain.toml). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The scheduled
deep-fuzzworkflow had been failing on every target — it never actually fuzzed. Two independent bugs, both fixed here:cargo bolero test … -E -max_total_time=120— cargo-bolero 0.13.4's clap parser reads the value-max_total_time(leading dash) as bundled short flags and rejects-m(error: Found argument '-m' which wasn't expected). Fix: attach the value to-Ewith=→-E=-max_total_time=120. Also pin cargo-bolero to thebolerolib's0.13.xseries so a--forceinstall can't pull a future release with an incompatible CLI.the option 'Z' is only accepted on the nightly compiler: the repo'srust-toolchain.tomlpins stable 1.95.0, which shadows the nightly the workflow installs, so-Zsanitizer=addresswas rejected. Fix: setRUSTUP_TOOLCHAIN: nightlyon the fuzz step (outranksrust-toolchain.toml).Verification (real CI,
workflow_dispatchon this branch, 30s/target)matter_from_qb64) now correctly surfaced a real parser panic (libFuzzer: deadly signal, input5BAA) — i.e. the workflow is working as intended. That parser bug (matter/builder.rsslice-OOB on malformed qb64) is a pre-existingmaindefect being fixed separately in feat(#69)!: type-unified, composable signature verification #72/refactor(#33)!: replace terrors::OneOf with domain error enums #74's error-refactor branch — it is not a workflow defect and does not block this PR.Note:
deep-fuzzisschedule+workflow_dispatchonly, so it does not run on PR pushes and won't gate this PR's checks.Test plan
actionlintclean (pre-commit hook + gate)nix flake checkgreen (pre-push hook)workflow_dispatchrun on this branch: 12/13 targets pass; the 1 failure is a genuine fuzz-found parser bug, tracked separately🤖 Generated with Claude Code