From 632e52ca2b72f8a3462b22896cb5d25d9d724f9c Mon Sep 17 00:00:00 2001 From: Philippe Antoine Date: Thu, 14 Mar 2024 09:00:15 +0100 Subject: [PATCH] ci: update ubuntu22.04 builds with clang14+asan using a workround about ASLR --- .github/workflows/builds.yml | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/workflows/builds.yml b/.github/workflows/builds.yml index 21d3531f79..3f3fd1241e 100644 --- a/.github/workflows/builds.yml +++ b/.github/workflows/builds.yml @@ -1471,7 +1471,9 @@ jobs: ubuntu-22-04-cov-fuzz: name: Ubuntu 22.04 (fuzz corpus coverage) runs-on: ubuntu-latest - container: ubuntu:22.04 + container: + image: ubuntu:22.04 + options: --privileged needs: [prepare-deps, prepare-cbindgen] steps: - name: Cache ~/.cargo @@ -1519,6 +1521,7 @@ jobs: parallel \ python3-yaml \ software-properties-common \ + sudo \ zlib1g \ zlib1g-dev \ exuberant-ctags \ @@ -1546,6 +1549,11 @@ jobs: cp prep/cbindgen $HOME/.cargo/bin chmod 755 $HOME/.cargo/bin/cbindgen echo "$HOME/.cargo/bin" >> $GITHUB_PATH + - name: Fix kernel mmap rnd bits + # Asan in llvm 14 provided in ubuntu 22.04 is incompatible with + # high-entropy ASLR in much newer kernels that GitHub runners are + # using leading to random crashes: https://github.com/actions/runner-images/issues/9491 + run: sudo sysctl vm.mmap_rnd_bits=28 - run: ./autogen.sh - run: ./configure --with-gnu-ld --enable-fuzztargets --disable-shared --enable-gccprotect env: @@ -1729,7 +1737,9 @@ jobs: ubuntu-22-04-debug-validation: name: Ubuntu 22.04 (Debug Validation) runs-on: ubuntu-22.04 - container: ubuntu:22.04 + container: + image: ubuntu:22.04 + options: --privileged needs: [prepare-deps, prepare-cbindgen] steps: @@ -1776,6 +1786,7 @@ jobs: python3-yaml \ rustc \ software-properties-common \ + sudo \ zlib1g \ zlib1g-dev \ exuberant-ctags @@ -1795,6 +1806,11 @@ jobs: cp prep/cbindgen $HOME/.cargo/bin chmod 755 $HOME/.cargo/bin/cbindgen echo "$HOME/.cargo/bin" >> $GITHUB_PATH + - name: Fix kernel mmap rnd bits + # Asan in llvm 14 provided in ubuntu 22.04 is incompatible with + # high-entropy ASLR in much newer kernels that GitHub runners are + # using leading to random crashes: https://github.com/actions/runner-images/issues/9491 + run: sudo sysctl vm.mmap_rnd_bits=28 - run: ./autogen.sh - run: ./configure --enable-debug-validation env: