libdatadog update to 42d9ab04#3927
Conversation
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 269af891ab
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| @@ -1 +1 @@ | |||
| Subproject commit cea1e44edddd9124f75d5095f31026904a1f58d8 | |||
| Subproject commit 8ac735802ccd4eca304019be37960183a19bdaeb | |||
There was a problem hiding this comment.
Update Rust toolchains with this submodule bump
In environments that use this repo's pinned Rust 1.84.1 (Cargo.toml, profiling/rust-toolchain.toml, and the CI Dockerfiles), this new libdatadog SHA cannot be compiled because libdatadog at 8ac735802ccd4eca304019be37960183a19bdaeb declares workspace.package.rust-version = "1.87.0". Since profiling/Cargo.toml depends on libdatadog path crates, Cargo rejects the dependency before building; the toolchain/manifests/images need to be bumped alongside this gitlink, or the previous SHA kept.
Useful? React with 👍 / 👎.
269af89 to
578859b
Compare
578859b to
f75861e
Compare
Automated update by CI pipeline https://gitlab.ddbuild.io/DataDog/apm-reliability/dd-trace-php/-/pipelines/116054833 Full CI result: ❌ 40 job(s) failed
f75861e to
405c9b4
Compare
Benchmarks [ profiler ]Benchmark execution time: 2026-05-30 02:40:12 Comparing candidate commit 405c9b4 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 29 metrics, 7 unstable metrics. |
Summary
Automated update of the libdatadog submodule to the latest HEAD.
cea1e44edddd9124f75d5095f31026904a1f58d842d9ab0438338516d2e8ef962de4f8ed158c519dFull CI result: ❌ 40 job(s) failed
CI pipeline: https://gitlab.ddbuild.io/DataDog/apm-reliability/dd-trace-php/-/pipelines/116054833
libdatadog Integration Report
libdatadog SHA: 42d9ab0438338516d2e8ef962de4f8ed158c519d
Analysis date: 2026-05-29
Overall status
proceed far enough in CI to expose any FFI-level API changes (see "Identified
libdatadog issues" → none, and the note under "Build & test summary").
Build & test summary
40 jobs failed across the
package-triggersub-pipeline (plus one cascade failure inthe tracer trigger). They fall into exactly three buckets:
error: rustc 1.84.1 is not supported … requires rustc 1.87.0(thecompile tracing extension asanjobs)fatal: git fetch-pack: expected shallow list/The remote end hung up unexpectedlyaggregate tested versions(tracer-trigger, stage "aggregate versions")The substantive issue is a single one: libdatadog bumped its MSRV (minimum supported
Rust version) from 1.84 to 1.87.0 (changelog commit
276039da8 ci: bump msrv to 1.87.0 (#2017); libdatadog'srust-toolchain.tomlchannel and workspacerust-versionare both now1.87.0). dd-trace-php pinned Rust 1.84.1, so cargo refusesto build the workspace because every libdd-* crate now requires 1.87.0.
Only the two ASAN jobs got far enough to fetch crates and hit the MSRV gate; the other 37
compile jobs died earlier on an unrelated, transient git submodule-fetch error
(
expected shallow list) and never reached compilation. Theaggregate tested versionsjob has no compilation step — it failed only because its downstream jobs failed.
Caveat: because the MSRV gate aborts the build before any Rust source is compiled, this
CI run could not surface FFI/API breakages. The changelog contains several breaking
changes (
feat!/fix!) — e.g.#2029(align tracer FFI error/response types),#2054(flatten threads into a
ThreadDatalist),#2022(VecMap),#2011(from_stringonspan text),
#1896(v04→v1 encoder). None of these are observable here. After thetoolchain bump lands and CI is re-run, a follow-up pass may be needed to adapt call sites
if any of these touch the FFI surface dd-trace-php consumes.
Non-trivial changes made
Bumped the pinned Rust toolchain from
1.84.1→1.87.0everywhere dd-trace-php pins it,to satisfy the new libdatadog MSRV. (Per the task constraints, version requirements are
raised to match, never lowered to hide the incompatibility.)
Cargo.toml— workspacerust-version1.84.1 → 1.87.0 (declared MSRV).profiling/Cargo.toml— packagerust-version1.84.1 → 1.87.0.profiling/rust-toolchain.toml— toolchainchannel1.84.1 → 1.87.0.dockerfiles/ci/bookworm/Dockerfile—ARG RUST_VERSION1.84.1 → 1.87.0(installs via rustup
--default-toolchain, no checksum to update).dockerfiles/ci/buster/Dockerfile—ARG RUST_VERSION1.84.1 → 1.87.0 and thehardcoded tarball checksums, since this image downloads
rust-<ver>-…tar.gzand verifiesit with
sha256sum:RUST_SHA256_X86→1f6f18ce19387c42968a474cf175e67f99280614ded9c752d5d2e37af3204bcdRUST_SHA256_ARM→2c66e31d774a0dcd4422db74584ebc6362ff3ae90c452caff9d2fb912c821e8dhttps://static.rust-lang.org/dist/rust-1.87.0-<arch>-unknown-linux-gnu.tar.gz.sha256)dockerfiles/ci/centos/7/base.Dockerfile— sameARG RUST_VERSION+ the same twochecksums (identical manual-tarball install logic as buster).
dockerfiles/ci/windows/basetools.Dockerfile— rustup--default-toolchain=1.84.1→1.87.0(no checksum).appsec/tests/integration/src/docker/nginx-fpm-musl/Dockerfile— rustup--default-toolchain 1.84.1→1.87.0.appsec/tests/integration/src/docker/php/Dockerfile-php-deps— rustup--default-toolchain 1.84.1→1.87.0.appsec/tests/integration/build.gradle— hardcoded toolchain path…/toolchains/1.84.1-${RUST_TARGET}/…→1.87.0-…(used to locatellvm-toolsforcoverage export).
README.md— documented minimum cargo version 1.84.1 → 1.87.0.No Rust source (
.rs) files were changed — the only adaptation required for the observedfailures was the toolchain version bump.
Identified libdatadog issues
None identified. The MSRV bump is an intentional, documented change in libdatadog
(
#2017), not a bug, and the correct response is to raise dd-trace-php's pinned toolchainto match (done above).
Flaky / ignored failures
git fetch-pack: expected shallow list/The remote end hung up unexpectedly(most
compile tracing extensionandcompile profiler extensionjobs). This happens inthe pre-build step
(cd libdatadog; git fetch --depth=1 origin <SHA>), before anycompilation. It is a transient git-server/infra issue (the shallow-fetch negotiation
failed), unrelated to libdatadog's API. Not actionable from the source tree; expected to
pass on re-run.
aggregate tested versions(tracer-trigger). A roll-up/trigger job with no buildstep; it failed only as a cascade of the downstream failures. Resolves once the real
failures are fixed.
/cc @bwoebi