bind9: fix broken build#12
Open
tc-agent wants to merge 2 commits into
Open
Conversation
tc-agent
force-pushed
the
fix-bind9-meson-fuzzing-backend
branch
from
April 10, 2026 21:58
b5da83c to
5851b98
Compare
tc-agent
force-pushed
the
master
branch
28 times, most recently
from
April 12, 2026 22:07
7488d4b to
543eb9b
Compare
tc-agent
force-pushed
the
master
branch
13 times, most recently
from
April 30, 2026 09:18
496e7c9 to
9f35b26
Compare
tc-agent
force-pushed
the
master
branch
5 times, most recently
from
May 8, 2026 14:19
80dc05a to
7143a4d
Compare
tc-agent
force-pushed
the
fix-bind9-meson-fuzzing-backend
branch
from
May 8, 2026 14:55
5851b98 to
b4a44c8
Compare
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
master
branch
4 times, most recently
from
May 8, 2026 22:00
4e78c9b to
92a5bd8
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
Fix the broken OSS-Fuzz build for bind9. The build has been failing since 2026-04-06 (build status JSON, last successful build
6808bda2on 2026-04-05). All daily builds since then fail at:(see latest build log)
Root cause
Upstream bind9 commit
e16a3d7a8e("embed default sanitizer flags in executables", merged via7c60b7daon 2026-04-05) added a newsources: default_sanitize_options,line directly afterlink_args:in thefuzz_binariesexecutable()block. The block also moved frommeson.build:1584tomeson.build:1882, so the existingpatch.diffhunk no longer matches its surrounding context.The bind9
meson.optionsfile already provides a properfuzzing-backendcombo option (none/afl/libfuzzer/oss-fuzz) and anoss-fuzz-argsstring option, replacing the need to manually inject-fsanitize=fuzzervia patch.Changes
build.sh: Pass-Dfuzzing-backend=oss-fuzz -Doss-fuzz-args="$LIB_FUZZING_ENGINE" -Db_lundef=falsetomeson setup. The first two activate the upstream-supported integration path; theb_lundef=falseflag is required by an explicit assertion inmeson.buildwhen any fuzzing backend is enabled with clang.patch.diff: Drop the obsoletemeson.buildhunk (it tried to manually append-fsanitize=fuzzer, which is now handled by theoss-fuzzbackend). Keep only thetests/meson.buildhunk convertinglibtest = shared_library(...)→static_library(...). The fuzz binaries depend onlibtest_dep; keepinglibteststatic avoids a runtimelibbindtest.sodependency that the OSS-Fuzz runner container cannot resolve.Coverage
Baseline: Fuzz Introspector currently shows N/A because both the fuzzer and coverage builds have been failing. The last successful coverage report (2026-04-05) reported:
After this fix (5 minutes of fuzzing per harness, then
coveragebuild over the resulting corpus):Aggregate (all harnesses combined): line 17.53% (21687/123741), function 21.61% (1280/5922), region 13.46% (29666/220328).
The aggregate gap to the 2026-04-05 baseline (~3.7 line-coverage points) reflects the ~5 minute corpus generation budget vs. the long-accumulated production corpus; once OSS-Fuzz resumes daily fuzzing, the corpus will grow back to its previous reach.