CI: Work around segfaults in ASan/MSan jobs
Referring to actions/runner-images#9491, the sanitizers in LLVM 14 that
ships with Ubuntu 22.04 are incompatible with high-entropy address space
layout randomization (ASLR), which is enabled in the GitHub runners via
their use of a newer kernel than Ubuntu 22.04 uses.
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index eb482df..4c0cda2 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -94,6 +94,7 @@
- name: Set up build
run: |
sudo apt install -y nasm
+ sudo sysctl vm.mmap_rnd_bits=28
- name: Build
env:
ASAN_OPTIONS: "detect_leaks=1 symbolize=1"
@@ -182,6 +183,9 @@
steps:
- name: Check out code
uses: actions/checkout@v4
+ - name: Set up build
+ run: |
+ sudo sysctl vm.mmap_rnd_bits=28
- name: Build
env:
CTEST_OUTPUT_ON_FAILURE: 1