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
  1. maflcko commented at 7:57 am on July 17, 2025: member
    This skips compilation of clang by using the apt.
  2. DrahtBot added the label Tests on Jul 17, 2025
  3. 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.

  4. DrahtBot added the label CI failed on Jul 17, 2025
  5. 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.

  6. 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.
    fad040a578
  7. maflcko force-pushed on Jul 17, 2025
  8. maflcko marked this as ready for review on Jul 17, 2025
  9. maflcko removed the label CI failed on Jul 17, 2025
  10. willcl-ark approved
  11. willcl-ark commented at 2:15 pm on July 17, 2025: member

    ACK fad040a5787a8ac0a13aef5c54e5a675de239e92

    Code changes look correct to me.

    In the CI run this installed clang-20.1.7 from apt, before cloning https://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 the update-alternatives dir used: /usr/bin/clang++, but it appears to be the correct version so I guess it’s an apt install symlink?:

    0C++ compiler .......................... Clang 20.1.7, /bin/clang++
    
  12. maflcko commented at 2:24 pm on July 17, 2025: member

    bin

    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
    
  13. m3dwards commented at 5:03 pm on July 18, 2025: contributor

    ACK fad040a5787a8ac0a13aef5c54e5a675de239e92

    This will cut down on the msan job run time a lot when the docker build cache is empty.

  14. fanquake commented at 10:45 am on July 21, 2025: member
    Should 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.
  15. fanquake merged this on Jul 21, 2025
  16. fanquake closed this on Jul 21, 2025


github-metadata-mirror

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

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me