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
  1. jonatack commented at 10:41 AM on May 25, 2021: member

    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.

  2. fanquake added the label Docs on May 25, 2021
  3. 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.

  4. 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 coverage
    
  5. MarcoFalke approved
  6. MarcoFalke commented at 12:30 PM on May 25, 2021: member

    ACK

  7. jonatack force-pushed on May 25, 2021
  8. in 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"?

  9. MarcoFalke approved
  10. MarcoFalke commented at 12:54 PM on May 25, 2021: member

    ACK

    (unrelated suggestion: Could move the section header "fuzzing corpora" to the line before "The project's collection of seed corpo...")

  11. jonatack commented at 12:58 PM on May 25, 2021: member

    How 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.
    
    
  12. jonatack force-pushed on May 25, 2021
  13. doc: describe in fuzzing.md how to reproduce a CI crash
    and add/improve a few headers
    d8f1ea7227
  14. jonatack force-pushed on May 25, 2021
  15. jonatack 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)
  16. practicalswift commented at 7:33 PM on May 25, 2021: contributor

    Concept ACK

    Thanks for documenting this!

    Will review.

  17. practicalswift commented at 8:58 PM on May 25, 2021: contributor

    ACK d8f1ea7227260e51c340271fc9a43866799b8ac4

  18. MarcoFalke merged this on May 26, 2021
  19. MarcoFalke closed this on May 26, 2021

  20. jonatack deleted the branch on May 26, 2021
  21. sidhujag referenced this in commit c133319bb7 on May 27, 2021
  22. gwillen referenced this in commit 2d90d5eaa9 on Jun 1, 2022
  23. DrahtBot locked this on Aug 16, 2022

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 site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me