google / google/oss-fuzz

Bump Clang version is required due to a possible collision in profile data filenames

Open
#13,019 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
12.6k
Forks
2.9k
Avg merge
2d 2h
Merged PRs (30d)
62

Description

Clang allows redefining a path to a raw profile with `LLVM_PROFILE_FILE` environment variable [^1]. This variable is used in OSS Fuzz, see [^2]. Binary signature collision for different modules when collecting instrumentation profile is possible due to a bug in Clang [^3].

Probably bump of a Clang version is required due to a possible collision in profile data filenames.

[^1]: https://clang.llvm.org/docs/SourceBasedCodeCoverage.html#running-the-instrumented-program
[^2]: https://github.com/google/oss-fuzz/blob/3e8ac8e7ef8acf61b739b97091fbf233afe826ac/infra/base-images/base-runner/coverage#L83
[^3]: https://github.com/llvm/llvm-project/issues/51560

Contributor guide

Open the contributing guide

Research direction

Start with infra/base-images/base-runner/coverage and review how LLVM_PROFILE_FILE is set, then compare the Clang version used with the upstream issue 51560. Confirm the required version change and verify that profile data filenames remain distinct for different modules.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
build-system, infrastructure
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.