Centipede not enabled by default on ClusterFuzz
- Dominant language
- Shell
- Stars
- 12.6k
- Forks
- 2.9k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 62
Description
Hi,
According to the [docs](https://google.github.io/oss-fuzz/getting-started/new-project-guide/#fuzzing_engines) and [this line](https://github.com/google/oss-fuzz/blob/b07cc908abf97529a95a4dd9b3d152bf4f101e71/infra/build/functions/build_project.py#L47), Centipede should be enabled by default. Yet, looking at the build logs, it is not built for projects that do not explicitly enable it.
I checked only a few projects, but let's consider the following examples:
**bitcoin-core**
centipede is explicitly [enabled](https://github.com/google/oss-fuzz/blob/b07cc908abf97529a95a4dd9b3d152bf4f101e71/projects/bitcoin-core/project.yaml#L18-L19). The latest build log contains:
```
Starting Step #12 - "compile-centipede-address-x86_64"
...
Starting Step #21 - "compile-centipede-none-x86_64"
```
**abseil-cpp**
No `fuzzing_engines` [defined](https://github.com/google/oss-fuzz/blob/b07cc908abf97529a95a4dd9b3d152bf4f101e71/projects/abseil-cpp/project.yaml) and no centipede in the latest build log.
Contributor guide
Research direction
Start in infra/build/functions/build_project.py at the default fuzzing-engine handling, then compare it with projects/bitcoin-core/project.yaml and projects/abseil-cpp/project.yaml. Check the related build logs to determine why an omitted fuzzing_engines setting does not produce Centipede steps. Done means projects without an explicit setting build Centipede as the documentation describes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, yaml
- Domain
- build-system, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100