-
Notifications
You must be signed in to change notification settings - Fork 128
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
Question about OOM in GrammarMutator #33
Comments
Hi! It's certainly possible to hit OOM if the samples are large and the corpus keeps growing. However, I'm curious if you can share more about your setup (either here or privately), because I used the grammar engine to fuzz reasonably complex targets (such as v8 javascript engine for example) and didn't encounter such errors in practice (IIRC the fuzzing workers had 8 or 16GB RAM each, not sure anymore). Jackalope has some mechanisms to decrease RAM usage such as
However, there are several other, easier things you can do to to reduce memory usage in grammar fuzzing mode
Having said all of the above, if there is a memory leak somewhere, of course this would be considered a bug. |
Thank you for your reply! I combined the For Jackalope itself, simply removing For afl-jackalope, if I read the source code of jackalope carefully, although there are quite a few structures that never release memory, their life cycles are quite correct. So there is no hint that there is any memory issue inside. I have solved the problem about OOM. However, I still have some questions about the corpus.
Please excuse my rough English. Best wishes for you! :) |
Thanks for reviewing the code :) "Can jackalope run without inputs?" "Is there any way to convert from common JS to serialized tree (jackalope input format)?" "Would the input of jackalope have an impact on its mutation process? And if so, what is the approximate impact?" |
Thanks for your kind reply. The last question means whether the corpus is important for the fuzzing process or coverage results. For example, in AST fuzzer, good corpus inputs can significant improve the performance of fuzzer, while junk corpus inputs make littile contribution to the performance of entire fuzzing process. Now I can probably deduce the answer to the last question with your kind answer and great code implementation. Best wishes. |
Hello! Would you like to ask whether OOM is considered in
GrammarMutator
?There seems to be no limit to the size of
interesting_trees
and various*_ candidates
inGrammarMutator
.This can lead to OOM during long fuzzing.
If it is a bug, can you please fix it? Or I just miss something?
Thanks.
The text was updated successfully, but these errors were encountered: