libdatadog update to 9d6b2ffb - #4125
Open
dd-octo-sts[bot] wants to merge 1 commit into
Open
Conversation
dd-octo-sts
Bot
requested review from
btthomas and
leoromanovsky
and removed request for
a team
August 21, 2026 12:05
|
dd-octo-sts
Bot
force-pushed
the
bot/libdatadog-latest
branch
2 times, most recently
from
August 23, 2026 07:18
1571744 to
3fb3c5e
Compare
Automated update by CI pipeline https://gitlab.ddbuild.io/DataDog/apm-reliability/dd-trace-php/-/pipelines/132670841 Full CI result: ❌ 2 job(s) failed
dd-octo-sts
Bot
force-pushed
the
bot/libdatadog-latest
branch
from
August 24, 2026 11:21
4cab22f to
a71405a
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
Automated update of the libdatadog submodule to the latest HEAD.
378be45c30e9c62a1203c4cc2069aaaf8d1f46739d6b2ffb3d86bb052a822a5e9a9bcfeb62514983Full CI result: ❌ 2 job(s) failed
CI pipeline: https://gitlab.ddbuild.io/DataDog/apm-reliability/dd-trace-php/-/pipelines/132670841
libdatadog Integration Report
libdatadog SHA: 9d6b2ffb3d86bb052a822a5e9a9bcfeb62514983
Analysis date: 2026-08-24
Overall status
✅ Clean update (no API adaptation required) — with one caveat: the log for
test_extension_ci: [8.0]could not be retrieved in this environment, so thatfailure is classified on circumstantial evidence rather than a root-caused
stack trace. See "Flaky / ignored failures".
Build & test summary
Update range:
378be45c3..9d6b2ffb3(4 commits).shared-triggerprofiler-triggerappsec-triggertracer-triggertest_extension_ci: [8.0]package-triggerSystem Tests: [php-fpm-7.1, tracer-release]No compilation failures anywhere.
tmp/artifacts/traces/is empty, and bothfailing jobs are downstream of successful compile jobs —
test_extension_cineeds: "compile extension: debug"withartifacts: true(
.gitlab/generate-tracer.php:364), andSystem Testsneedspackage extension/datadog-setup.php(.gitlab/generate-package.php:1280).Every Rust and C target — tracer, profiler, appsec, shared, packaging, on both
amd64 and arm64 — built against the new libdatadog. That is the decisive signal
that no FFI or Rust API surface we consume changed.
Two further jobs (
ASAN test_c: [8.0, arm64],Loader test on amd64 libc: [8.2, zts, amd64, true]) failed on the first attempt and passed on retry.API-surface review of the 4 new commits
I diffed the full range excluding docs/CI/lockfiles and reviewed every source
hunk against our call sites:
9d6b2ffb3feat(compression): use zrip for wasm targets (Zero pad the tid and exclude it from OTel tracestate #2386) — everybehavioural hunk is
#[cfg(target_arch = "wasm32")]; the native branch oflibdd-trace-utils/src/send_with_retry/compression.rs,libdd-profiling/src/profiles/compressor.rsandlibdd-data-pipeline/src/trace_exporter/mod.rsis byte-equivalent in effect(the
zstd::Encoderpath was only re-indented into alet result = …).libdd-trace-utilsgained an internalzstdfeature that re-exportsdep:zstd+dep:zrip;compression = ["zstd"]still resolves to real zstdon native targets. Wire format and
Content-Encodingunchanged.542a34efffix(rc)!: fixup rc to be wasm compatible (fix(profiler) do not emit profiles when profiler is disabled #2393) — markedbreaking, but the break is confined to the
agentlessfeature:NativeAgentlessFetchernow aliasesAgentlessFetcher<libdd_capabilities_impl::NativeCapabilities>instead ofNativeHttpClient, andAgentlessFetcher<C>/FetcherMode<C>gained aSleepCapabilitybound.components-rs/Cargo.toml:20takeslibdd-remote-configwith default features (client,https) — notagentless— andgrepover all non-libdatadog*.rs/*.tomlfinds zeroreferences to
NativeHttpClient,NativeCapabilities,AgentlessFetcher, orlibdd_capabilities. Inert for us. The manifest also movedlibdd-capabilities-implundercfg(not(target_arch = "wasm32")), which isstill satisfied for every target we build.
417633890chore(ci): add blocking cargo-deny bans gate (Fix #2312: More precise installer error message #2387) — CI-onlyfor libdatadog. Side effect: it relaxed
datadog-sidecar/Cargo.toml'sarrayref = "=0.3.9"back to"0.3.7", sincethe compromised
arrayref 0.3.10is now blocked bydeny.toml:8. BothCargo.lockandlibdatadog/Cargo.lockstill resolvearrayref 0.3.9, sonothing changes for our builds. Noted below as a supply-chain observation.
e235e768cfix(crashtracker): hold the collector connection open throughsymbolization (Implement extended sampling #2384) — the only native behavioural change in the range.
receive_report_from_streamnow borrows the stream instead of consuming it,and
receiver_entry_pointdrops it afterresolve_frames. Both arepub(crate); no FFI symbol moved. The observable effect is that a crashingprocess stays blocked in
wait_for_pollhupuntil symbolization finishes(upstream measured this as an ~8% → 0% flake reduction in their own
bin_test). It lengthens the crash pause slightly, which is worth keeping inmind for
tests/ext/crashtracker_*.phpt, but it is a reliability fix, not aregression.
Non-trivial changes made
No code changes required. The only working-tree modification is the
libdatadogsubmodule pointer bump.Identified libdatadog issues
None identified.
Adjacent observation (not a bug, no action needed now):
417633890replaced theexact pin
arrayref = "=0.3.9"with the caret requirementarrayref = "0.3.7"in
datadog-sidecar/Cargo.toml, relying on the newcargo-denybans gate toblock the malicious
0.3.10. That gate runs in libdatadog's GitHub Actions, notin dd-trace-php's pipeline. We are protected today only because
Cargo.lock:134-135pins0.3.9; a futurecargo update -p arrayrefherecould pull
0.3.10without anything in our CI objecting.Flaky / ignored failures
System Tests: [php-fpm-7.1, tracer-release]— ignore, infrastructuretimeout.
failure_reasonisstuck_or_timeout_failurewithduration15453 s (4 h 17 m) against the job's declared
timeout: 4h(
.gitlab/generate-package.php:1387). The job produced no artifacts and notrace. This template is generated for 26 weblog variants
(
.gitlab/generate-package.php:1371-1382); exactly one of them — adocker-in-docker microVM runner — hit the wall clock. A libdatadog change that
hung the tracer would not spare the other 25 variants. The job name also matches
System Tests:*in.gitlab/flaky-jobs.txt:54, the repo's own list of jobsexcluded from the merge gate.
test_extension_ci: [8.0]— most likely flaky; classified with lowerconfidence than I would like, because I could not read the log.
Evidence available:
script_failure, tracer sub-pipeline, PHP 8.0 / amd64only. The same template runs for every supported PHP minor
(
.gitlab/generate-tracer.php:363-364) and 8.0 was the only one to fail; thecompile extension: debugjob it depends on succeeded.test_extension_ci:*islisted in
.gitlab/flaky-jobs.txt:60. Combined with the API review above — theonly native runtime change in the range is a crashtracker fix that reduces
flakiness — there is no plausible mechanism by which these four commits break
PHP 8.0 and leave 7.0–7.4 and 8.1–8.5 green, since libdatadog is compiled
identically for all of them.
Evidence I could not obtain, and why: this analysis runs inside a GitLab job
with no
GITLAB_PERSONAL_ACCESS_TOKEN;GET /projects/355/jobs/1975665742/tracewith
JOB-TOKEN: $CI_JOB_TOKENreturns401 Unauthorized, and the 104 MBartifact archive (which contains the JUnit XML and
run-tests.phpdiffs) isbehind the same auth.
tmp/artifacts/traces/only carries logs for compilationfailures, and this was a test failure. I therefore cannot name the failing
.phpt, and per the repo's investigation rules I have not verified the failureagainst
git merge-base HEAD origin/master. Recommended follow-up beforemerging: open
https://gitlab.ddbuild.io/DataDog/apm-reliability/dd-trace-php/-/jobs/1975665742
and confirm the failing test. If it is one of
tests/ext/crashtracker_*.phpt,re-read the
e235e768cnote above — the longer crash pause is the one change inthis range that could plausibly interact with those tests' timing.
Note this job had already been retried once and failed again, so "flaky" here
means intermittently failing rather than a one-off.
/cc @bwoebi