Skip to content

Fix #1131: roll the save lock back to v0.45.0 plus only the #1108 Ubuntu 26.04 fix - #1133

Open
fdaviddpt wants to merge 3 commits into
mainfrom
fix/1131
Open

fdaviddpt wants to merge 3 commits into
mainfrom
fix/1131

Conversation

@fdaviddpt

Copy link
Copy Markdown
Contributor

Closes #1131

Why

Since v0.45.0 the lock took on takeover and recovery features (#1106 for #1101/#1103, then #1120 and #1123). Every review round since found a new way for two processes to hold the same lock at once (#1119, #1122, #1124/#1125, and the reviews on PRs #1126 and #1129, neither merged). v0.45.1 ships one of those bugs. The maintainer decided (2026-11-14) to put the lock back exactly as v0.45.0 had it, which users ran for weeks with no two-holder report, keep only the #1108 Ubuntu 26.04 fix, and redesign recovery separately.

What changed

#1101 and #1103 will be reopened after merge, with an explanation to their reporters.

[AI-generated]

fdaviddpt and others added 3 commits November 14, 2026 01:01
…ntu 26.04 fix

Every review round since v0.45.0 found a new two-simultaneous-holders
interleaving in the lock takeover/recovery features added in #1106, #1120
and #1123 (see #1119, #1122, #1124/#1125, PRs #1126 and #1129). Rather than
chase another interleaving, revert e704ea2 (#1101/#1103), 4f42987 (#1119/#1120)
and 2fd0547 (#1122/#1123) in full and keep only 6ca944a (#1108/#1112, the
noclobber-guarded pid write on the primary mkdir path) -- the lock as shipped
in v0.45.0, which users ran for weeks without a two-holder report, plus the
Ubuntu 26.04 fix.

scripts/lib-lock.sh and tests/test_lock_primitive.py now match v0.45.0 plus
exactly the #1108/#1112 hunks (diffed and confirmed against both).
tests/test_lock_fork_reduction_1056.py is restored to its pre-#1106 content
(it tested fork-count regressions in the now-removed code). The comments in
scripts/save-session.sh describing the removed takeover are reverted to their
v0.45.0 wording. changelog.d/1119.fixed.md and changelog.d/1122.fixed.md are
removed since they describe behavior that no longer ships; the dangling
trap.d fragments about the removed code (1101-1103, 1122) go with them.
Added changelog.d/1131.changed.md explaining the rollback in plain terms and
noting that #1101 and #1103 are reopened.

Redesigning the stuck-lock takeover/recovery feature is deferred to a
separate pull request with more review time.

Maintainer-approved 2026-11-14.

Closes #1131

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…both dropped settings and the reopened #1103 hang

Co-Authored-By: Max <noreply>
…ack actually ships

Co-Authored-By: Max <noreply>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

lib-lock: roll the save lock back to v0.45.0 (plus the Ubuntu 26.04 fix) for v0.45.2

1 participant