mirror of
https://github.com/Comfy-Org/desktop.git
synced 2026-11-04 23:47:43 +00:00
[GH-ISSUE #1532] macOS Desktop stuck on loading spinner after update: backend DB init uses read-only app bundle path #450
Labels
No labels
area: desktop-app
Bounty
bug
bug-cop:answered
bug-cop:response-received
component: installer
component: preload
custom node
dependencies
Design
documentation
duplicate
enhancement
expected
frontend
good first issue
installation
Low-Priority
performance
Planned
platform: cross-platform
platform: windows
Potential Bug
Potential Bug
pull-request
question
refactor
Release
stale
User Support
V1
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Comfy-Org/desktop#450
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @benceruleanlu on GitHub (Jan 15, 2026).
Original GitHub issue: https://github.com/Comfy-Org/desktop/issues/1532
Summary
After updating Desktop, the UI is permanently stuck on the full-screen loading spinner. Backend logs show sqlite DB init fails because the default DB path resolves inside the
.appbundle (read-only), and/object_infonow triggers a DB scan which errors, causing the frontend to never finish loading.Environment
/Applications/ComfyUI.app/Contents/Resources/ComfyUI/Users/ben/Downloads/ComfyUI/userLogs (key lines)
Suspected root cause
Desktop runs ComfyUI from the app bundle. In ComfyUI backend, the default DB path is computed relative to the code location:
So in Desktop it resolves to:
This location is read-only on macOS, so
init_db()fails andSessionstaysNone.In v0.9.1,
/object_infonow callsseed_assets(["models"])(assets autoscan), which immediately tries to open a DB session and fails, returning 500. The frontend waits on/object_infoand remains on the loading spinner indefinitely.Why this appears now
/object_infodidn’t callseed_assets, so the DB failure didn’t block the frontend./object_info, surfacing the read-only DB path issue.Expected
Desktop should use a writable DB location (e.g., under the user directory / Application Support), or pass
--database-url/--user-directoryto the backend so the DB is not inside the app bundle.Possible fixes
--database-urlor--user-directorypointing to a writable path.--user-directoryrather than the code location; and/or guardseed_assets()when DB init fails.Repro (Desktop)
/object_info500.┆Issue is synchronized with this Notion page by Unito
@dosubot[bot] commented on GitHub (Jan 15, 2026):
This issue is caused by the backend database path defaulting to a read-only location inside the macOS app bundle, which prevents SQLite from initializing and causes the frontend to hang on the loading spinner. This surfaced in v0.9.1 because
/object_infonow triggers a DB scan on startup, making DB init failures block the UI.The Desktop app launches the backend with CLI arguments, including
--user-directory, but by default, the DB path may still resolve inside the app bundle if not explicitly overridden. You can inject custom backend launch arguments (like--database-urlpointing to a writable location) using theComfy.Server.LaunchArgssetting in the Desktop app's config. This mechanism is supported in the code and allows you to work around the issue without modifying the app bundle or backend code directly.For maintainers, improving the default DB path logic to always derive from a writable user directory, and/or guarding asset scans when DB init fails, would prevent this class of startup failures. There is currently no official documentation or merged PRs that address this specific macOS DB path issue, but the workaround above is supported by the app's architecture.
Relevant code:
Let me know if you want a step-by-step on how to set
Comfy.Server.LaunchArgsfor this workaround.To reply, just mention @dosu.
Docs are dead. Just use Dosu.
@benceruleanlu commented on GitHub (Jan 15, 2026):
Additional option worth noting:
--user-directoryor--base-directoryinstead of__file__. This fixes all packagers but requires a ComfyUI release and updating the bundled backend.