ci: Bump tsan config to ubuntu:26.04 with -U_FORTIFY_SOURCE
What changed, and why it matters
This is a routine Continuous Integration (CI) configuration update. It changes the version of the Linux container used for one automated test job and adds a compiler flag to work around a known build issue. There is no change to the Bitcoin Core software that users run, and no security vulnerability is being fixed or introduced.
No action required. This is a CI maintenance change and does not affect released Bitcoin Core binaries or node security.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit updates ci/test/00_setup_env_native_tsan.sh, the environment script for the ThreadSanitizer (TSan) CI job. It bumps the container image from Ubuntu 24.04 to Ubuntu 26.04 and appends -U_FORTIFY_SOURCE to the compiler flags. The added comment explicitly states this is a workaround for GitHub issue #30586. The change is purely to keep the CI build passing; it does not modify any source code, consensus logic, networking, wallet, or RPC behavior.
Changed components
ci/test/00_setup_env_native_tsan.shInspect captured patch +3 / −2
diff --git a/ci/test/00_setup_env_native_tsan.sh b/ci/test/00_setup_env_native_tsan.sh
index 29dd06bf..4f900699 100755
--- a/ci/test/00_setup_env_native_tsan.sh
+++ b/ci/test/00_setup_env_native_tsan.sh
@@ -7,7 +7,7 @@
export LC_ALL=C.UTF-8
export CONTAINER_NAME=ci_native_tsan
-export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:24.04"
+export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:26.04"
export APT_LLVM_V="22"
LIBCXX_DIR="/cxx_build/"
LIBCXX_FLAGS="-fsanitize=thread -nostdinc++ -nostdlib++ -isystem ${LIBCXX_DIR}include/c++/v1 -L${LIBCXX_DIR}lib -Wl,-rpath,${LIBCXX_DIR}lib -lc++ -lc++abi -lpthread -Wno-unused-command-line-argument"
@@ -16,10 +16,11 @@ export PIP_PACKAGES="--break-system-packages pycapnp"
export DEP_OPTS="CC=clang CXX=clang++ CXXFLAGS='${LIBCXX_FLAGS}' NO_QT=1"
export GOAL="install"
export CI_LIMIT_STACK_SIZE=1
+# Disable fortification with -U_FORTIFY_SOURCE to work around https://github.com/bitcoin/bitcoin/issues/30586
export BITCOIN_CONFIG="\
--preset=dev-mode \
-DBUILD_GUI=OFF \
-DSANITIZERS=thread \
- -DAPPEND_CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKCONTENTION -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES' \
+ -DAPPEND_CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKCONTENTION -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES -U_FORTIFY_SOURCE' \
"
export USE_INSTRUMENTED_LIBCPP="Thread"
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.