fix(ci): fix Valgrind false positives and CentOS 7 aarch64 profiling build#3772
Open
fix(ci): fix Valgrind false positives and CentOS 7 aarch64 profiling build#3772
Conversation
|
✅ Tests 🎉 All green!❄️ No new flaky tests detected 🎯 Code Coverage (details) 🔗 Commit SHA: a4edd57 | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback! |
Benchmarks [ tracer ]Benchmark execution time: 2026-04-07 02:03:57 Comparing candidate commit 732de87 in PR branch Found 2 performance improvements and 0 performance regressions! Performance is the same for 191 metrics, 1 unstable metrics. scenario:MessagePackSerializationBench/benchMessagePackSerialization
scenario:MessagePackSerializationBench/benchMessagePackSerialization-opcache
|
2 tasks
ac1de97 to
732de87
Compare
977e120 to
5f9c9b2
Compare
bwoebi
approved these changes
Apr 9, 2026
27f9fcf to
076835f
Compare
Signed-off-by: Bob Weinand <bob.weinand@datadoghq.com>
…ice leak Set DD_SPAWN_WORKER_STABLE_TRAMPOLINE=1 in the test_extension_ci Valgrind pass so the sidecar spawn_worker writes the trampoline to a stable per- process path instead of a random temp file that gets self-deleted before Valgrind can read it. Updates libdatadog to DataDog/libdatadog#1844.
…chema - runtime_stack moved to message.experimental.runtime_stack - new error block with native crash stack (Datadog Crashtracker 1.0 format) - data_schema_version bumped to 1.6 - signal message changed to "Process terminated with SI_USER (SIGSEGV)"
…patibility PHP 7.2-7.4 produce a different payload structure (no experimental.runtime_stack with PHP-level frames). Use %A wildcards for the version-dependent sections, keeping only stable anchors: error.source_type and metadata fields.
…ef.h not found On the CentOS 7 arm64 runners, clang's built-in stddef.h is not found automatically during bindgen, causing the profiler build to fail with: /usr/include/stdlib.h:32:10: fatal error: 'stddef.h' file not found Mirror the existing Alpine aarch64 workaround: detect the devtoolset-7 environment (CentOS 7) + aarch64 and export BINDGEN_EXTRA_CLANG_ARGS pointing at the clang resource dir's include path.
076835f to
a4edd57
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
Valgrind false positives
tests/ext/base_service.phpt: add--SKIPIF--to skip under Valgrind (USE_TRACKED_ALLOC=1). The test has a memory leak on PHP 7.0 that causestest_extension_ci: [7.0]to fail via the leaked-test check in the Makefile.Makefile: passDD_SPAWN_WORKER_STABLE_TRAMPOLINE=1in the Valgrind test command. When set, the trampoline defers its self-deletion until after the entry function returns, so Valgrind can read DWARF symbols without getting"connection to image failed". PHP'srun-tests.phpmarks any test with a non-empty.memfile asLEAKED, so this was causing false CI failures..gitlab/collect_artifacts.sh: collect*.memfiles alongside*.diffso Valgrind leak output is available in CI artifacts.libdatadogsubmodule bump to pick up thespawn_workertrampoline fix (see libdatadog#1844).CentOS 7 aarch64 profiling build
.gitlab/build-profiler.shand.gitlab/generate-profiler.php: setBINDGEN_EXTRA_CLANG_ARGS="-I$(clang --print-resource-dir)/include"on CentOS 7 aarch64. The custom-built LLVM 17 in the CI image doesn't put its resource directory on the default include path, causing bindgen to fail withfatal error: 'stddef.h' file not found. Mirrors the existing Alpine aarch64 workaround.Test plan
test_extension_ci: [7.0]Valgrind pass no longer reports leaked testprofiling tests/compile profiler extensionon CentOS 7 aarch64 pass