]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
gitlab: use 'setarch -R' to workaround tsan bug
authorDaniel P. Berrangé <berrange@redhat.com>
Mon, 13 May 2024 11:15:51 +0000 (12:15 +0100)
committerMichael Tokarev <mjt@tls.msk.ru>
Mon, 27 May 2024 19:05:10 +0000 (22:05 +0300)
The TSAN job started failing when gitlab rolled out their latest
release. The root cause is a change in the Google COS version used
on shared runners. This brings a kernel running with

 vm.mmap_rnd_bits = 31

which is incompatible with TSAN in LLVM < 18, which only supports
upto '28'. LLVM 18 can support upto '30', and failing that will
re-exec itself to turn off VA randomization.

Our LLVM is too old for now, but we can run with 'setarch -R make ..'
to turn off VA randomization ourselves.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240513111551.488088-4-berrange@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
(cherry picked from commit b563959b906db53fb4bcaef1351f11a51c4b9582)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
.gitlab-ci.d/buildtest.yml

index 0a01746cea9f214c107721c24a0501751b35171c..96d6744525bf7b635599f89e59e208705ce322c5 100644 (file)
@@ -506,6 +506,9 @@ tsan-build:
     CONFIGURE_ARGS: --enable-tsan --cc=clang --cxx=clang++
           --enable-trace-backends=ust --disable-slirp
     TARGETS: x86_64-softmmu ppc64-softmmu riscv64-softmmu x86_64-linux-user
+    # Remove when we switch to a distro with clang >= 18
+    # https://github.com/google/sanitizers/issues/1716
+    MAKE: setarch -R make
 
 # gcov is a GCC features
 gcov: