From 9799b296b889b7f29dbcdb7cdeeec752a5b856a6 Mon Sep 17 00:00:00 2001 From: Jaroslav Bachorik Date: Wed, 10 Jun 2026 17:19:37 +0200 Subject: [PATCH] ci: skip ASan for GraalVM (shadow memory conflict) GraalVM pre-allocates fixed memory in 0x500000000000-0x52f000000000 which conflicts with ASan's required shadow range. No ASLR tuning resolves this (google/sanitizers#856). Skip asan+graal on both amd64 and aarch64. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/test_workflow.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/test_workflow.yml b/.github/workflows/test_workflow.yml index 5fd85598a..19143d0ca 100644 --- a/.github/workflows/test_workflow.yml +++ b/.github/workflows/test_workflow.yml @@ -117,6 +117,13 @@ jobs: fi fi + # GraalVM pre-allocates fixed memory that conflicts with ASan's shadow range + # [0x00007fff7000-0x10007fff7fff]; vm.mmap_rnd_bits tuning does not help (google/sanitizers#856). + if [[ "${{ matrix.config }}" == "asan" && "${{ matrix.java_version }}" =~ graal ]]; then + echo "::notice::Skipping ASan for GraalVM (incompatible shadow memory ranges — google/sanitizers#856)" + exit 0 + fi + MAX_ATTEMPTS=1 if [[ "${{ matrix.config }}" == "asan" && "${{ matrix.java_version }}" =~ (j9|ibm) ]]; then MAX_ATTEMPTS=2 @@ -409,6 +416,13 @@ jobs: GDB_WATCHDOG_PID=$! fi + # GraalVM pre-allocates fixed memory that conflicts with ASan's shadow range + # [0x00007fff7000-0x10007fff7fff]; vm.mmap_rnd_bits tuning does not help (google/sanitizers#856). + if [[ "${{ matrix.config }}" == "asan" && "${{ matrix.java_version }}" =~ graal ]]; then + echo "::notice::Skipping ASan for GraalVM (incompatible shadow memory ranges — google/sanitizers#856)" + exit 0 + fi + MAX_ATTEMPTS=1 if [[ "${{ matrix.config }}" == "asan" && "${{ matrix.java_version }}" =~ (j9|ibm) ]]; then MAX_ATTEMPTS=2