docs(lane): retract the "mechanism located" claim --- it was unsupported

a92ef7f said the mechanism was located: the launcher blocked in
`do_wait` on a GPU probe child stuck in `futex_do_wait`. Checking the
instrument against the claim shows it does not support it.

The sampler caught 394 distinct launchers across a reproducing sweep and
the longest-lived was 5s TOTAL. For this test to fail, a launcher must
outlive its SIGINT by 5s, so its lifetime would be 8s or more. The
failing instance was never captured. What I described is a healthy
launcher from one of the suite's other tests --- the normal teardown
shape, reported as the defect.

This is the same error as the `available`-memory reading earlier in this
lane: a measurement that looked conclusive, reported before checking
that it discriminated. Retracted here rather than left to be found.

Two facts do survive and constrain the next attempt: `pmacs-gpu`
installs no signal handling at all, so the probe should die on SIGINT's
default action; and its main loop is a 50ms `recv_timeout`, so it never
blocks indefinitely. The next instrument must key on the failing
instance --- launchers outliving ~6s, or a PID recorded by the test
itself --- rather than sampling every launcher and hoping.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016bqGA6s9tTUFzYpbeW3tai
This commit is contained in:
Levi Neuwirth 2026-08-18 14:19:45 +02:00
parent a4117adef8
commit c1cc98ad5a
No known key found for this signature in database
1 changed files with 21 additions and 9 deletions

View File

@ -478,21 +478,33 @@ from #171 and #215.
`ctrl_c_on_launcher_group_does_not_reach_spawned_daemon`. **This `ctrl_c_on_launcher_group_does_not_reach_spawned_daemon`. **This
branch is not implicated**, and no branch can pass this gate stage branch is not implicated**, and no branch can pass this gate stage
on this machine until the underlying defect is fixed. on this machine until the underlying defect is fixed.
- **MECHANISM LOCATED, by sampling the process table twice a second - **MECHANISM STILL NOT ESTABLISHED. The "located" claim below was
through a reproducing sweep.** After the test SIGINTs the RETRACTED on its own evidence** — read this before trusting it.
launcher's process group: A process-table sampler ran through a reproducing sweep and caught
394 distinct launchers, but the **longest-lived was 5s total**. For
this test to fail, a launcher must outlive its SIGINT by 5s, so its
total lifetime would be 8s or more. **The failing instance was
therefore never captured**, and the `do_wait`/`futex_do_wait` pair
below is a healthy launcher from one of the suite's other tests,
not the one that blew the deadline. The observation is kept only
as a description of the NORMAL teardown shape.
- Provisional and unconfirmed, from that sampler:
- `pmacs --gpu --socket …` (the launcher) sits in **`do_wait`** for - `pmacs --gpu --socket …` (the launcher) sits in **`do_wait`** for
the full 5s — it is waiting on a child, not ignoring the signal; the full 5s — it is waiting on a child, not ignoring the signal;
- `pmacs-gpu --headless-managed-probe …` (its child, same process - `pmacs-gpu --headless-managed-probe …` (its child, same process
group, so it received the SIGINT too) sits in group, so it received the SIGINT too) sits in
**`futex_do_wait`** and never exits. **`futex_do_wait`** and never exits.
So the deadline is missed because the GPU probe child does not tear That is what a HEALTHY teardown looks like; it is not evidence
down under SIGINT, and the launcher blocks on it. **The next step about the failing one. Two facts do survive and constrain the next
is the probe's shutdown path**, not the test's timeout — raising attempt: `pmacs-gpu` installs **no signal handling whatsoever**
the 5s would only hide it. Why the child hangs *only* in a complete (grep for SIGINT/signal_hook/sigaction across `pmacs-gpu/src`
sweep is still open; every prior GPU suite in the run has already returns nothing), so the probe should die on SIGINT's default
exercised the adapter by then, which is where to look first. action; and the probe's main loop is a 50ms `recv_timeout`, so it
is never blocked indefinitely. **The next instrument must key on
the failing instance specifically** — sample only launchers whose
lifetime exceeds ~6s, or have the test itself record the PID and
timing — rather than sampling every launcher and hoping.
- **Five further explanations were tested and REFUTED.** Recorded so - **Five further explanations were tested and REFUTED.** Recorded so
nobody re-runs them: nobody re-runs them:
- *Machine load*: refuted. Red on a quiet machine (load 2.77 at - *Machine load*: refuted. Red on a quiet machine (load 2.77 at