-
Notifications
You must be signed in to change notification settings - Fork 38.7k
ci: Run fuzz target even if input folder is empty #27919
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. |
|
Concept ACK |
test/fuzz/test_runner.py
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this would still include runs=1 which for an empty corpus would only generate 1 input.
Run process_messages with args ['/home/dergoegge/workspace/bitcoin/src/test/fuzz/fuzz', '-runs=1', '-max_total_time=10']INFO: Running with entropic power schedule (0xFF, 100).
INFO: Seed: 2455678762
INFO: Loaded 1 modules (350793 inline 8-bit counters): 350793 [0x55c579a854b0, 0x55c579adaef9),
INFO: Loaded 1 PC tables (350793 PCs): 350793 [0x55c579adaf00,0x55c57a035390),
INFO: -max_len is not provided; libFuzzer will not generate inputs larger than 4096 bytes
INFO: A corpus is not provided, starting from an empty corpus
#2 INITED cov: 2324 ft: 2325 corp: 1/1b exec/s: 0 rss: 115Mb
#2 DONE cov: 2324 ft: 2325 corp: 1/1b lim: 4 exec/s: 0 rss: 115Mb
Done 2 runs in 0 second(s)
fa062df to
fae0c99
Compare
|
Tested it locally, seems to work. We should also see this work in the CI here shortly for the |
brunoerg
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Strong Concept ACK
dergoegge
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK fae0c9955ed8254665c9afbaf940f1f4295bfa29
It is working and found the wallet_fees bug.
We should probably wait with merging until #27917 is in.
|
#27917 was merged, so this should have a green CI after rebase. |
|
Tested locally and it got |
brunoerg
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK fae0c9955ed8254665c9afbaf940f1f4295bfa29
Gonna re-ack as soon as it got rebased
|
reACK 0000f55 |
dergoegge
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
reACK 0000f55
|
|
||
| if [ "$RUN_FUZZ_TESTS" = "true" ]; then | ||
| bash -c "LD_LIBRARY_PATH=${DEPENDS_DIR}/${HOST}/lib test/fuzz/test_runner.py ${FUZZ_TESTS_CONFIG} $MAKEJOBS -l DEBUG ${DIR_FUZZ_IN}" | ||
| bash -c "LD_LIBRARY_PATH=${DEPENDS_DIR}/${HOST}/lib test/fuzz/test_runner.py ${FUZZ_TESTS_CONFIG} $MAKEJOBS -l DEBUG ${DIR_FUZZ_IN} --empty_min_time=60" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can probably play around with this value but for now 60s seems fine to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I think it should be 10 seconds or more, but less than 2 minutes? With 1 minute, even with 60 missing fuzz input folders, the overhead will be 1 hour for all runs until fuzz inputs are provided, which seems fine.
0000f55 ci: Run fuzz target even if input folder is empty (MarcoFalke) Pull request description: This should catch trivial integer sanitizer bugs if the author and all reviewers forget to look for them. ACKs for top commit: brunoerg: reACK 0000f55 dergoegge: reACK 0000f55 Tree-SHA512: f139b9d56f0cf1aae339c2890721c77c88d1fea77b73d492c1386ec99b4f393c5b664029919ff4a22e4e8a2929f085699a148c6acc2cc3e40df8a72fd39ff474
This should catch trivial integer sanitizer bugs if the author and all reviewers forget to look for them.