git: fix broken build#69
Open
tc-agent wants to merge 2 commits into
Open
Conversation
Fuzzing Coverage ReportTested: project
Per-harness
Δ = (after − before) / before, to accommodate that denominators may change. "new" when before is 0; "deleted" when after is 0. |
tc-agent
force-pushed
the
fix-broken-build
branch
from
May 27, 2026 16:43
287f509 to
4e0502c
Compare
tc-agent
force-pushed
the
master
branch
6 times, most recently
from
May 28, 2026 18:05
af7f9a7 to
806b281
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The OSS-Fuzz
gitbuild has been failing since the day after the lastsuccessful build on 2026-05-10,
which lines up with
bd5c2827b2(merge of
bc/rust-by-default)landing in upstream
masteron 2026-05-11. From that commit onward, theMakefile builds Rust by default, providing
encode_varint/decode_varint(formerly invarint.c) via theappended Rust static library:
This project's
build.shoverridesGITLIBS=libgit.a(to dropcommon-main.o, whosemain()would shadow the fuzzing engine's),which silently drops the Rust library and leaves
encode_varint/decode_varintundefined at link time:Passing
NO_RUST=YesPleasetomakeselects the still-supported Cimplementation path (
varint.orejoinsLIB_OBJSunder that flag),so the existing
GITLIBS=libgit.aoverride stays self-contained.This is the lightest fix that keeps the existing structure of
build.shintact; the alternative — teachingbuild.shhow to invokecargo and append
$(RUST_LIB)to the link — is significantly moreinvasive.
Coverage
The 8 in-tree harnesses link again and run for the full 5 minutes of
fuzz_for_pr, producing combined line coverage comparable to thepre-regression Fuzz Introspector
baseline
(1.98% lines, 2,514/126,869, from the
2026-05-10 OSS-Fuzz coverage report).
No coverage regression is introduced.
Test plan
harnesses produce a working
$OUT/fuzz-*binary.