From 780a584f447f9f7750eddd6e87367e112617bf3e Mon Sep 17 00:00:00 2001 From: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> Date: Tue, 3 Dec 2024 09:20:16 -0800 Subject: [PATCH] CI: fix Clang UB sanitizer, disable Clang thread sanitizer (#5474) I started seeing this error from the Clang sanitizer workflow in several PRs: ```console E: The repository 'http://archive.ubuntu.com/ubuntu mantic Release' does not have a Release file. E: The repository 'http://archive.ubuntu.com/ubuntu mantic-updates Release' does not have a Release file. E: The repository 'http://archive.ubuntu.com/ubuntu mantic-backports Release' does not have a Release file. E: The repository 'http://security.ubuntu.com/ubuntu mantic-security Release' does not have a Release file. ``` The Ubuntu 23.10 container was introduced in #5181 when `ubuntu-24.04` was pre-release as GitHub-hosted runner. I think we can try to move to `ubuntu-24.04` now and see if this is enough to fix the issue above. --- .github/workflows/clang_sanitizers.yml | 17 ++++------------- .github/workflows/dependencies/clang17.sh | 5 ----- 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/.github/workflows/clang_sanitizers.yml b/.github/workflows/clang_sanitizers.yml index e89cb676a03..d63a329bf64 100644 --- a/.github/workflows/clang_sanitizers.yml +++ b/.github/workflows/clang_sanitizers.yml @@ -15,8 +15,7 @@ concurrency: jobs: build_UB_sanitizer: name: Clang UB sanitizer - runs-on: ubuntu-22.04 - container: ubuntu:23.10 + runs-on: ubuntu-24.04 if: github.event.pull_request.draft == false env: CC: clang @@ -65,10 +64,6 @@ jobs: - name: run with UB sanitizer run: | - # We need these two lines because these tests run inside a docker container - export OMPI_ALLOW_RUN_AS_ROOT=1 - export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1 - export OMP_NUM_THREADS=2 #MPI implementations often leak memory @@ -81,9 +76,9 @@ jobs: build_thread_sanitizer: name: Clang thread sanitizer - runs-on: ubuntu-22.04 - container: ubuntu:23.10 - if: github.event.pull_request.draft == false + runs-on: ubuntu-24.04 + # TODO Fix data race conditions and re-enable job + if: 0 #github.event.pull_request.draft == false env: CC: clang CXX: clang++ @@ -149,10 +144,6 @@ jobs: export TSAN_OPTIONS='ignore_noninstrumented_modules=1' export ARCHER_OPTIONS="verbose=1" - # We need these two lines because these tests run inside a docker container - export OMPI_ALLOW_RUN_AS_ROOT=1 - export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1 - export OMP_NUM_THREADS=2 mpirun -n 2 ./build/bin/warpx.rz Examples/Physics_applications/laser_acceleration/inputs_base_rz warpx.serialize_initial_conditions = 0 diff --git a/.github/workflows/dependencies/clang17.sh b/.github/workflows/dependencies/clang17.sh index d208a9f3f3b..fb04e2a5914 100755 --- a/.github/workflows/dependencies/clang17.sh +++ b/.github/workflows/dependencies/clang17.sh @@ -7,11 +7,6 @@ set -eu -o pipefail -# This dependency file is currently used within a docker container, -# which does not come with sudo. -apt-get -qqq update -apt-get -y install sudo - # `man apt.conf`: # Number of retries to perform. If this is non-zero APT will retry # failed files the given number of times.