Delete nonreduced fuzz inputs #221

pull maflcko wants to merge 4 commits into bitcoin-core:main from maflcko:main changing 0 files +0 −0
  1. maflcko commented at 5:05 pm on March 25, 2025: contributor

    As per the usual process to avoid wasted CI resources and timeouts when CI runs on large and presumed irrelevant inputs.

    Normally, deletion of non-reduced fuzz inputs should happen after feature-freeze on the master Bitcoin Core branch, but before branch-off, so that the latest release branch retains mostly valid fuzz inputs.

    Previous: #204

    To “reproduce”

    Install a fresh VM, as explained in the bash script’s doc, and run it:

    0apt update && apt install curl -y
    1curl -L -O https://raw.githubusercontent.com/bitcoin-core/bitcoin-maintainer-tools/main/delete_nonreduced_fuzz_inputs.sh
    2bash delete_nonreduced_fuzz_inputs.sh
    

    To “test”

    • Keep an eye on coverage stats, to ensure it doesn’t drop
    • Re-run the script, to ensure it is “reproducible” to some extent
    • Anything else you think is important to test or review

    CI

    CI should pass, except for a lint failure, which should light up on any changes like this pull request, which delete fuzz inputs.

  2. Delete fuzz inputs 20e827ca2f
  3. Reduced inputs for afl-cmin e3b4a1493c
  4. Reduced inputs for fuzzer 518a3d8283
  5. Reduced inputs for fuzzer,address,undefined,integer 2b825cd506
  6. maflcko commented at 5:12 pm on March 25, 2025: contributor

    Storage device usage (du -sh ./fuzz_corpora/)

    5.8G -> 2.7G

    Determinism

    • ~125k fuzz input files deleted
    0git diff --stat origin/main..2b825cd506de7403c69ecf3e8a6f495b8dc1dcad | tail -1
    1 125400 files changed
    
    • Cross-diff with a second run of the script: 4k fuzz input files
    0git -c diff.renameLimit=2007 diff --stat HEAD..2b825cd506de7403c69ecf3e8a6f495b8dc1dcad | tail -1 
    1 3737 files changed
    

    Coverage

  7. maflcko commented at 6:57 pm on March 25, 2025: contributor
  8. maflcko commented at 7:02 pm on March 25, 2025: contributor
    Though, the cross-diff is at a historic low, so the result is one of the most deterministic ones (so far)
  9. maflcko commented at 8:51 am on March 26, 2025: contributor
    This is ready for review, now that CI passed, except for the expected ’lint’ failure.
  10. marcofleon commented at 5:39 pm on March 26, 2025: contributor
    Reviewing this now. About how long is the script expected to take?
  11. maflcko commented at 7:12 am on March 27, 2025: contributor
    Looking at the commit timestamps, it took around 4 hours, but it could be more or less, depending on your compute, memory and storage.
  12. marcofleon commented at 3:12 pm on March 27, 2025: contributor

    Original: https://marcofleon.github.io/coverage/original_fuzz_corpora/ Reduced: https://marcofleon.github.io/coverage/reduced_fuzz_corpora/

    Both coverage reports generated on the most commit in master. Looks generally good to me, there was a little drop in function coverage (e.g. chain.cpp, hash.cpp, rpc/server.cpp) but must just be some instability.

    Corpora went from 5.7G to 2.7G.

  13. dergoegge merged this on Mar 27, 2025
  14. dergoegge closed this on Mar 27, 2025


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/qa-assets. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-04-18 18:25 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me