Snapshot restore doesn't clear pending install-scripts.txt; a stuck job then loops on every startup
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 58/100
Research direction
Start by locating the snapshot restore flow and the code that queues or clears user/__manager/startup-scripts/install-scripts.txt; the issue does not name source files or tests. Trace how pending upgrade jobs interact with restore jobs, then check existing restore and startup queue tests. Done means restoring a snapshot replaces or warns about pending jobs so stale upgrades do not keep rerunning at startup.
Written by the indexing model from the issue text.
Description
Custom Node Testing
- I have tried disabling custom nodes and the issue persists (see how to disable custom nodes if you need help)
Expected Behavior
Summary
Restoring a snapshot while upgrades are still queued in startup-scripts/install-scripts.txt leaves the old upgrade jobs in place next to the restore jobs. If any job in that queue never finishes, the file is never cleared, so the whole queue (including re-extracting node packs from zip) runs again on every launch. Under ComfyUI Desktop, this means ComfyUI never starts.
Environment
- ComfyUI Desktop on Windows
- ComfyUI 0.45 (updated from 0.44.2 just before the problem started)
- ComfyUI-Manager:
- Python 3.12.11, torch 2.10.0+cu130
Expected
The snapshot restore replaces (or at least warns about) any pending jobs in install-scripts.txt, so only the restore runs.
Actual Behavior
install-scripts.txtstill contained all the previously queued upgrade jobs after the restore.- On every launch, the Manager re-extracted rgthree-comfy, comfyui-kjnodes and comfyui-impact-pack from zip and reran
pip install -r requirements.txt. This overwrote any manual edit to Impact Pack's requirements.txt. - The
git+https://.../sam2requirement triggers a source build with build isolation. sam2 declares torch as a build dependency, so pip downloads a full torch wheel into the isolated build environment. This happens even when sam2 is already installed in the venv. - That step never finishes within Desktop's 300 s startup timeout, so the queue is never marked done, and the cycle repeats on the next launch.
Steps to Reproduce
- Mark several node packs for update in the Manager, including ComfyUI-Impact-Pack (its requirements.txt contains
git+https://github.com/facebookresearch/sam2). - Restart. Startup hangs on the queued installs (see below), and Desktop reports a timeout waiting for port 8000.
- Restore a snapshot from before the updates and restart.
Debug Logs
[ComfyUI-Manager] Starting dependency installation/(de)activation for the extension
[INFO] Extracted zip file to K:\ComfyDT\custom_nodes\comfyui-impact-pack
Install: pip packages for 'K:\ComfyDT\custom_nodes\comfyui-impact-pack'
Collecting git+https://github.com/facebookresearch/sam2
Resolved https://github.com/facebookresearch/sam2 to commit 2b90b9f5ceec907a1c18123530e92e794ad901a4
Installing build dependencies: started
Other
Workaround
Manually removing the Impact Pack entry from user/__manager/startup-scripts/install-scripts.txt let the remaining jobs complete. The Manager then deleted the file and ComfyUI started normally.
Suggestions
- Clear or replace pending entries in
install-scripts.txtwhen a snapshot restore is queued, or warn the user that jobs are still pending. - Log which queued job is currently running or stuck, and consider a per-job timeout so one hanging job doesn't block the whole queue forever.
- Skip reinstalling
git+requirements whose package is already importable, or install them with--no-build-isolationwhen torch is already present.
- Dominant language
- Python
- Stars
- 146k
- Forks
- 17.4k
- Avg merge
- 19h 44m
- Merged PRs (30d)
- 178
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Comfy-Org/ComfyUI
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
ROCm gfx1100: contiguous-k/v SDPA workaround is gfx1151-only, MiniMax H3 sampling 2.2x slower on RX 7900 XTXPossibly taken @TwelveNights claimed this 3 days ago. OpenPotential Bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Sub-quadratic attention is ~10x slower on long sequences on RDNA2 (gfx1030) because the key passed to bmm is non-contiguousPossibly taken @KornienkoDev claimed this 3 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
MoGe-3 output is nondeterministic on CUDA: sparse_pool3d_mean sums with float index_add_ (atomics)Possibly taken @potoior claimed this 10 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Comfy-Org/ComfyUI#17498 · 1 comment ·
Maintainers usually reply within 1 day
-
TRELLIS.2 texture bake fails under --bf16-vae: BakeTextureFromVoxel 'Got unsupported ScalarType BFloat16'Possibly taken @Shubham-Padkonde claimed this 11 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day
All issues in Comfy-Org/ComfyUI
Similar issues
-
add entry to blockOpen
Difficulty 1/5 Under an hour Newbie friendliness 65/100
StevenBlack/hosts#3299 ·
-
`garak --report` overwrites the input report when its name has no ".report"Possibly taken @0z5a claimed this today. Openneeds-triage
Difficulty 2/5 Half a day Newbie friendliness 72/100
Maintainers usually reply within 2 days
-
plot_graph crashes when a mesh node has no m2m edgePossibly taken @tygvi claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
mllam/neural-lam#883 · 1 comment ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
future-agi/future-agi#4092 · 1 comment ·
Maintainers usually reply within 1 day
-
transcript analytics: a text whose only protected spans the prose pass redacts is withheld wholeOpen
Difficulty 1/5 Under an hour Newbie friendliness 82/100
WingedGuardian/GENesis-AGI#4641 ·
Maintainers usually reply within 1 day