SQLite state.db locking and WAL file safety fixes
Cluster 109727. Data as of
Nothing open on GitHub. Fix merged in #110544 on 14 Sep 2026. Check it covers your case.
The short answer
- Known?
- Yes. 4 related items grouped here, 1 issue already closed.
- Fix event
- A fix was merged to main in PR #110544. Check it covers your case. No release data is tracked.
- Tracker
- The maintainers' tracker marks this
resolved, deciding PR #110544. That is separate from the fix event. - Still open
- Nothing open on GitHub.
These issues and fixes address bugs in how state.db WAL/SHM files are handled across processes, including lock drops during permission tightening, stray file unlinking by sibling processes, and safer chmod approaches to avoid disrupting live database connections.
Open issues0
Open PRs0
Fixes on record
-
#109841 fix(state): tightening state.db modes no longer drops the holder's SQLite locks (#109786, salvage #109754)
files:
hermes_state.py,tests/test_hermes_state.py -
#110544 state.db WAL survives sibling closes and stray lock cancellation on every runtime (Desktop chat dies after update; salvage #109758)
files:
hermes_state.py,hermes_state_dbfile.py,hermes_state_lockguard.py,tests/hermes_state/test_deleted_wal_generation_guard.py,tests/hermes_state/test_wal_lock_guard.py
1 PR closed without merging
From the close comments: merged via another change 1
-
#109754 fix(state): tighten existing db files by chmod(2), not an open/fchmod/close cycle · merged via another change →
#109841
Closed issues · 1
- Closed#109727[Bug]: a second Hermes process unlinks the live state.db-wal/-shm and strands the running gateway on Linux (DeletedWalGenerationError)
How this cluster was grouped
-
Link evidence (
structural links throughout): every member is connected by structural evidence: shared changed files, or a closing/superseded reference. -
Pairwise link density
0.50: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36.1.00means every pair is linked.
Pick up a Lab task
Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.
Open the Lab