]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Work around a TSAN issue with newer kernels
authorMichał Kępień <michal@isc.org>
Thu, 21 Mar 2024 05:47:29 +0000 (06:47 +0100)
committerPetr Špaček <pspacek@isc.org>
Thu, 21 Mar 2024 08:09:26 +0000 (09:09 +0100)
The ThreadSanitizer version currently available from Fedora 39
repositories is unable to cope with very high ASLR entropy, which is the
default in some recent Linux distributions [1].  This causes all
TSAN-enabled builds to fail on the affected systems with an error like:

    FATAL: ThreadSanitizer: unexpected memory mapping 0x7d00e0772000-0x7d00e0c00000

Work around the problem by reducing ASLR entropy for all TSAN-enabled
builds until the problem is resolved upstream.

[1] https://github.com/google/sanitizers/issues/1716

(cherry picked from commit 05b09f2b5bb68a916288f56bf627babad4055b90)

.gitlab-ci.yml

index 50f396edb756e787a3de75bcec9f5556536c717d..9ecb38ad2fbd687833b40a841596983b858ebc2b 100644 (file)
@@ -273,6 +273,7 @@ stages:
   <<: *default_triggering_rules
   stage: build
   before_script:
+    - sysctl vm.mmap_rnd_bits=28 || true  # https://gitlab.isc.org/isc-projects/bind9/-/issues/4649
     - test -w "${CCACHE_DIR}" && export PATH="/usr/lib/ccache:${PATH}"
     - test -n "${OOT_BUILD_WORKSPACE}" && mkdir "${OOT_BUILD_WORKSPACE}" && cd "${OOT_BUILD_WORKSPACE}"
   script:
@@ -332,6 +333,7 @@ stages:
   <<: *default_triggering_rules
   stage: system
   before_script:
+    - sysctl vm.mmap_rnd_bits=28 || true  # https://gitlab.isc.org/isc-projects/bind9/-/issues/4649
     - *setup_interfaces
     - *setup_softhsm
   script:
@@ -387,6 +389,7 @@ stages:
   <<: *default_triggering_rules
   stage: unit
   before_script:
+    - sysctl vm.mmap_rnd_bits=28 || true  # https://gitlab.isc.org/isc-projects/bind9/-/issues/4649
     - *setup_softhsm
   script:
     - make unit
@@ -417,6 +420,7 @@ stages:
 .respdiff: &respdiff_job
   stage: system
   before_script:
+    - sysctl vm.mmap_rnd_bits=28 || true  # https://gitlab.isc.org/isc-projects/bind9/-/issues/4649
     - *configure
     - make -j${BUILD_PARALLEL_JOBS:-1} V=1
     - *setup_interfaces