From 2099ae632a18e460671d81cc2921f82af5fd90a0 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Thu, 27 Jun 2024 18:10:43 +1000 Subject: [PATCH] replace msan-15 builder with deb12-clang-18 builder Server work preparing for this change occured in MDEV-33478. The msan-clang-16 is currently as stable as the clang-15 builder so it can be updated as the protected brach builder in the meantime. --- .github/workflows/bbw_build_container.yml | 12 ++++++------ ci_build_images/msan.Dockerfile | 14 +++++++++----- constants.py | 4 ++-- master-docker-nonstandard-2/master.cfg | 12 ++++++------ 4 files changed, 23 insertions(+), 19 deletions(-) diff --git a/.github/workflows/bbw_build_container.yml b/.github/workflows/bbw_build_container.yml index 7c33bfa2..b3a9b873 100644 --- a/.github/workflows/bbw_build_container.yml +++ b/.github/workflows/bbw_build_container.yml @@ -49,18 +49,18 @@ jobs: tag: debian11-aocc branch: 10.11 platforms: linux/amd64 - - dockerfile: debian.Dockerfile msan.Dockerfile - image: debian:11 - branch: 10.11 - tag: debian11-msan - clang_version: 15 - platforms: linux/amd64 - dockerfile: debian.Dockerfile msan.Dockerfile image: debian:11 branch: 10.11 tag: debian11-msan-clang-16 clang_version: 16 platforms: linux/amd64 + - dockerfile: debian.Dockerfile msan.Dockerfile + image: debian:12 + branch: 11.4 + tag: debian12-msan-clang-18 + clang_version: 18 + platforms: linux/amd64 - dockerfile: debian.Dockerfile image: debian:sid branch: 10.11 diff --git a/ci_build_images/msan.Dockerfile b/ci_build_images/msan.Dockerfile index 78a99ca9..4baae668 100644 --- a/ci_build_images/msan.Dockerfile +++ b/ci_build_images/msan.Dockerfile @@ -12,15 +12,15 @@ ENV MSAN_SYMBOLIZER_PATH=/msan-libs/bin/llvm-symbolizer-msan ENV PATH=$MSAN_LIBDIR/bin:$PATH -RUN mkdir $MSAN_LIBDIR \ +RUN . /etc/os-release; mkdir $MSAN_LIBDIR \ && mkdir $MSAN_LIBDIR/bin \ && printf "#!/bin/sh\nunset LD_LIBRARY_PATH\nexec llvm-symbolizer-%s \"\$@\"" "${CLANG_VERSION}" > $MSAN_SYMBOLIZER_PATH \ && printf '#!/bin/sh\nunset LD_LIBRARY_PATH\nexec /usr/bin/gdb "$@"' > $GDB_PATH \ && curl -sL https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --dearmor -o /usr/share/keyrings/llvm-snapshot.gpg \ && echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg] \ - http://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-${CLANG_VERSION} main" > /etc/apt/sources.list.d/llvm-toolchain.list \ + http://apt.llvm.org/${VERSION_CODENAME}/ llvm-toolchain-${VERSION_CODENAME}-${CLANG_VERSION} main" > /etc/apt/sources.list.d/llvm-toolchain.list \ && echo "deb-src [signed-by=/usr/share/keyrings/llvm-snapshot.gpg] \ - http://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-${CLANG_VERSION} main" >> /etc/apt/sources.list.d/llvm-toolchain.list \ + http://apt.llvm.org/${VERSION_CODENAME}/ llvm-toolchain-${VERSION_CODENAME}-${CLANG_VERSION} main" >> /etc/apt/sources.list.d/llvm-toolchain.list \ && apt-get update \ && apt-get -y install --no-install-recommends \ clang-${CLANG_VERSION} \ @@ -37,7 +37,7 @@ RUN mkdir $MSAN_LIBDIR \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_COMPILER=clang-${CLANG_VERSION} \ -DCMAKE_CXX_COMPILER=clang++-${CLANG_VERSION} \ - -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \ + -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" \ -DLLVM_USE_SANITIZER=MemoryWithOrigins \ && make -C build -j "$(nproc)" \ && cp -aL build/lib/libc++.so* $MSAN_LIBDIR \ @@ -85,6 +85,8 @@ RUN apt-get source gnutls28 \ \ && apt-get source gmp \ && mv gmp-*/* . \ + && mkdir -p doc \ + && echo 'all:' > doc/Makefile.in \ && mk-build-deps -it 'apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' \ && ./configure \ --disable-assembly \ @@ -98,6 +100,8 @@ ENV CXXFLAGS="$CFLAGS" RUN apt-get source cracklib2 \ && mv cracklib2-*/* . \ && mk-build-deps -it 'apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' \ + && aclocal \ + && automake --add-missing \ && ./configure \ --with-default-dict=/usr/share/dict/cracklib-small \ && make -j "$(nproc)" \ @@ -117,4 +121,4 @@ RUN apt-get source cracklib2 \ && chmod -R a+x $MSAN_LIBDIR/bin/* ENV CFLAGS="-fno-omit-frame-pointer -O2 -g -fsanitize=memory" -ENV CXXFLAGS="$CFLAGS" \ No newline at end of file +ENV CXXFLAGS="$CFLAGS" diff --git a/constants.py b/constants.py index d8ea187c..9eb3488c 100644 --- a/constants.py +++ b/constants.py @@ -29,8 +29,8 @@ "amd64-debian-10-deb-autobake", "amd64-debian-10-last-N-failed", "amd64-debian-11-debug-ps-embedded", - "amd64-debian-11-msan", "amd64-debian-11-msan-clang-16", + "amd64-debian-12-msan-clang-18", "amd64-fedora-38", "amd64-fedora-38-last-N-failed", "amd64-ubuntu-2004-debug", @@ -122,8 +122,8 @@ "aarch64-rhel-9", "amd64-centos-stream9", "amd64-debian-11", - "amd64-debian-11-msan", "amd64-debian-11-msan-clang-16", + "amd64-debian-12-msan-clang-18", "amd64-debian-12-asan-ubsan", "amd64-debian-12-rocksdb", "amd64-fedora-38", diff --git a/master-docker-nonstandard-2/master.cfg b/master-docker-nonstandard-2/master.cfg index 7ea7b96a..f93395b1 100644 --- a/master-docker-nonstandard-2/master.cfg +++ b/master-docker-nonstandard-2/master.cfg @@ -169,8 +169,8 @@ addWorker( addWorker( "apexis-bbw", 3, - "-msan-clang-debian-11", - "quay.io/mariadb-foundation/bb-worker:debian11-msan", + "-msan-clang-debian-12", + "quay.io/mariadb-foundation/bb-worker:debian12-msan-clang-18", jobs=20, save_packages=False, ) @@ -1346,13 +1346,13 @@ c["builders"].append( c["builders"].append( util.BuilderConfig( - name="amd64-debian-11-msan", - workernames=workers["x64-bbw-docker-msan-clang-debian-11"], - tags=["Debian", "quick", "clang-15", "msan"], + name="amd64-debian-12-msan-clang18", + workernames=workers["x64-bbw-docker-msan-clang-debian-12"], + tags=["Debian", "quick", "clang-18", "msan"], collapseRequests=True, nextBuild=nextBuild, canStartBuild=canStartBuild, - properties={"c_compiler": "clang-15", "cxx_compiler": "clang++-15"}, + properties={"c_compiler": "clang-18", "cxx_compiler": "clang++-18"}, locks=getLocks, factory=f_msan_build, )