From e9207aa7ccb6f06fce42ef0e42e0d7450bef3b3f Mon Sep 17 00:00:00 2001 From: Quasar of Mikus <159663231+quasar-of-mikus@users.noreply.github.com> Date: Tue, 2 Jun 2026 13:05:24 -0400 Subject: [PATCH] fix (MultiGPU): prevent freeze on manual abort when using MultiGPU CFG Split (#14235) * fix (MultiGPU): prevent freeze on manual abort when using MultiGPU CFG Split Problem: Upon manual abort application hangs indefinitely. `InterruptProcessingException` inherits from `BaseException` and bypasses MultiGPU's worker error handling block so thread dies silently, leaving the main thread waiting forever for `result_q.get()` Fix: Catch `comfy.model_management.InterruptProcessingException` instead of `Exception` so it's caught and passed back via `result_q` to unblock the main thread when manual abort signal fires. * oops --- comfy/multigpu.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/comfy/multigpu.py b/comfy/multigpu.py index bb9d334d3..2b6d8260d 100644 --- a/comfy/multigpu.py +++ b/comfy/multigpu.py @@ -54,6 +54,8 @@ class MultiGPUThreadPool: try: result = fn(*args, **kwargs) result_q.put((result, None)) + except comfy.model_management.InterruptProcessingException as e: + result_q.put((None, e)) except Exception as e: result_q.put((None, e))