This is the record of an abcd-managed repository

abcdBetav0.16.2 · 2026-11-06

Development record

runner/proc.go (the timer path near :196) and tools/install.go (near :325) kill a command's process group with syscall.Kill(-pid) from a select that races the goroutine calling cmd.Wait: when the leader exits at the moment the timer fires, Wait can reap it first, and in principle the group id could be reused by then, so the SIGKILL would reach another group. The window is tiny and the pattern predates the abcd land change, which moved both onto procgroup.Lead/Kill token for token; abcd land's own gate is immune because exec serialises its Cancel. Route exists without abcd: no, this is abcd's own process handling, so abcd fixes it.

issueopenminoriss-2610150745549092

runner/proc.go (the timer path near :196) and tools/install.go (near :325) kill a command's process group with syscall.Kill(-pid) from a select that races the goroutine calling cmd.Wait: when the leader exits at the moment the timer fires, Wait can reap it first, and in principle the group id could be reused by then, so the SIGKILL would reach another group. The window is tiny and the pattern predates the abcd land change, which moved both onto procgroup.Lead/Kill token for token; abcd land's own gate is immune because exec serialises its Cancel. Route exists without abcd: no, this is abcd's own process handling, so abcd fixes it.

Frontmatter

idiss-2610150745549092
typeissue
lifecycleopen
severityminor