This is the record of an abcd-managed repository

abcdBetav0.16.2 · 2026-11-06

Development record

The history registry's locked rewrite took its lock through one walk of ~/.abcd/history and loaded and wrote index.json through two further walks (registerRepo: withHistoryLock, loadHistoryIndex, writeHistoryIndex each opened the directory afresh), so a same-uid swap of ~/.abcd/history once the lock was held sent the load and the write to a directory whose lock was never taken. The same shape as iss-2609290300313698, found while sweeping that pattern.

issueresolvedminoriss-2609291246244867

The history registry's locked rewrite took its lock through one walk of ~/.abcd/history and loaded and wrote index.json through two further walks (registerRepo: withHistoryLock, loadHistoryIndex, writeHistoryIndex each opened the directory afresh), so a same-uid swap of ~/.abcd/history once the lock was held sent the load and the write to a directory whose lock was never taken. The same shape as iss-2609290300313698, found while sweeping that pattern.

Grounds

  • pursued: the history registry's rewrite happens in the directory its lock covers; shown wrong if TestRegisterRepoWritesTheIndexItLocked sees the registration land in a directory swapped in after the lock

Frontmatter

idiss-2609291246244867
typeissue
lifecycleresolved
severityminor

mentions1