Not sure if this is 100% accurate or missing any pertinent info, but I misremembered how to do this today and it seems like useful information to provide.
doc: describe in fuzzing.md how to reproduce a CI crash #22056
pull jonatack wants to merge 1 commits into bitcoin:master from jonatack:fuzzing-doc-describe-how-to-reproduce-ci-crash changing 1 files +17 −1-
jonatack commented at 10:41 AM on May 25, 2021: member
- fanquake added the label Docs on May 25, 2021
-
laanwj commented at 12:00 PM on May 25, 2021: member
Concept ACK, this is definitely required information if we keep running the fuzz corpus in CI.
-
in doc/fuzzing.md:84 in 8c0d7d577c outdated
80 | @@ -81,6 +81,15 @@ INFO: seed corpus: files: 991 min: 1b max: 1858b total: 288291b rss: 150Mb 81 | … 82 | ``` 83 | 84 | +To reproduce a fuzzer crash found by the CI:
MarcoFalke commented at 12:29 PM on May 25, 2021:## Reproduce a fuzzer crash found by the CI
jonatack commented at 12:48 PM on May 25, 2021:done
-To reproduce a fuzzer crash found by the CI: +## Reproduce a fuzzer crash found by the CI - `cd` into the `qa-assets` directory and update it with `git pull qa-assets` - locate the crash case described in the CI output, e.g. `Test unit written to @@ -90,6 +90,8 @@ To reproduce a fuzzer crash found by the CI: `FUZZ=process_message src/test/fuzz/fuzz qa-assets/fuzz_seed_corpus/process_message/1bc91feec9fc00b107d97dc225a9f2cdaa078eb6` +## Submit improved coverageMarcoFalke approvedMarcoFalke commented at 12:30 PM on May 25, 2021: memberACK
jonatack force-pushed on May 25, 2021in doc/fuzzing.md:84 in 86f7f22dba outdated
80 | @@ -81,6 +81,17 @@ INFO: seed corpus: files: 991 min: 1b max: 1858b total: 288291b rss: 150Mb 81 | … 82 | ``` 83 | 84 | +## Reproduce a fuzzer crash found by the CI
MarcoFalke commented at 12:52 PM on May 25, 2021:After a private discussion. "found" might confuse some readers, as the CI currently does not search for new inputs. It is repeating the existing test inputs like the unit tests.
jonatack commented at 12:56 PM on May 25, 2021:I hesitated on "found" as well..."reported"?
MarcoFalke approvedMarcoFalke commented at 12:54 PM on May 25, 2021: memberACK
(unrelated suggestion: Could move the section header "fuzzing corpora" to the line before "The project's collection of seed corpo...")
jonatack commented at 12:58 PM on May 25, 2021: memberHow about
-## Fuzzing harnesses, fuzzing output and fuzzing corpora +## Fuzzing harnesses and output [`process_message`](https://github.com/bitcoin/bitcoin/blob/master/src/test/fuzz/process_message.cpp) is a fuzzing harness for the [`ProcessMessage(...)` function (`net_processing`)](https://github.com/bitcoin/bitcoin/blob/master/src/net_processing.cpp). The available fuzzing harnesses are found in [`src/test/fuzz/`](https://github.com/bitcoin/bitcoin/tree/master/src/test/fuzz). @@ -64,6 +64,8 @@ block^@M-^?M-^?M-^?M-^?M-^?nM-^?M-^? In this case the fuzzer managed to create a `block` message which when passed to `ProcessMessage(...)` increased coverage. +## Fuzzing corpora + The project's collection of seed corpora is found in the [`bitcoin-core/qa-assets`](https://github.com/bitcoin-core/qa-assets) repo.jonatack force-pushed on May 25, 2021d8f1ea7227doc: describe in fuzzing.md how to reproduce a CI crash
and add/improve a few headers
jonatack force-pushed on May 25, 2021jonatack commented at 1:21 PM on May 25, 2021: member@MarcoFalke I added a bullet point from your IRC comment.
- make sure to compile with all sanitizers, if they are needed (fuzzing runs more slowly with sanitizers enabled, but a crash should be reproducible very quickly from a crash case)
practicalswift commented at 7:33 PM on May 25, 2021: contributorConcept ACK
Thanks for documenting this!
Will review.
practicalswift commented at 8:58 PM on May 25, 2021: contributorACK d8f1ea7227260e51c340271fc9a43866799b8ac4
MarcoFalke merged this on May 26, 2021MarcoFalke closed this on May 26, 2021jonatack deleted the branch on May 26, 2021sidhujag referenced this in commit c133319bb7 on May 27, 2021gwillen referenced this in commit 2d90d5eaa9 on Jun 1, 2022DrahtBot locked this on Aug 16, 2022ContributorsLabels
github-metadata-mirror
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-14 21:14 UTC
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-14 21:14 UTC
This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me
More mirrored repositories can be found on mirror.b10c.me