From 3f725b8619ad9ae9eb129e760a47e635972be3ee Mon Sep 17 00:00:00 2001 From: Madelyn Olson <34459052+madolson@users.noreply.github.com> Date: Sun, 17 Mar 2024 00:06:51 -0700 Subject: [PATCH] Change mmap rand bits as a temporary mitigation to resolve asan bug (#13150) There is a new change in linux kernel 6.6.6 that uses randomization of address space to harden security, but it interferes with the way ASAN works. Folks are working on a fix, but this is a temporary mitigation for us to get our CI to be green again. See https://github.com/google/sanitizers/issues/1716 for more information See https://github.com/redis/redis/actions/runs/8305126288/job/22731614306?pr=13149 for a recent failure --- .github/workflows/ci.yml | 5 ++++- .github/workflows/daily.yml | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3778d03262..449ec57495 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,7 +33,10 @@ jobs: # build with TLS module just for compilation coverage run: make SANITIZER=address REDIS_CFLAGS='-Werror -DDEBUG_ASSERTIONS' BUILD_TLS=module - name: testprep - run: sudo apt-get install tcl8.6 tclx -y + # Work around ASAN issue, see https://github.com/google/sanitizers/issues/1716 + run: | + sudo apt-get install tcl8.6 tclx -y + sudo sysctl vm.mmap_rnd_bits=28 - name: test run: ./runtest --verbose --tags -slow --dump-logs - name: module api test diff --git a/.github/workflows/daily.yml b/.github/workflows/daily.yml index 8e382ec80a..cff4061838 100644 --- a/.github/workflows/daily.yml +++ b/.github/workflows/daily.yml @@ -589,9 +589,11 @@ jobs: - name: make run: make SANITIZER=address REDIS_CFLAGS='-DREDIS_TEST -Werror -DDEBUG_ASSERTIONS' - name: testprep + # Work around ASAN issue, see https://github.com/google/sanitizers/issues/1716 run: | sudo apt-get update sudo apt-get install tcl8.6 tclx -y + sudo sysctl vm.mmap_rnd_bits=28 - name: test if: true && !contains(github.event.inputs.skiptests, 'redis') run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}