Skip to content

CI: macos-x86 (TCG) full suite hangs silently mid provisioning.test.ts #76

Description

@mobileskyfi

First full-suite run on macos-15-intel (TCG) — possible since PR #75 — hung rather than failing: https://github.com/tikoci/quickchr/actions/runs/28749608475/job/85246320846

Observed

The leg ran fine for ~1h: earlier files passed sequentially, then provisioning.test.ts passed 9 of its ~11 tests (each 40-62s, comparable to KVM timings!) and went silent for 30+ min after:

(pass) provisioning corner cases > createUser with an invalid group throws PROCESS_FAILED [41165.41ms]

No further output. The same file passed on windows-x86/TCG in the same run (491s, 11 tests) — so this is not "provisioning can't work under TCG".

Why it's odd

  • Tests in this file boot machines sequentially and each prior boot took ~40-60s — a wedged boot should have failed a per-test timeout and printed, not gone silent.
  • 30 min of no output at all smells like the bun test process itself starved or blocked — a leftover TCG QEMU pinning both cores (the reap step only runs after the loop), a hung image download without a timeout, or an OS credential-store (Bun.secrets/Keychain) prompt blocking headlessly — the last passing tests exercise the Keychain path.
  • Cancellation itself took several minutes to take effect, consistent with a starved runner.
  • Matches the historical signature: macos-x86 "runner lost communication ~64 min" (pre-refactor), which was previously masked with continue-on-error instead of investigated.

Evidence

  • Run was cancelled at ~T+60min to free the runner; artifact integration-logs-macos-x86-stable (integration-output.txt, timing, machine dirs, boot-log) should carry the post-mortem — analyze which test was next and what its machine's qemu.log shows.
  • Windows leg of the same run: 59/60 pass (see Windows support: first-class support research and alignment (umbrella) #40 comment) — the TCG-hostility is macos-x86-specific here.

Done-when

  1. Artifact post-mortem identifies the blocked test + blocking syscall/process (or shows the artifact never uploaded — itself evidence of full runner starvation).
  2. Local repro attempt: run provisioning.test.ts on the Intel Mac under forced TCG (QUICKCHR_INTEGRATION=1 + accel override) — we have the exact hardware class locally.
  3. Fix or bound the hang (e.g. per-file cap — see the run-time caps issue) and re-dispatch integration.yml -f platforms=macos-x86 to confirm the leg completes (pass or honest fail).

🤖 Filed from live-run evidence by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1unblocks other work / removes active friction — take nextarea:ciCI workflows, publish, verification matrixarea:qemuQEMU/CHR boot, virtio, acceleration, channelsbugSomething isn't workingci:slow-platform-flakeCI flakes on slow/TCG or contended runners — grouped series, share evidence across issuesplatform:macMac-specifc issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions