ci(msan): repin Dockerfile.msan to clang-21 (apt.llvm.org rotated noble-22 out) (#2123) - #2124
Open
DeusData wants to merge 1 commit into
Open
ci(msan): repin Dockerfile.msan to clang-21 (apt.llvm.org rotated noble-22 out) (#2123)#2124DeusData wants to merge 1 commit into
DeusData wants to merge 1 commit into
Conversation
…tated noble-22 out) (#2123) The test-msan lane was red repo-wide: the Dockerfile.msan image build could no longer install clang-22 from apt.llvm.org's noble-22 channel, failing with "E: Unable to locate package clang-22 / libclang-rt-22-dev / llvm-22" after the 5 apt retries, so the image never built and every PR's required test-msan check could not go green (#2123). apt.llvm.org keeps only the last few majors for noble and rotates newer ones in and out; the -22 channel's package index was empty when CI fetched it (the channel has since flapped back, confirming the transience). Rather than stay on that volatile channel, repin to clang-21 - the highest well-established stable noble channel apt.llvm.org currently serves (verified installable on both amd64 and arm64): - apt source noble-22 -> noble-21, clang-22/libclang-rt-22-dev/llvm-22 -> clang-21/libclang-rt-21-dev/llvm-21, and the clang/clang++ symlinks - MSan runtimes clone llvmorg-22.1.0 -> llvmorg-21.1.8 (matches the apt clang 21.1.8, keeping the libc++/libc++abi/libunwind build at the compiler's major, as the layer requires) - MSAN_SYMBOLIZER_PATH /usr/lib/llvm-22 -> /usr/lib/llvm-21 Verified in an ubuntu:noble container that clang-21/libclang-rt-21-dev/llvm-21 install cleanly, the clang/clang++ symlinks resolve, libclang_rt.msan-*.a and llvm-symbolizer are present, and the full image builds via Colima. Infra only; the MSan lane's other files (docker-compose.yml, scripts/msan.sh) use the version-agnostic clang/clang++ symlinks and need no change. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
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
test-msanis red repo-wide (#2123): theDockerfile.msanimage build could nolonger install
clang-22from apt.llvm.org's noble-22 channel —E: Unable to locate package clang-22 / libclang-rt-22-dev / llvm-22after all 5 apt retries —so the image never built and the required
test-msancheck could not go green onany PR.
apt.llvm.org keeps only the last few majors for noble and rotates newer ones in
and out; the
-22package index was empty when CI fetched it (the channel hassince flapped back, confirming the transience). Rather than stay on that volatile
channel, this repins the MSan image to clang-21 — the highest
well-established stable noble channel apt.llvm.org currently serves, verified
installable on both amd64 and arm64.
Changes (
test-infrastructure/Dockerfile.msanonly)noble-22→noble-21; packagesclang-22 libclang-rt-22-dev llvm-22→clang-21 libclang-rt-21-dev llvm-21; theclang/clang++symlinksllvmorg-22.1.0→llvmorg-21.1.8(matches the apt clang21.1.8; the libc++/libc++abi/libunwind build must sit at the compiler's major)MSAN_SYMBOLIZER_PATH/usr/lib/llvm-22→/usr/lib/llvm-21docker-compose.yml(test-msan service) andscripts/msan.shreference theversion-agnostic
clang/clang++symlinks, so they need no change. The clang-22pins in
_test.yml(ASan lane) and_lint.ymlare on separate GitHub-hostedchecks that install clang-22 directly and are unaffected by #2123 — left
untouched to keep this PR scoped to the failing lane.
Verification (local, Colima)
docker compose -f test-infrastructure/docker-compose.yml build test-msanbuilds clean end-to-end: clang-21 (21.1.8) installs from noble-21, the
llvmorg-21.1.8libc++/libc++abi/libunwind MSan runtimes build (all 1848targets) and the zlib MSan build succeed, image exported.
/opt/msanlinksand runs clean under MSan.
Infra only; no product code change.
Fixes #2123