Skip to content

fuzz: merge profiles from parallel fuzzer workers - #823

Open
corvus-callidus wants to merge 1 commit into
rhboot:mainfrom
corvus-callidus:fix/fuzz-profile-workers
Open

fuzz: merge profiles from parallel fuzzer workers#823
corvus-callidus wants to merge 1 commit into
rhboot:mainfrom
corvus-callidus:fix/fuzz-profile-workers

Conversation

@corvus-callidus

Copy link
Copy Markdown
Contributor

The fuzzers run up to 24 workers, but all workers currently write to one .profraw file. Their exit-time writes can overwrite or race with each other, making direct fuzz-run coverage data unreliable.

Write one raw profile per worker using LLVM's %p expansion, merge the shards with the llvm-profdata matching the selected compiler, then remove the raw shards after a successful merge.

Validated with a fuzz-tftpboot run: llvm-cov report successfully consumed the merged profile. cov-analysis continues to work as well.

Give each worker its own raw profile, then merge the profiles after the fuzzer completes. This prevents parallel workers from overwriting coverage data.

Signed-off-by: Lynsey Rydberg <lyrydber@microsoft.com>
@codecov

codecov Bot commented Jul 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 58.77%. Comparing base (72fd4b7) to head (9aa0888).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #823      +/-   ##
==========================================
- Coverage   59.48%   58.77%   -0.71%     
==========================================
  Files          24       24              
  Lines        4226     4226              
  Branches      655      655              
==========================================
- Hits         2514     2484      -30     
  Misses       1471     1471              
- Partials      241      271      +30     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant