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-
maflcko commented at 4:46 pm on October 17, 2023: contributorDoing this in a single commit to allow the fuzz engine to create a smaller set of files.
-
murchandamus approved
-
murchandamus commented at 5:50 pm on October 17, 2023: contributor
LGTM, appears to just add 30k odd new fuzz inputs
ACK 0dbdd5523d4c67fc185f174aa7dfbcc81e10ad6b
-
maflcko commented at 5:57 pm on October 17, 2023: contributorYou are adding around 20k, so I wonder if there is an overlap. Should I redo with your folder added?
-
murchandamus commented at 6:46 pm on October 17, 2023: contributorSure, feel free to pull it in, that’s what I pushed the branches for! :)
-
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?
-
maflcko commented at 9:41 am on October 18, 2023: contributorRe-running CI: https://cirrus-ci.com/task/5867579709849600
-
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
-
maflcko commented at 3:45 pm on October 18, 2023: contributorHmm, 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: -
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
-
Add fuzz inputs from my servers, murch, and oss-fuzz 00c956e4a9
-
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].
-
Revert i2p fuzz inputs to work around crash for now c764d6c784
-
maflcko requested review from murchandamus on Oct 19, 2023
-
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? -
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?
-
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.
-
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: .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.
-
maflcko commented at 7:55 pm on October 19, 2023: contributorIn any case, let’s move discussion to https://github.com/bitcoin/bitcoin/issues/28665
-
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.
-
maflcko commented at 7:48 am on October 20, 2023: contributorFor reference, this increases the coverage from 63.6% (https://maflcko.github.io/b-c-cov/fuzz.coverage/index.html , unstable link) to 64.4% (https://drahtbot.space/host_reports/DrahtBot/reports/coverage_fuzz/monotree/091d29c49590d31d/c764d6c7842481a2/fuzz.coverage/index.html)
-
fanquake merged this on Oct 20, 2023
-
fanquake closed this on Oct 20, 2023
-
hebasto commented at 3:34 pm on October 21, 2023: member
Could this PR cause CI timeouts?
-
fanquake referenced this in commit 0f15db0ec9 on Oct 23, 2023
-
Frank-GER referenced this in commit 97900aaaf7 on Nov 28, 2023
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
More mirrored repositories can be found on mirror.b10c.me