-
Notifications
You must be signed in to change notification settings - Fork 38.7k
[fuzzer] generate new seeds in an infinite loop with random parameters #20752
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
[fuzzer] generate new seeds in an infinite loop with random parameters #20752
Conversation
37a975d to
0d4d5bd
Compare
74150db to
ff804c0
Compare
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.
It was nice to be able to put the while true outside the script. The benefit was that the outside could update this script, the code repo, as well as the seeds repo. This allows continuous fuzzing of the master branch with the latest code and seeds while atomically updating the build system and this script.
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.
@MarcoFalke I don't think there is a problem with that really, as no progress is lost by interrupting. Just stop the test_runner at any point, update/recompile, and run again.
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.
That would complicate the outside script because it had to poll for changes in the repo, while running the fuzzer script. As soon as there are changes, interrupt and rerun.
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.
If y'all like the while True, maybe expose it via some kind of option?
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.
It's not so much the while True I like, but the fact that this doesn't leave cores unused after most of the jobs are done. Doing it randomly also more easily accommodates adding more configurations (which presumably would hurt your workflow equally much, as every new combination would multiply the time between checks by some factor).
What about adding an option to make this automatically exit after some specified wall clock time?
ff804c0 to
6522e92
Compare
6522e92 to
1ff0dc5
Compare
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
|
Concept ACK |
|
🐙 This pull request conflicts with the target branch and needs rebase. Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft". |
Given this depends on a PR that has since been closed un-merged, I'm going to close for now. Can be re-opened if the dependency changes etc. |
this vastly simplifies running all of the fuzzing targets in parallel to expand the corpus
depends on #20751