GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||
GeezerVison is showing github.com — gh-107652: Set up CIFuzz to run fuzz targets continuously by illia-v · Pull Request #107653 · python/cpython Conversation
|
|
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Some nits
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Co-authored-by: Hugo van Kemenade <[email protected]>
|
I'm mindful of CI availability and note this adds three slow, ~23-28 minute jobs: Is there any caching that can be used to speed them up? Should we restrict these jobs to only trigger when C files change, and not Python/other support files? And, if we've already run this on PRs, do we also need to run on |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
I'd second this, especially if given OSS Fuzz's runs (per the comment at the top of the new job). A |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
I agree, but it seems that CIFuzz does not support any settings for caching and Python compilation happens in its Docker containers. There is a
This sounds like a good idea!
Running on PR updates should be enough. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I don't understand well which Python is tested. Does the job builds Python and run the fuzzer on the freshly built Python? CIFuzz (address) pass but it see a log with an error: |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@vstinner please check "How it works". It builds CPython from the source at a particular pull request, and it does not report crashes that occurred on older OSS-Fuzz builds. You can find that particular error in the list of known issues here. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Could CIFuzz be run as a buildbot instead of on CI? There's been a concerted effort to reduce CI times as of late, and I do worry that this PR adds a substantial amount of work for little apparent benefit, given that OSS Fuzz runs anyway on actual commits. If we could do a "test with fuzz buildbots" label, that might be a compromise? A |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
If the CI job is not mandatory and doesn't prevent to merge a PR, I think that it's acceptable to use GHA resources. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
I am not sure how often the label will be set, it is pretty likely that this approach will not solve the problem of OSS-Fuzz builds being left broken from time to time |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@ezio-melotti @hugovk is there anything I can do here to make this PR ready for merging? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@illia-v It's the core dev sprint next week, I'll bring it up for discussion then. I think fuzzing can be extremely valuable, and we need to balance how long it runs so we're not waiting too long for PRs to complete. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
It seems @15r10nk found several issues that OSS-Fuzz missed, I assume using a different approach. If we're to adopt fuzzing, perhaps we should try his mechanism that seems to find more (release-blocking!) issues? A |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Hi! Let's give this a shot! It's a bit slow, but it's about the same as the Windows jobs. We're trying to make the Windows ones faster, and if the duration fuzzing jobs end up being a problem, we can address it then.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Is there a doc somewhere explaining how to handle a CIFuzz failure? Or this CI never fails? :-) |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I just would like to know who I should contact if it goes wrong. @hugovk if I understood correctly :-) |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
If/when it fails, let's open an issue and figure it out :) |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
We've been seeing CIFuzz failures on otherwise good PRs not related to the PR change at hand of late with the build failing: these are understandably confusing people. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…on#107653) Co-authored-by: Hugo van Kemenade <[email protected]>
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.