Centipede check_build fails on OSS-Fuzz but passes locally for kfilemetadata
- Dominant language
- Shell
- Stars
- 12.6k
- Forks
- 2.9k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 62
Description
The cloud build job failed during the Centipede build checks for `kfilemetadata`.
The build log reports:
```
CF table dumping failed
Could not get CFTable from .../epubextractor_fuzzer
The binary should be built with clang 16 and with -fsanitize-coverage=control-flow flag.
```
followed by:
```
Bus error (core dumped)
```
The following fuzzers failed: `epubextractor_fuzzer`, `odfextractor_fuzzer`, and `office2007extractor_fuzzer`
Full build log:
https://oss-fuzz-build-logs.storage.googleapis.com/log-483a23af-379e-4171-b2a4-0092cae10979.txt
I tried reproducing the failure locally using the commands suggested by the build log. First I built the fuzzers:
```bash
python infra/helper.py shell --engine centipede --sanitizer none kfilemetadata
# inside the container
compile
```
Then I checked the failing target:
```bash
python infra/helper.py check_build --engine centipede --sanitizer none kfilemetadata epubextractor_fuzzer
```
Result:
```
INFO:__main__:Running: docker run --privileged --shm-size=2g --platform linux/amd64 --rm -i -e FUZZING_ENGINE=centipede -e SANITIZER=none -e ARCHITECTURE=x86_64 -e FUZZING_LANGUAGE=c++ -e HELPER=True -v /workspaces/oss-fuzz/build/out/kfilemetadata:/out -t gcr.io/oss-fuzz-base/base-runner:latest test_one.py epubextractor_fuzzer.
INFO: performing bad build checks for /tmp/not-out/tmpf9kfxo1g/epubextractor_fuzzer
INFO:__main__:Check build passed.
```
I also checked all fuzzers:
```bash
python infra/helper.py check_build --engine centipede --sanitizer none kfilemetadata
```
Result:
```
INFO:__main__:Running: docker run --privileged --shm-size=2g --platform linux/amd64 --rm -i -e FUZZING_ENGINE=centipede -e SANITIZER=none -e ARCHITECTURE=x86_64 -e FUZZING_LANGUAGE=c++ -e HELPER=True -v /workspaces/oss-fuzz/build/out/kfilemetadata:/out -t gcr.io/oss-fuzz-base/base-runner:latest test_all.py.
INFO: performing bad build checks for /tmp/not-out/tmpjpo1u8on/taglibextractor_fuzzer
INFO: performing bad build checks for /tmp/not-out/tmpjpo1u8on/plaintextextractor_fuzzer
INFO: performing bad build checks for /tmp/not-out/tmpjpo1u8on/ffmpegextractor_fuzzer
INFO: performing bad build checks for /tmp/not-out/tmpjpo1u8on/exiv2extractor_fuzzer
INFO: performing bad build checks for /tmp/not-out/tmpjpo1u8on/officeextractor_fuzzer
INFO: performing bad build checks for /tmp/not-out/tmpjpo1u8on/poextractor_fuzzer
INFO: performing bad build checks for /tmp/not-out/tmpjpo1u8on/epubextractor_fuzzer
INFO: performing bad build checks for /tmp/not-out/tmpjpo1u8on/office2007extractor_fuzzer
INFO: performing bad build checks for /tmp/not-out/tmpjpo1u8on/popplerextractor_fuzzer
INFO: performing bad build checks for /tmp/not-out/tmpjpo1u8on/xmlextractor_fuzzer
INFO: performing bad build checks for /tmp/not-out/tmpjpo1u8on/mobiextractor_fuzzer
INFO: performing bad build checks for /tmp/not-out/tmpjpo1u8on/fb2extractor_fuzzer
INFO: performing bad build checks for /tmp/not-out/tmpjpo1u8on/postscriptdscextractor_fuzzer
INFO: performing bad build checks for /tmp/not-out/tmpjpo1u8on/odfextractor_fuzzer
INFO: performing bad build checks for /tmp/not-out/tmpjpo1u8on/pngextractor_fuzzer
INFO: performing bad build checks for /tmp/not-out/tmpjpo1u8on/krita_fuzzer
INFO:__main__:Check build passed.
```
I was unable to reproduce the failure locally.
Environment:
```
OSS-Fuzz checkout: master
Host:
Linux codespaces-4df05e 6.8.0-1052-azure x86_64
GitHub Codespaces
Ubuntu 24.04.4 LTS
4 vCPUs (AMD EPYC 7763)
32 GB machine
Kernel 6.8.0-1052-azure
```
Should we disable Centipede in `kfilemetadata` for now?
Contributor guide
Research direction
Start with the linked OSS-Fuzz build log, then run infra/helper.py check_build.py through the check_build entry points for kfilemetadata and the three failing fuzzers. Compare the cloud Centipede environment with the local compile and check_build results; done means the cloud build no longer reports CF table failures or the bus error for epubextractor_fuzzer, odfextractor_fuzzer, and office2007extractor_fuzzer.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, python
- Domain
- build-system, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100