ci: Use APT_LLVM_V in msan task #32999
pull maflcko wants to merge 1 commits into bitcoin:master from maflcko:2507-msan-ci-apt changing 5 files +32 −22-
maflcko commented at 7:57 am on July 17, 2025: memberThis skips compilation of clang by using the apt.
-
DrahtBot added the label Tests on Jul 17, 2025
-
DrahtBot commented at 7:58 am on July 17, 2025: contributor
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
Code Coverage & Benchmarks
For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/32999.
Reviews
See the guideline for information on the review process.
Type Reviewers ACK willcl-ark, m3dwards If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
-
DrahtBot added the label CI failed on Jul 17, 2025
-
in ci/test/01_base_install.sh:62 in bfdda06fa7 outdated
72- update-alternatives --install /usr/bin/clang clang /msan/clang_build/bin/clang 100 73- update-alternatives --install /usr/bin/llvm-symbolizer llvm-symbolizer /msan/clang_build/bin/llvm-symbolizer 100 74+ if [ -n "${APT_LLVM_V}" ]; then 75+ ${CI_RETRY_EXE} git clone --depth=1 https://github.com/llvm/llvm-project -b "llvmorg-20.1.7" /msan/llvm-project 76+ else 77+ ${CI_RETRY_EXE} git clone --depth=1 https://github.com/llvm/llvm-project -b "llvmorg-20.1.0" /msan/llvm-project
fanquake commented at 8:54 am on July 17, 2025:.8
while touching?
fanquake commented at 9:02 am on July 17, 2025:Actually, I’m wondering why these can’t both be 20.1.8? If the checkout needs to match the apt version, then its going to break whenever the apt is updated but this isn’t bumped.
maflcko commented at 9:22 am on July 17, 2025:There shouldn’t be any breaking changes in minor versions, so anything is probably fine here. However, if msan fuzz wants to use a different major version, it seems better to keep it separate?
Maybe a follow-up can investigate if msan fuzz can bootstrap
compiler-rt
(libfuzzer) directly, and remove all of this code here.however, my guess is that you still need to compile at least libcxx(abi) in this this if-branch.
ci: Use APT_LLVM_V in msan task
Also, use update-alternatives to avoid having to manually specify clang-${APT_LLVM_V} or llvm-symbolizer-${APT_LLVM_V} everywhere.
maflcko force-pushed on Jul 17, 2025maflcko marked this as ready for review on Jul 17, 2025maflcko removed the label CI failed on Jul 17, 2025willcl-ark approvedwillcl-ark commented at 2:15 pm on July 17, 2025: memberACK fad040a5787a8ac0a13aef5c54e5a675de239e92
Code changes look correct to me.
In the CI run this installed
clang-20.1.7
fromapt
, before cloninghttps://github.com/llvm/llvm-project -b llvmorg-20.1.7
and building the llvm runtimes with msan enabled.nit: I do notice that bitcoin configure output claims it’s using clang from
/bin/clang++
which differs from theupdate-alternatives
dir used:/usr/bin/clang++
, but it appears to be the correct version so I guess it’s anapt install
symlink?:0C++ compiler .......................... Clang 20.1.7, /bin/clang++
maflcko commented at 2:24 pm on July 17, 2025: memberbin
It is a symlink:
0# podman run --rm 'ubuntu:questing' ls -ld /bin 1lrwxrwxrwx 1 root root 7 Apr 24 16:59 /bin -> usr/bin
m3dwards commented at 5:03 pm on July 18, 2025: contributorACK fad040a5787a8ac0a13aef5c54e5a675de239e92
This will cut down on the msan job run time a lot when the docker build cache is empty.
fanquake commented at 10:45 am on July 21, 2025: memberShould probably adjust the timeout / comment: https://github.com/bitcoin/bitcoin/blob/5878f35446ae260ccb0ab5051b795b4364f77951/.cirrus.yml#L160 but given it’s being moved in #32989, left a note there.fanquake merged this on Jul 21, 2025fanquake closed this on Jul 21, 2025
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-07-23 00:13 UTC
More mirrored repositories can be found on mirror.b10c.me