]> 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:02:09 +0000 (09:02 +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 728a4f408fe14059cfeaca4cbf47d4a041389e1f..48bb036a59dd131204bc96cce9bbe28d075251fe 100644 (file)
@@ -306,6 +306,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 "${OUT_OF_TREE_WORKSPACE}" && mkdir "${OUT_OF_TREE_WORKSPACE}" && cd "${OUT_OF_TREE_WORKSPACE}"
   script:
@@ -364,6 +365,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
     - test -n "${OUT_OF_TREE_WORKSPACE}" && cp -r bin/tests/system/* "${OUT_OF_TREE_WORKSPACE}/bin/tests/system/" && cd "${OUT_OF_TREE_WORKSPACE}"
     - *setup_interfaces
   script:
@@ -440,6 +442,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
     - test -n "${OUT_OF_TREE_WORKSPACE}" && cd "${OUT_OF_TREE_WORKSPACE}"
   script:
     - make -j${TEST_PARALLEL_JOBS:-1} -k unit V=1
@@ -488,6 +491,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
     - autoreconf -fi
     - *configure
     - make -j${BUILD_PARALLEL_JOBS:-1} V=1