v1.56.92: close the remaining 5 conn_mutex-across-S3 deadlock sites found by audit. Add store.readObjectLocal (disk-only, no S3 fallback) for reads that run under the lock or are best-effort. countFileLines (offer-complete, SSH offer, admin review-accept โ all count lines under conn_mutex; objects are local at completion time) and readDiffFileBytes (diff view, callers use catch null) now use readObjectLocal, so a cache miss degrades gracefully instead of issuing an unbounded S3 GET behind the lock. repoFlakeNix narrows its lock: resolve the manifest path under conn_mutex in a block, release, then read the flake object unlocked (matches the existing safe repo-page handlers). No behavior change on the hot path; eliminates the daemon-wide freeze via these routes. musl ReleaseSafe build exit 0 + full suite green vs throwaway PG (646 pass / 1 pre-existing team-tier live-PG fail)
$ koh steal kepr.uk/kepr@8472057284bc
·
parent: cb201981b21f
discussion
log in to leave a comment.