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

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions