mirror of
https://github.com/xcat2/xcat-dep.git
synced 2026-09-12 12:36:23 +00:00
b4034cd01c
A riscv64 goconserver `go build` sat 26 minutes with zero CPU ticks across a 20-second sample, both Go pids in futex_wait and no socket open. Nothing bounds a build step, so the cell did not fail -- it hung, and a hung run reads as "still running" rather than as a defect. t/build_timeout.t drives the bounded path with a command that hangs and asserts that the call returns, reports a timeout, and prints the process tree, each pid's wchan, the open socket count and a CPU-tick sample. A second case drives a spinning command and asserts the report calls it slow, not deadlocked, so the sample means something. Each call under test runs in a forked child whose stdio is detached to a file, and the parent bounds that child. An unbounded run must fail this test, not block prove. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>