Development record
TestStatuslineSlowBranchStillRendersThePartialRow failed once at 0.34s in a local landing preflight under a load average above 50; a retry passed. It is the sibling of TestStatuslineSlowPreviousCommandIsStopped, whose wall-clock budget was fixed in iss-2610080243367006, but that fix did not reach this test, so the same family can still fail under a loaded host.
issueresolvedminoriss-2610090642407850
TestStatuslineSlowBranchStillRendersThePartialRow failed once at 0.34s in a local landing preflight under a load average above 50; a retry passed. It is the sibling of TestStatuslineSlowPreviousCommandIsStopped, whose wall-clock budget was fixed in iss-2610080243367006, but that fix did not reach this test, so the same family can still fail under a loaded host.
Grounds
- pursued: the test passes under -race -count on a loaded host and fails if a git at the deadline is abandoned rather than killed; a failure at abcd's 4s overall ceiling, or a branch git pid still alive after the verb returns, would show it wrong.
Frontmatter
| id | iss-2610090642407850 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2610090642407850-teststatuslineslowbranchstillrendersthep.md
open on GitHub ↗ · commit history ↗
mentions3
- iss-2610080243367006TestStatuslineSlowPreviousCommandIsStopped asserts the status line returns within 300ms; on the CI macOS runner it returned in 326ms for a change that did not touch it (PR #857, run 37707291322), so a fixed wall-clock budget under a race-instrumented shared runner makes it flaky.
- iss-2610110253059544gitutil's one-time git version probe (internal/gitutil lazyfetch.go) runs with no deadline and under a process-wide lock. So the first git call of a process whose git hangs blocks in that probe, and every other git call waits on the lock behind it. For the status line this means a hung git ends the verb at its 500ms overall limit with the wrong message, and the hanging git version child is never killed, so one is left behind on every refresh. Found by the 2026-10-11 drain lane for iss-2610090642407850: a test's hanging fake git, answering the probe, blocked every git in its test process for 30s.
- iss-2610230814127624Two status-line deadline tests fail under machine load and pass in isolation: TestStatuslineSlowBranchStillRendersThePartialRow (stdout empty, the call returned in 2.003s against a 2s git budget) and TestStatuslineKillsTheRootCommitGit (the root-commit git timed out at 2s, so the 'git did not say whether abcd manages the checkout' note was replaced by 'git did not name the checkout within 2s'). Both failed in a make preflight of feat/local-model-pin-r2 on 2026-10-23 at a load of roughly 27 to 40 on 16 cores, and both pass on origin/main and on that branch when run alone. The first is the test iss-2610090642407850 resolved on 2026-10-09; its timing margin is gone again under load, and the second shows the same root cause: a real 2-second budget raced against git on a loaded machine.