Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/hive-priv/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 156dd541e6 hive-priv: count a process being reaped as dead in the build-timeout test
The timeout kill was sound; the test's liveness probe was not. is_dead
read /proc/<pid>/stat and counted only state Z as dead. While init reaps
a zombie, the task shows state X (EXIT_DEAD) for a few microseconds
before its /proc entry goes away. When the poll loop's first probe saw Z
and the final assert's re-probe landed in that window and saw X, the
test failed at once with "grandchild <pid> outlived the timeout". CI run
#6059 shows this: the hive-priv binary finished in 2.00s, so the 5s poll
never ran.

is_dead now counts X as well, so it is monotone (running, Z, X, gone)
and the re-probe can no longer flip it back to alive. A unit test pins
the Z/X/S/R parsing.

Stress loop: the test binary filtered to this test, 2000 runs, 32 in
parallel, with 8 busy-loop CPU hogs. Before: 4/2000 failed, all with the
CI signature (finished in ~2.01s). After: 0/2000.
2026-10-22 07:14:08 +02:00
..
container.rs hive-priv: count a process being reaped as dead in the build-timeout test 2026-10-22 07:14:08 +02:00
container_config.rs hand agents the dashboard port, pinned claude and otel labels at container start 2026-10-22 07:11:46 +02:00
files.rs hive-priv: split main.rs into one module per op family 2026-10-18 03:55:37 +02:00
infra.rs hive-priv: split main.rs into one module per op family 2026-10-18 03:55:37 +02:00
main.rs hive-priv: split main.rs into one module per op family 2026-10-18 03:55:37 +02:00
shared.rs hive-priv: split main.rs into one module per op family 2026-10-18 03:55:37 +02:00
storage.rs hive-priv: split main.rs into one module per op family 2026-10-18 03:55:37 +02:00