-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
infra: bump fuzz introspector #10481
Conversation
Contains bug fixes for failed Python and Java projects Signed-off-by: David Korczynski <[email protected]>
/gcbrun trial_build.py all --sanitizer introspector --fuzzing-engine libfuzzer |
Signed-off-by: David Korczynski <[email protected]>
/gcbrun trial_build.py all --sanitizer introspector --fuzzing-engine libfuzzer |
The second bump broke almost everywhere because of a race condition where introspector needs coverage to be run earlier that day |
/gcbrun trial_build.py all --sanitizer introspector --fuzzing-engine libfuzzer |
Lots of build failures. |
@jonathanmetzman is it possible to see the projects that fail? |
zxing |
Signed-off-by: David Korczynski <[email protected]>
Thanks! We should have addressed those now -- in particular the ones that succeeded already. In addition to this we also added return types for functions in the |
/gcbrun trial_build.py all --sanitizer introspector --fuzzing-engine libfuzzer |
Did the projects succeed now? If it's just timeouts that causes the red cross then this has happened before: #10007 (comment) |
This failed again due to the race condition I mentioned before. |
/gcbrun trial_build.py all --sanitizer introspector --fuzzing-engine libfuzzer |
Latest trial build timed out on:
Which seems small enough. @jonathanmetzman @hogo6002 I think we need a smarter way to handle these timeouts as part of the new trial build output improvements. e.g. if a build is known to be fairly slow we can skip marking those as blockign failures. |
Taking a closer look, some of these do look like regressions in that they didn't time out before. e.g. hsqldb, toolbelt all used to complete within minutes but timed out/exceptioned out after 20hrs. hsqldb error:
|
(sorry for the slow turnaround on these btw! @hogo6002 is working on some UX fixes to make these failures surfaced to the public). |
/gcbrun trial_build.py all --sanitizer introspector --fuzzing-engine libfuzzer |
2 similar comments
/gcbrun trial_build.py all --sanitizer introspector --fuzzing-engine libfuzzer |
/gcbrun trial_build.py all --sanitizer introspector --fuzzing-engine libfuzzer |
@DavidKorczynski can you please take a look at the failure / timeout logs? The GitHub logs should be much improved now and provide public links to the failed project builds. |
@DavidKorczynski friendly ping! |
Apologies for the delay! The new info looks nice, thank you! But, just noticed at the moment all java projects are currently failing Fuzz Introspector following #10538 Step #6 - "compile-libfuzzer-introspector-x86_64": ---------------------------------------------------------------
Step #6 - "compile-libfuzzer-introspector-x86_64": chmod: cannot access '/workspace/out/libfuzzer-introspector-x86_64/jazzer_driver_with_sanitizer': No such file or directory
Step #6 - "compile-libfuzzer-introspector-x86_64": ******************************************************************************** There is a missing "introspector" conditional in oss-fuzz/infra/base-images/base-builder/compile Lines 152 to 171 in 6922c8c
This causes line 171 to fail. You can search for "jvm" in the table here https://introspector.oss-fuzz.com/indexing-overview which will show the introspector build status is red for all. |
Went over the logs, and the tldr is: I would mark The remainder projects, I don't think are true failures, in short due to:
I'd be okay with merging this PR and following up with ways to handle the stack-overflow in a follow-up PR. More in-depth analysis, as I'm slightly confused about some of the specifics in the trial output, so will write a bit ...
Step #1: Remaining builds: 7/572, defaultdict(<class 'list'>,
{
'guava': ['bde78259-41cc-471a-88b5-ac0a70771e8e'],
'hsqldb': ['dc91a0cb-914c-4fa2-81c4-38323b70a711'],
'numexpr': ['e00f959d-1ed1-497d-b487-d49aeab67e3c'],
'openssl': ['aaaa977c-2755-4b7d-8f1e-c7016badee79'],
'protobuf-java': ['b41ff2df-f6b0-4482-a018-d730e49769bd'],
'spring-retry': ['e9a24aaf-40e7-4c86-b2a4-28c4c7444874'],
'tor': ['ee27dba0-b904-4b9f-a087-afd2fb4d41a8']}).
...
Step #1: Failed builds: 5/572, {
'augeas': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-e90c826c-3c8e-4b23-a435-c5f3ccac8b37.txt',
'uwebsockets': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-52843379-7211-482e-9068-5196966ca6d5.txt',
'vlc': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-f3d17eb3-4fa1-4594-8c11-655667e485de.txt',
'wget2': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-1652e573-3494-477a-b097-23c40eeecd87.txt',
'apache-commons-compress': 'https://oss-fuzz-gcb-logs.storage.googleapis.com/log-94fd456e-2d15-49de-907d-0e08a0352ce8.txt'
} So, if I understand correctly these are all the ones that should be inspected? If so:
...
Step #22 - "compile-libfuzzer-introspector-x86_64": INFO:fuzz_introspector.analysis:[+] Accummulating profiles
Step #22 - "compile-libfuzzer-introspector-x86_64": INFO:fuzz_introspector.datatypes.fuzzer_profile:Loading coverage of type jvm
Step #22 - "compile-libfuzzer-introspector-x86_64": INFO:fuzz_introspector.code_coverage:FOUND XML COVERAGE FILES: ['/src/inspector/jacoco.xml']
TIMEOUT
ERROR: context deadline exceeded I assume this processing time would have been there before as well?
Step #20: Step 10/14 : RUN git clone --depth=1 https://gitlab.com/gnutls/gnutls.git
Step #20: ---> Running in 4bc33024b257
Step #20: �[91mCloning into 'gnutls'...
Step #20: �[0m�[91mfatal: unable to access 'https://gitlab.com/gnutls/gnutls.git/': gnutls_handshake() failed: Handshake failed
Step #20: The command '/bin/sh -c git clone --depth=1 https://gitlab.com/gnutls/gnutls.git' returned a non-zero code: 128
Finished Step #20
ERROR Which I assume is unrelated?
Step #12: e88268cbf419: Pull complete
Step #16: e88268cbf419: Pull complete
Step #10: Error response from daemon: Head "https://gcr.io/v2/oss-fuzz-base/base-builder-jvm-testing-bump-to-latest-fi-100/manifests/latest": Get "https://gcr.io/v2/token?account=oauth2accesstoken&scope=repository%3Aoss-fuzz-base%2Fbase-builder-jvm-testing-bump-to-latest-fi-100%3Apull&service=gcr.io": dial tcp 142.250.103.82:443: i/o timeout
Step #14: c2f0992125df: Pull complete
Step #6: c2f0992125df: Pull complete
Step #8: c2f0992125df: Pull complete
Step #4: c2f0992125df: Pull complete Which I assume is unrelated?
Step #22 - "compile-libfuzzer-introspector-x86_64": [Log level 1] : 14:27:36 : Wrapping all functions
Step #22 - "compile-libfuzzer-introspector-x86_64": [Log level 1] : 14:27:36 : Ended wrapping all functions
Step #22 - "compile-libfuzzer-introspector-x86_64": [Log level 1] : 14:27:36 : Finished introspector module
Step #22 - "compile-libfuzzer-introspector-x86_64": clang-15: �[0;1;31merror: �[0m�[1munable to execute command: Segmentation fault (core dumped)�[0m
Step #22 - "compile-libfuzzer-introspector-x86_64": clang-15: �[0;1;31merror: �[0m�[1mlinker command failed due to signal (use -v to see invocation)�[0m
Step #22 - "compile-libfuzzer-introspector-x86_64": make: *** [Makefile:29: oss-fuzz] Error 254
Step #22 - "compile-libfuzzer-introspector-x86_64": ******************************************************************************** However,
|
Thanks for the analysis and feedback! CC @jonathanmetzman @hogo6002 for the feedback on the trial build logs. At the very least perhaps we need to clarify that the timeout for the trial build is shorter than the timeout for the actual underlying builds, which is why some builds end up succeeding even if the trial build times out. |
Ref: #10481 (comment) Java projects are currently failing Fuzz Introspector following #10538 ```bash Step #6 - "compile-libfuzzer-introspector-x86_64": --------------------------------------------------------------- Step #6 - "compile-libfuzzer-introspector-x86_64": chmod: cannot access '/workspace/out/libfuzzer-introspector-x86_64/jazzer_driver_with_sanitizer': No such file or directory Step #6 - "compile-libfuzzer-introspector-x86_64": ******************************************************************************** ``` There is a missing "introspector" conditional in https://github.com/google/oss-fuzz/blob/6922c8c1ac27c9a459ce41201991e296a6bace54/infra/base-images/base-builder/compile#L152-L171 This causes line 171 to fail. It may be convenient to search for "jvm" in the table here https://introspector.oss-fuzz.com/indexing-overview which will show the introspector build status is red for all.
Contains bug fixes for failed Python and Java projects