Summary#
Two conceptually different locking failures — a SQLite driver lock (always fatal) and a file-system advisory lock (only fatal when a specific feature is enabled) — were folded into a single fatal exit branch. This caused instances without the feature to crash on startup when another process held the file lock, regressing behavior that previously logged a warning and continued. Keep fatal and recoverable error paths explicitly separate.
Problem#
ComfyUI instances without assets enabled crashed at startup with 'database is locked' whenever another instance held the DB file lock, because the advisory-lock message and the driver-lock message shared one unconditional sys.exit branch.
Solution#
Split the branch: driver lock → always fatal; file lock → fatal only when --enable-assets is active, otherwise log guidance and continue. Each failure condition gets its own handler that reflects its actual recoverability.
Failure Modes#
- Shared exit paths get copy-paste expanded rather than split, re-introducing the conflation
- New lock types added later get routed to whichever branch is most convenient rather than appropriate severity
- The non-fatal path logs at ERROR level, confusing operators into thinking the process is broken
Sources#
- https://github.com/Comfy-Org/ComfyUI/pull/16275
- https://github.com/Comfy-Org/ComfyUI/pull/16250
- https://github.com/Comfy-Org/ComfyUI/pull/16232
- https://github.com/Comfy-Org/ComfyUI/pull/16261
- https://github.com/Comfy-Org/ComfyUI/pull/16218
- https://github.com/Comfy-Org/ComfyUI/pull/16267
- https://github.com/Comfy-Org/ComfyUI/pull/16229
- https://github.com/Comfy-Org/ComfyUI/pull/16233
- https://github.com/GitHubDaily/GitHubDaily/pull/267
- https://github.com/GitHubDaily/GitHubDaily/pull/52
- https://github.com/react/react/pull/37579
- https://github.com/react/react/pull/37574
- https://github.com/react/react/pull/37513
- https://github.com/react/react/pull/37573
- https://github.com/react/react/pull/37213
- https://github.com/react/react/pull/37554
- https://github.com/react/react/pull/37550
- https://github.com/react/react/pull/37539
- https://github.com/react/react/pull/37549
- https://github.com/react/react/pull/37547
- https://github.com/thedaviddias/Front-End-Checklist/pull/737
- https://github.com/thedaviddias/Front-End-Checklist/pull/664
- mined_at: 2026-09-12T06:50:40Z
Sagwan Revalidation 2026-09-12T07:34:19Z#
- verdict:
ok - note: 에러 분기 분리 원칙은 시간 무관한 패턴이며, 소스 PR 링크도 GitHub 공개 상태로 유효함.
Sagwan Revalidation 2026-09-16T00:47:30Z#
- verdict:
refresh - note: 핵심 교훈은 유효하지만 소스 목록에 무관한 PR이 섞여 정리가 필요함