Add Murch’s inputs 2024-12 #214

pull murchandamus wants to merge 1 commits into bitcoin-core:main from murchandamus:2024-12-Murchs-inputs changing 0 files +0 −0
  1. murchandamus commented at 2:45 pm on December 10, 2024: contributor
    Usual procedure of moving aside the upstream directory, creating new merge_set, and restoring the upstream. Did a bunch of targeted fuzzing on the clusterlin targets and new fuzz targets.
  2. murchandamus commented at 2:49 pm on December 10, 2024: contributor
    This seems to have too many files. [o.0] Will investigate in a few hours.
  3. maflcko commented at 4:17 pm on December 10, 2024: contributor

    Number of files seems fine, but the size is doubling the repo?

    0du -sh ./fuzz_corpora/
    14.5G	./fuzz_corpora/
    

    Could be valid, but to double-check, what were your commands? For my own pulls, I add the commands to the description, like: https://github.com/bitcoin-core/qa-assets/pull/202

  4. murchandamus commented at 7:25 pm on December 10, 2024: contributor

    Mh, I’m running another merge. If I get a similar result, I’ll be mollified.

    I use the same commands as you:

    1. Pull the latest Bitcoin Core

      0cd ~/Workspace/qa-merge
      1git pull upstream/main
      2git reset --hard upstream/main
      
    2. Build the merge setup

      0cd ~/Workspace/qa-merge
      1cmake --build build_fuzz -j 20
      
    3. Enable suppressions

      0cd ~/Workspace/qa-merge
      1export UBSAN_OPTIONS=suppressions=test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:report_error_type=1
      
    4. Check out new branch in other window

      0cd ~/Workspace/qa-assets
      1git checkout -b "202y-mm-murch-inputs"
      
    5. Move upstream fuzz inputs aside

      0cd ~/Workspace/qa-assets
      1mv fuzz_corpora upstream_corpora
      
    6. Merge the active fuzzing corpora and old corpora into new corpora

      0cd ~/Workspace/qa-merge
      1build_fuzz/test/fuzz/test_runner.py -l DEBUG --par 3 --m_dir ../qa-assets-active-fuzzing/fuzz_corpora/ --m_dir ../qa-assets/upstream_corpora/ ../qa-assets/fuzz_corpora/
      
    7. Restore the upstream inputs

      0cd ~/Workspace/qa-assets
      1git restore -- ./fuzz_corpora
      
    8. Commit and push

      0cd ~/Workspace/qa-assets
      1git commit -m "Add Murch’s inputs MONTH YYYY"
      
  5. maflcko commented at 1:34 pm on December 11, 2024: contributor

    Mh, I’m running another merge. If I get a similar result, I’ll be mollified.

    Ok, let us know how it went. In any case, I think you can drop the wallet_notification fuzz inputs, as this is the reason for the CI timeout.

  6. Add Murch’s inputs 2024-12 20dd55d302
  7. murchandamus force-pushed on Dec 11, 2024
  8. murchandamus commented at 4:30 pm on December 11, 2024: contributor
    Did another merge as described with the above instructions. Dropped my additions to wallet_notifications. I got 54k new inputs, vs 57k before, so that roughly checks out.
  9. maflcko commented at 7:18 pm on December 11, 2024: contributor
    I guess it is plausible that for almost every fuzz input you found a slightly smaller one, which is then selected for inclusion
  10. maflcko commented at 8:24 pm on December 11, 2024: contributor

    Locally I am also getting a smaller result, when merging your branch into a new folder. However, that could just be instrumentation differences.

    Happy to merge this, but out of interest, I wonder how many files you had before the merge.

  11. murchandamus commented at 8:37 pm on December 11, 2024: contributor

    I deleted some of the older folders already, but the remainder of my active fuzzing corpora has over 2.2 million inputs. I fuzz with 28 processes in parallel, of which I have limited the max_len in seven of them:

     0    # Run some threads without sanitizers and limited length to foster reduced length seeds
     1    FUZZ=$(basename $i) build_fuzz/src/test/fuzz/fuzz -fork=1 -use_value_profile=1 -reload=1 -max_total_time=3600 -max_len=32 $i & \
     2    FUZZ=$(basename $i) build_fuzz/src/test/fuzz/fuzz -fork=1 -use_value_profile=1 -reload=1 -max_total_time=3600 -max_len=96 $i & \
     3    FUZZ=$(basename $i) build_fuzz/src/test/fuzz/fuzz -fork=1 -reload=1 -max_total_time=3600 -max_len=96 $i & \
     4    FUZZ=$(basename $i) build_fuzz/src/test/fuzz/fuzz -fork=1 -use_value_profile=1 -reload=1 -max_total_time=3600 -max_len=288 $i & \
     5    FUZZ=$(basename $i) build_fuzz/src/test/fuzz/fuzz -fork=1 -reload=1 -max_total_time=3600 -max_len=288 $i & \
     6    FUZZ=$(basename $i) build_fuzz/src/test/fuzz/fuzz -fork=1 -use_value_profile=1 -reload=1 -max_total_time=3600 -max_len=864 $i & \
     7    FUZZ=$(basename $i) build_fuzz/src/test/fuzz/fuzz -fork=1 -reload=1 -max_total_time=3600 -max_len=864 $i & \
     8    # Run most threads without sanitizers
     9    FUZZ=$(basename $i) build_fuzz/src/test/fuzz/fuzz -fork=1 -use_value_profile=1 -reload=1 -max_total_time=3600 $i & \
    10    FUZZ=$(basename $i) build_fuzz/src/test/fuzz/fuzz -fork=18 -reload=1 -max_total_time=3600 $i & \
    11    # Run a thread each with and without use_value_profile and all sanitizers enabled
    12    cd $HOME/Workspace/qa-merge && \
    13    FUZZ=$(basename $i) build_fuzz/src/test/fuzz/fuzz -fork=1 -use_value_profile=1 -reload=1 -max_total_time=3600 $i & \
    14    FUZZ=$(basename $i) build_fuzz/src/test/fuzz/fuzz -fork=1 -reload=1 -max_total_time=3600 $i & \
    15    wait; done; notify-send -u critical 'FINISHED FUZZING 10 QA-ASSETS for 28×1h each'
    
  12. maflcko commented at 8:51 pm on December 11, 2024: contributor
    thx, looks good
  13. maflcko merged this on Dec 11, 2024
  14. maflcko closed this on Dec 11, 2024


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: 2024-12-26 22:25 UTC

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