This is the record of an abcd-managed repository

abcdBetav0.16.2 · 2026-11-06

Development record

The load gate's queue orders waiters by pid, so a waiter with a high pid starves once the machine's process ids wrap. machineload.QueueAhead counts another waiter as ahead when its pid is lower than this one's. After a reboot on 2026-10-16 the ids wrapped: waiters started between 16:07 and 17:26, with pids 50460 to 71218, all queued ahead of one started at 16:04 with pid 96274. That waiter could only wait out its timeout while lower pids kept arriving. The docs and the LOAD rule promise one waiter at a time in queue order.

issueresolvedmajoriss-2610161634043273

The load gate's queue orders waiters by pid, so a waiter with a high pid starves once the machine's process ids wrap. machineload.QueueAhead counts another waiter as ahead when its pid is lower than this one's. After a reboot on 2026-10-16 the ids wrapped: waiters started between 16:07 and 17:26, with pids 50460 to 71218, all queued ahead of one started at 16:04 with pid 96274. That waiter could only wait out its timeout while lower pids kept arriving. The docs and the LOAD rule promise one waiter at a time in queue order.

Grounds

  • pursued: a waiter that started earlier is admitted before any later one whatever their pids, so a wrap of the process ids no longer starves it; a waiter queued behind a later start with a known start time, or a three-waiter cycle at one gate, would show it wrong

Frontmatter

idiss-2610161634043273
typeissue
lifecycleresolved
severitymajor

References1

mentions4