Diagnose the rlimit seed lane crash on CI

Draft
XA
15h ago
+1042-267

Do not merge. Diagnostics for the test-rlimit-seed exit 139 that the Runtime (Release) lane hit on #448 at ae9252b under ulimit -v 1.5 TiB, which does not reproduce on macOS 27 and stopped after aceb8f9 raised the limit to 6 TiB.

This branch is #448 at aceb8f9 plus one commit. Before make check, the Release leg runs .ci/diag-rlimit-seed.sh and uploads its output with any crash reports for elfuse, bash and busybox that the step produced (artifact rlimit-seed-diag-*). Each run prints its exit status and stderr, with ELFUSE_STARTUP_TRACE=1:

  • at 1, 1.5 and 6 TiB: elfuse --version, elfuse busybox true, elfuse --verbose busybox cat /proc/self/limits, test-proc-limits, and the original case inside $(...) piped to awk
  • at 1.5 TiB: the original case three more times inside $(...), and once outside it

test-proc-limits is expected to fail at 1 TiB without a crash: RLIMIT_AS clamps onto the value it gives RLIMIT_FSIZE. The PR closes once the cause is known.

Refs #448


Summary by cubic

Do not merge: adds CI diagnostics for the test-rlimit-seed crash (exit 139) that the Release lane hit under ulimit -v 1.5 TiB. The crash doesn't reproduce on macOS 27 and stopped once the limit was raised to 6 TiB; this branch is #448 plus one commit.

Before make check, the Release leg runs .ci/diag-rlimit-seed.sh with ELFUSE_STARTUP_TRACE=1 and uploads its output plus any elfuse, bash, or busybox crash reports as rlimit-seed-diag-*. Every run prints its exit status and stderr.

Diagnostic runs

  • At 1, 1.5 and 6 TiB: elfuse --version, elfuse busybox true, elfuse --verbose busybox cat /proc/self/limits, test-proc-limits, and the original case inside $(...) piped to awk
  • At 1.5 TiB: the original case three more times inside $(...), and once outside it

test-proc-limits is expected to fail at 1 TiB without crashing, because RLIMIT_AS clamps onto the value it gives RLIMIT_FSIZE. This PR closes once the cause is known.