Files
codebase-memory-mcp/.github/workflows
Martin Vogel 5987629682 ci(msan): lower mmap ASLR entropy on the host before the MSan suite
Since the hosted runner image changed on 2026-11-11 the MSan lane aborts
before any test runs:

  MemorySanitizer: CHECK failed: msan_linux.cpp:193
  "((personality(old_personality | ADDR_NO_RANDOMIZE))) != ((-1))"

The runner kernel now randomizes mmap with more bits than MSan's shadow
layout tolerates, so the runtime tries to re-exec itself with
ADDR_NO_RANDOMIZE; inside the lane's container the default seccomp
profile refuses that personality() call. The last green MSan run was
2026-11-11 01:28Z (run 42939151247); every PR run with the lane since
18:45Z failed this way (runs 43080749803, 43081615012), independent of
the change under test.

The TSan leg hit the same kernel behaviour earlier and lowers
vm.mmap_rnd_bits to 28 on Linux before its suite. Do the same on the
host before the MSan container starts; the container shares the host
kernel, so MSan's layout fits again without disabling ASLR in the
container. `|| true` keeps the step from failing where sysctl is not
permitted, exactly as in the TSan step.

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-11-12 00:14:49 +01:00
..