Add fuzz inputs from my servers and oss-fuzz #155

pull maflcko wants to merge 2 commits into bitcoin-core:main from maflcko:main changing 36547 files +58475 −0
  1. maflcko commented at 4:46 pm on October 17, 2023: contributor
    Doing this in a single commit to allow the fuzz engine to create a smaller set of files.
  2. murchandamus approved
  3. murchandamus commented at 5:50 pm on October 17, 2023: contributor

    LGTM, appears to just add 30k odd new fuzz inputs

    ACK 0dbdd5523d4c67fc185f174aa7dfbcc81e10ad6b

  4. maflcko commented at 5:57 pm on October 17, 2023: contributor
    You are adding around 20k, so I wonder if there is an overlap. Should I redo with your folder added?
  5. murchandamus commented at 6:46 pm on October 17, 2023: contributor
    Sure, feel free to pull it in, that’s what I pushed the branches for! :)
  6. maflcko commented at 9:40 am on October 18, 2023: contributor

    Ok, running that now.

    Also, it looks like we are nearing the time limit here.

    So, I’d say to merge this and then right after open the pull request to delete-nonreduced.sh?

  7. maflcko commented at 9:41 am on October 18, 2023: contributor
  8. murchandamus commented at 12:19 pm on October 18, 2023: contributor

    Ok, running that now.

    Also, it looks like we are nearing the time limit here.

    So, I’d say to merge this and then right after open the pull request to delete-nonreduced.sh?

    Approach ACK

  9. maflcko commented at 3:45 pm on October 18, 2023: contributor
    Hmm, for some reason I am running out of disk space on my tmpfs /tmp. I’ll run again over night and push tomorrow morning, if it works :smiling_face_with_tear:
  10. maflcko commented at 7:22 am on October 19, 2023: contributor

    Now the task is DONE, but it failed (:smiling_face_with_tear:)

    0[#131072](/bitcoin-core-qa-assets/131072/)	pulse  cov: 3399 exec/s: 672 rss: 219Mb
    1[#262144](/bitcoin-core-qa-assets/262144/)	pulse  cov: 6464 exec/s: 579 rss: 219Mb
    2[#451694](/bitcoin-core-qa-assets/451694/)	DONE   cov: 7097 exec/s: 422 rss: 316Mb
    3MERGE-OUTER: successful in 1 attempt(s)
    4MERGE-OUTER: the control file has 4052306816 bytes
    5==1059184== ERROR: libFuzzer: out-of-memory (used: 2084Mb; limit: 2048Mb)
    6   To change the out-of-memory limit use -rss_limit_mb=<N>
    7
    8SUMMARY: libFuzzer: out-of-memory
    
  11. Add fuzz inputs from my servers, murch, and oss-fuzz 00c956e4a9
  12. maflcko commented at 9:46 am on October 19, 2023: contributor

    Ok, now it passed, with this patch applied to avoid out-of-memory and out-of-storage:

     0diff --git a/test/fuzz/test_runner.py b/test/fuzz/test_runner.py
     1index 9d64591111..591689b11c 100755
     2--- a/test/fuzz/test_runner.py
     3+++ b/test/fuzz/test_runner.py
     4@@ -278,6 +278,8 @@ def merge_inputs(*, fuzz_pool, corpus, test_list, src_dir, build_dir, merge_dirs
     5         args = [
     6             os.path.join(build_dir, 'src', 'test', 'fuzz', 'fuzz'),
     7             '-set_cover_merge=1',
     8+            '-rss_limit_mb=8000',
     9+            f'-merge_control_file=/run/media/marco/scratch_fde/fuzz/A_m_{t}.txt',
    10             # set_cover_merge is used instead of -merge=1 to reduce the overall
    11             # size of the qa-assets git repository a bit, but more importantly,
    12             # to cut the runtime to iterate over all fuzz inputs [0].
    
  13. Revert i2p fuzz inputs to work around crash for now c764d6c784
  14. maflcko requested review from murchandamus on Oct 19, 2023
  15. murchandamus commented at 1:30 pm on October 19, 2023: contributor

    I verified that the second commit only modifies a bunch of I2P. Both the first and the second commit’s I2P seeds pass on my machine:

    0➜  qa-assets git:(main) ✗ git reset --hard maflcko/main
    1Updating files: 100% (36457/36457), done.
    2HEAD is now at c764d6c7842 Revert i2p fuzz inputs to work around crash for now
    3➜  build git:(2023-10-refactor-coinselector-tests) ✗ FUZZ=i2p src/test/fuzz/fuzz ../../qa-assets/fuzz_seed_corpus/i2p                                                                     <<<
    4i2p: succeeded against 1247 files in 2s.
    5➜  qa-assets git:(main) ✗ git reset --hard 00c956e4a9c555da5640946ec28cdd5e501c0554
    6HEAD is now at 00c956e4a9c Add fuzz inputs from my servers, murch, and oss-fuzz
    7➜  build git:(2023-10-refactor-coinselector-tests) ✗ FUZZ=i2p src/test/fuzz/fuzz ../../qa-assets/fuzz_seed_corpus/i2p
    8i2p: succeeded against 1256 files in 2s.
    

    :shrug:

    The first commits seems to add a bunch of files into the fuzz_seed_corpus directly instead of one of the subfolders. Any idea what may have happened there?

  16. maflcko commented at 1:35 pm on October 19, 2023: contributor

    The first commits seems to add a bunch of files into the fuzz_seed_corpus directly instead of one of the subfolders. Any idea what may have happened there?

    Can you give an example?

  17. maflcko commented at 3:32 pm on October 19, 2023: contributor

    Both the first and the second commit’s I2P seeds pass on my machine:

    That also seems funny. You could reproduce yesterday (at least in your folder), I can reproduce locally, and both CI tasks failed on your pull requests with this error.

  18. murchandamus commented at 5:24 pm on October 19, 2023: contributor

    Sorry, PEBCAK on the files. In my tig window, it dropped the fuzz target folder on some files in the change list, but not the others. I didn’t realize that it would present me different levels of the path in one list. :facepalm: image.

     0➜  qa-assets git:(main) ✗ git reset --hard maflcko/main                                   
     1HEAD is now at c764d6c7842 Revert i2p fuzz inputs to work around crash for now
     2➜  bitcoin git:(master) ✗ cd ../bitcoin/build                                            
     3➜  build git:(master) ✗ FUZZ=i2p src/test/fuzz/fuzz ../../qa-assets/fuzz_seed_corpus/i2p
     4i2p: succeeded against 1247 files in 27s.
     5➜  build git:(master) ✗ cd ../../qa-assets
     6➜  qa-assets git:(main) ✗ git reset --hard 00c956e4a9c555da5640946ec28cdd5e501c0554       
     7HEAD is now at 00c956e4a9c Add fuzz inputs from my servers, murch, and oss-fuzz
     8➜  qa-assets git:(main) ✗ cd -                                                            
     9~/Workspace/bitcoin/build
    10➜  build git:(master) ✗ FUZZ=i2p src/test/fuzz/fuzz ../../qa-assets/fuzz_seed_corpus/i2p
    11i2p: succeeded against 1256 files in 26s.
    12➜  build git:(master) ✗ 
    

    I don’t know why it doesn’t crash on my machine but I can not replicate it crashing with either of your two commits here.

  19. maflcko commented at 7:55 pm on October 19, 2023: contributor
    In any case, let’s move discussion to https://github.com/bitcoin/bitcoin/issues/28665
  20. maflcko commented at 8:18 pm on October 19, 2023: contributor

    Which fuzzing engine are you using? Can you try with libFuzzer?

    I’ve never seen this command and output:

    0FUZZ=i2p src/test/fuzz/fuzz ../../qa-assets/fuzz_seed_corpus/i2p
    1i2p: succeeded against 1247 files in 27s.
    
  21. maflcko commented at 7:48 am on October 20, 2023: contributor
  22. fanquake merged this on Oct 20, 2023
  23. fanquake closed this on Oct 20, 2023

  24. hebasto commented at 3:34 pm on October 21, 2023: member

    Could this PR cause CI timeouts?

    See: https://github.com/bitcoin/bitcoin/issues/28703.

  25. fanquake referenced this in commit 0f15db0ec9 on Oct 23, 2023
  26. Frank-GER referenced this in commit 97900aaaf7 on Nov 28, 2023

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-10-30 01:25 UTC

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