-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Pillow: Coverage build failure #9086
Comments
@Navidem can you look into this? |
Looking at the coverage build logs, the failure started on Nov 7th with this PR merge. But looking closer reveals the coverage build was not generating any meaningful report even before Nov 7th and the mentioned PR just caused the silent failure to surface. Looks like it cannot collect coverage because of some Atheris error. @DavidKorczynski does it look familiar to you?
|
Yes, I took at short look at this just now, but will need some more time find the root cause! Am on it. |
This should not be merged, but is only used to show how #9086 is fixed. Changes should go upstream
@radarhere the coverage build is not working because you're not using
oss-fuzz/infra/base-images/base-builder/compile_python_fuzzer Lines 55 to 93 in 87a914a
I've tested locally that the changes in this PR #9127 fixes the coverage build, and, indeed that it shows the code coverage of the Python code as well. If you change https://github.com/python-pillow/Pillow/blob/main/Tests/oss-fuzz/build.sh to have the logic in the PR I linked, then the coverage build will start working. |
Thanks very much! Those changes have been applied, and the build is now succeeding in https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53281&sort=-opened&can=1&q=proj%3Apillow |
Awesome @radarhere ! |
The coverage build failure for Pillow has returned - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=59870&sort=-opened&can=1&q=proj%3Apillow I've tried reproducing it at radarhere@3408f10 with Any ideas what has gone wrong now? Or what I'm doing incorrectly in my attempt to reproduce the problem and figure out the error myself? |
@alan32liu can you take a look at this since Navid can't help with this. |
I was unable to reproduce this locally with the latest images either, but here is what I found:
@DavidKorczynski would you happen to know something else we could test to locate the bug? I would really appreciate that! |
The problem is that when the fuzzers were run with the corpus to collect the code coverage the exit code was non-zero, meaning likely a bug/exception happened when running through the corpus. This means no code coverage was collected as a clean exit is needed for Coverage.py to succeed. The telling sign here is the following output from the logs: Step #5: Entering python fuzzing
Step #5: Error happened getting coverage of fuzz_font
Step #5: This is likely because Atheris did not exit gracefully
Step #5: Entering python fuzzing
Step #5: Error happened getting coverage of fuzz_pillow See here in the coverage module for where the error is reported oss-fuzz/infra/base-images/base-runner/coverage Lines 177 to 181 in d591611
It's quite hidden away from the logs, I'll see to coming up with something that has more clear messaging. There are a couple of possible solutions:
I'd probably try (1) first and see if this solves it. |
Thanks for the detailed explanation, @DavidKorczynski! |
For no reason that I know of, it's started working again - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=59870#c3 |
Hi. Pillow has been failing to complete the coverage build for a few weeks - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53281&sort=-opened&can=1&q=proj%3Apillow
https://oss-fuzz-build-logs.storage.googleapis.com/log-b333ca6d-aae4-4097-b134-efb9d533f5c8.txt
Looking for changes just before that, I found #8960. Any thoughts?
The text was updated successfully, but these errors were encountered: