From 33e2c24aa61f84f4250a457f956f697277808da8 Mon Sep 17 00:00:00 2001 From: Wibias <37517432+Wibias@users.noreply.github.com> Date: Tue, 11 Aug 2026 12:37:38 +0200 Subject: [PATCH] ci: classify Bun epoll faults as runtime crashes --- scripts/ci/run-bun-test-batches.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/scripts/ci/run-bun-test-batches.sh b/scripts/ci/run-bun-test-batches.sh index 6031deb91..ff4d20210 100644 --- a/scripts/ci/run-bun-test-batches.sh +++ b/scripts/ci/run-bun-test-batches.sh @@ -67,6 +67,16 @@ is_bun_runtime_crash() { ;; esac + # Bun 1.3.14 can surface a Linux epoll registration failure as exit 1, + # even though the failure comes from Bun's internal WriteStream setup rather + # than a test assertion. Treat only that narrow runtime signature as a crash. + if (( status == 1 )) \ + && grep -Fq '# Unhandled error between tests' "$log_file" \ + && grep -Fq 'error: EEXIST: file already exists, epoll_ctl' "$log_file" \ + && grep -Fq 'at new WriteStream (internal:fs/streams:' "$log_file"; then + return 0 + fi + grep -Eqi \ 'oh no: Bun has crashed|Segmentation fault at address|Illegal instruction|Bus error|Aborted \(core dumped\)' \ "$log_file"