Skip to content

[Bug]: spawned Bun child processes stop producing output and never exit, on both macOS and Windows CI legs #4956

Description

@lidge-jun

Client or integration

CI only (GitHub Actions hosted macOS runners); not a client-facing path.

Area

CI and release

Summary

Sharded macOS test legs stop producing output mid-suite and are killed at their job budget with zero reported failures. Across four occurrences the signature is identical: a test logs PASS, then the job emits nothing at all for 16 to 18 minutes until the runner cancels it, and Bun and tee are orphan-killed. This has been present since at least the 2.58.0 release round and was recorded there as capacity cancellation, which the evidence below does not support. A related but distinct failure mode appears where a hook timeout exists to stop it: the same shard reports a beforeEach/afterEach hook timed out for this test at just over 30s instead of going silent.

Two consequences. Releases have been cut without complete macOS evidence while believing macOS reds were infrastructure. And because the silent form produces a cancellation rather than a failure, it is indistinguishable at a glance from the genuine capacity cancellations that also occur, so it has survived several rounds of triage.

macos control hitting its 30-minute budget is a separate problem with a different cause and is tracked in #4905. Do not merge the two.

Reproduction

Occurs on hosted macOS runners during the sharded platform-macos legs. It is not reproducible locally and no local verification was attempted for this report.

Silent form, four occurrences:

  1. Run 35277719805, job 105392401547, macos 1/2, at dev a0f611d. Last output 21:52:22, a PASS in tests/codex-integration/codex-inject-write-lock.test.ts case a held lock makes real injection report busy and write nothing. Silence for 16m15s until cancellation at 22:08:37.
  2. PR fix(reauth): preserve polling through cancellation HTTP races #4945, macos 2/2. Last PASS full ordering ignores empty entries and accepts raw upstream ids with slashes at 21:53:21.617. Silence for 17m33s until cancellation at 22:10:54.
  3. Run 35247708168 attempt 2, job 105303640713, macos 2, during the 2.58.0 round. 2514 pass / 0 fail, then 17m32.9s of silence after a catalog picker test until the 20-minute cancellation.
  4. Run 35254182109 attempt 1, job 105313855869, macos 2. 2512 pass / 0 fail, then 17m19.1s of silence after full ordering ignores empty entries and accepts raw upstream ids with slashes — the same locus as occurrence 2.

Hook-timeout form, two occurrences on unrelated branches:

  1. Run 35279139497, job 105396939652, macos 2/2 at cca06b1 (PR test(cli): measure cold status setup before timed projections #4948, which changes only tests/cli/cli-status-json.test.ts). server combo failover 030 activation matrix > connect cancellation wins with 499, no backup, warning, or cooldown at 30066.66ms, hook timeout. 12807 pass / 12 skip / 1 fail.
  2. Job 105398860800, macos 2/2 at 50ecf06 (PR fix(responses): enforce configured total sends during recovery #4947). Identical case, 30050.44ms, hook timeout. 12810 pass / 12 skip / 1 fail.

Neither branch touches tests/server/server-combo-failover-e2e.test.ts.

Version

2.59.0 (dev), and retrospectively 2.58.0.

Operating system

macOS, GitHub-hosted runners (Apple Silicon; /opt/homebrew in the job environment).

Provider and model

Not provider-specific.

Logs or error output

(fail) server combo failover 030 activation matrix > connect cancellation wins with 499, no backup, warning, or cooldown [30066.66ms]
  ^ a beforeEach/afterEach hook timed out for this test.
 12807 pass
 12 skip
 1 fail
Ran 12820 tests across 668 files. [649.49s]
##[error]macOS suite failed (exit 1).

Screenshots and supporting files

Not applicable.

Redacted configuration

Not applicable; this is a CI-environment defect with no user configuration involved.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingplatformOS/service/tray/ACL (Windows-heavy, not Windows-only)priority: P1High: reproducible failure in a core path (routing, failover, account pool, streaming, usage, auth,

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions