-
Notifications
You must be signed in to change notification settings - Fork 2.5k
target_experiment.py uploads reproducer and binary in target_experiment.py
#11700
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
|
Will save fuzz target binary, crash reproducer, and other files to experiment bucket in OFG. |
|
/gcbrun skip |
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 might not be the case for all builds, since some targets may exist in subdirs. Let's skip uploading the binary for now
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.
Given we know the binary name, can I use find as a heuristic to find this path?
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.
Yes, that might work, if it's not too difficult to do this within a Cloud Build step.
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.
Added the script for this.
The script uses this path as the default, and if the target binary is not here, it uses find to locate it.
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.
Does this need to be a flag at all? When would we need to customize this behaviour?
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.
Ah, I was worrying that hardcoding this would affect other usages of this script.
If we don't have to customize it, then I can easily hardcode it.
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.
Fixed
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.
Should this be optional? This way, migrating oss-fuzz-gen will be seamless. Otherwise, as soon as this is submitted, oss-fuzz-gen will break in the interim before we add this flag there.
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.
Yes, good point.
I will make it optional.
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.
Fixed
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.
See below: let's make this conditional on the flag being passed.
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.
Fixed
1c74928 to
2631a97
Compare
|
/gcbrun skip |
|
The artifact was not uploaded because the local dir missed a |
|
/gcbrun skip |
|
/gcbrun skip |
…nt.py` (#11713) Related: google/oss-fuzz-gen#172, #11700. This simplifies the link generation in benchmark `JSON`. Previously, the binary directory name matches the binary name, now it is always called `target_binary/`.
Fixes #156. Related: google/oss-fuzz#11700. Save GS bucket links to the reproducer and other statuses into a JSON file.
Helps google/oss-fuzz-gen#156:
target_experiment.pytakes a new parameter,upload_reproducer_path.target_experiment.pysaves crash reproducer tolocal_artifect_path.target_experiment.pyuploads the fuzz target binary, the crash reproducer, and stacktrace to bucket directoryupload_reproducer_path.