Files
PozzettiAndrea-ComfyUI-SAM3/dev/linux-cpu/session.log
T
2026-05-13 08:05:50 +00:00

925 lines
140 KiB
Plaintext

[00:00] Crash dump logging enabled: /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/comfy-test-logs/SAM3-0758/dev/linux-cpu/crash_dump.log
[00:00]
[00:00] [1/5] SYNTAX
[00:00] ----------------------------------------
[00:00]
[DEBUG] server=None, server_url=None, api=None
[00:00] Found pyproject.toml (modern format)
[00:00] Found requirements.txt (legacy format)
[00:00] Unicode check: OK (all characters cp1252-safe)
[00:00] Forbidden patterns check: OK
[00:00] [SYNTAX] PASSED
[00:00]
[00:00] [2/5] INSTALL
[00:00] ----------------------------------------
[00:00]
[DEBUG] server=None, server_url=None, api=None
[00:00]
Setting up ComfyUI...
[00:00] Creating virtual environment...
[00:00] Running: uv venv /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv --python 3.10
[00:01] Cloning ComfyUI (latest)...
[00:02] Running: git clone --depth 1 https://github.com/comfyanonymous/ComfyUI.git /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI
[00:03] Installing ComfyUI requirements...
[00:03] Running: uv pip install --python /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/bin/python -r /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/requirements.txt
[00:21]
Installing custom node...
[00:21] Copying ComfyUI-SAM3 to custom_nodes/...
[00:21] Installing node requirements...
[00:21] Running: uv pip install --python /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/bin/python -r /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/requirements.txt
[00:22]
Running install.py...
[00:22] Running: /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/bin/python /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/install.py
[00:22]
[00:22] Installing 2 node dependencies...
[00:23] Cloning ComfyUI-VideoHelperSuite...
[00:23] Installing requirements for ComfyUI-VideoHelperSuite...
[00:24] Cloning ComfyUI-Multiband...
[00:24] Installing requirements for ComfyUI-Multiband...
[00:24]
[00:24] [requirements] Re-installing main package requirements...
[00:24] Installing requirements for ComfyUI-SAM3...
[00:24] [comfy-env] _discover: scanning /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes
[00:24] [comfy-env] _discover: ComfyUI-Multiband: no comfy-env.toml found
[00:25] [comfy-env] _discover: ComfyUI-SAM3 -> sam3-nodes (custom_nodes/ComfyUI-SAM3/nodes/comfy-env.toml)
[00:25] [comfy-env] _discover: ComfyUI-VideoHelperSuite: no comfy-env.toml found
[00:25] [comfy-env] Workspace: /home/runner/.ce
[00:25] [comfy-env] ComfyUI: /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI
[00:25] [comfy-env] Found 1 node config(s):
[00:25] - sam3-nodes <- custom_nodes/ComfyUI-SAM3/nodes/comfy-env.toml (python=host)
[00:25] [comfy-env] Bootstrap interpreter has python 3.10 + torch 2.11.0 (cpu). Looking for cuda-only wheels matching cpu/torch2.11/cp310.
[00:27] [comfy-env] GPU: No GPU detected
[00:27] [comfy-env] No CUDA detected -- pinning comfyui torch to CPU index
[00:27] [comfy-env] Host glibc 2.39 -> system-requirements
[00:27] Generated /home/runner/.ce/pixi.toml
[00:27] [comfy-env] Installing 1 environment(s):
[00:27] - sam3-nodes (python=host, 19 pypi deps, 3 cuda wheels)
[00:27] [comfy-env] Running `pixi install -e sam3-nodes`...
[00:32] WARN Skipped running the post-link scripts because `run-post-link-scripts` = `false`
[00:32] - bin/.librsvg-pre-unlink.sh
[00:32] To enable them, run:
[00:32] pixi config set --local run-post-link-scripts insecure
[00:32] More info:
[00:32] https://pixi.sh/latest/reference/pixi_configuration/#run-post-link-scripts
[00:38] ✔ The sam3-nodes environment has been installed.
[00:38] [comfy-env] Recorded install hash e670dc2f7216 -> /home/runner/.ce/install.hash
[00:38] [comfy-env] Install log: /home/runner/.ce/install.log
[00:38]
[00:38] Installation complete!
[00:39] Installing 2 node dependency(ies)...
[00:39] ComfyUI-VideoHelperSuite from Kosinkadink/ComfyUI-VideoHelperSuite
[00:39] ComfyUI-VideoHelperSuite already exists, skipping...
[00:39] ComfyUI-Multiband from PozzettiAndrea/ComfyUI-Multiband
[00:39] ComfyUI-Multiband already exists, skipping...
[00:39] Installing validation endpoint...
[00:39] Cloning PozzettiAndrea/ComfyUI-validate-endpoint...
[00:39] Running: git clone --depth 1 https://github.com/PozzettiAndrea/ComfyUI-validate-endpoint.git /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-validate-endpoint
[00:39] CUDA packages absent (will mock): cc_torch, torch_generic_nms, flash_attn
[00:39] [INSTALL] PASSED
[00:39]
[00:39] [3/5] REGISTRATION
[00:39] ----------------------------------------
[00:39]
[DEBUG] server=None, server_url=None, api=None
[00:39]
Starting ComfyUI server...
[00:39] Starting ComfyUI server on port 41883...
[00:39] CUDA mock packages: cc_torch, torch_generic_nms, flash_attn
[00:39] Starting ComfyUI server on port 41883...
[00:39] Waiting for server to be ready (timeout: 600s)...
[00:40] [ComfyUI] setup plugin alembic.autogenerate.schemas
[00:40] [ComfyUI] setup plugin alembic.autogenerate.tables
[00:40] [ComfyUI] setup plugin alembic.autogenerate.types
[00:40] [ComfyUI] setup plugin alembic.autogenerate.constraints
[00:40] [ComfyUI] setup plugin alembic.autogenerate.defaults
[00:40] [ComfyUI] setup plugin alembic.autogenerate.comments
[00:40] [ComfyUI] [comfy-env] ComfyUI-SAM3: 1 isolation env(s):
[00:40] [ComfyUI] [comfy-env] nodes -> /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes
[00:40] [ComfyUI] [comfy-env] Workspace: /home/runner/.ce
[00:40] [ComfyUI] [comfy-env] env: /home/runner/.ce/.pixi/envs/sam3-nodes [OK]
[00:40] [ComfyUI] [comfy-env] prestartup complete
[00:40] [ComfyUI]
[00:40] [ComfyUI] Prestartup times for custom nodes:
[00:40] [ComfyUI] 0.2 seconds: /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3
[00:40] [ComfyUI]
[00:44] [ComfyUI] Found comfy_kitchen backend triton: {'available': False, 'disabled': True, 'unavailable_reason': 'Neither CUDA nor XPU available on this system', 'capabilities': []}
[00:44] [ComfyUI] Found comfy_kitchen backend cuda: {'available': False, 'disabled': False, 'unavailable_reason': 'CUDA not available on this system', 'capabilities': []}
[00:44] [ComfyUI] Found comfy_kitchen backend eager: {'available': True, 'disabled': False, 'unavailable_reason': None, 'capabilities': ['apply_rope', 'apply_rope1', 'dequantize_mxfp8', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'quantize_mxfp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8', 'scaled_mm_mxfp8', 'scaled_mm_nvfp4']}
[00:44] [ComfyUI] Checkpoint files will always be loaded safely.
[00:44] [ComfyUI] Total VRAM 15990 MB, total RAM 15990 MB
[00:44] [ComfyUI] pytorch version: 2.11.0+cu130
[00:44] [ComfyUI] Set vram state to: DISABLED
[00:44] [ComfyUI] Device: cpu
[00:45] [ComfyUI] Using sub quadratic optimization for attention, if you have memory or speed issues try using: --use-split-cross-attention
[00:49] [ComfyUI] Python version: 3.10.20 (main, May 10 2026, 19:27:29) [Clang 22.1.3 ]
[00:49] [ComfyUI] ComfyUI version: 0.21.0
[00:49] [ComfyUI] comfy-aimdo version: 0.3.0
[00:49] [ComfyUI] comfy-kitchen version: 0.2.8
[00:49] [ComfyUI] ****** User settings have been changed to be stored on the server instead of browser storage. ******
[00:49] [ComfyUI] ****** For multi-user setups add the --multi-user CLI argument to enable multiple user profiles. ******
[00:49] [ComfyUI] ComfyUI frontend version: 1.43.18
[00:49] [ComfyUI] [Prompt Server] web root: /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfyui_frontend_package/static
[00:49] [ComfyUI] Asset seeder disabled
[00:51] [ComfyUI] ComfyUI-Multiband loaded: 15 nodes registered
[00:52] [ComfyUI] [comfy-env] Version: 0.3.87
[00:52] [ComfyUI] [comfy-env] register_nodes: ComfyUI-SAM3
[00:52] [ComfyUI] [comfy-env] ComfyUI source dir: /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI
[00:52] [ComfyUI] [comfy-env] Found 1 isolation env(s)
[00:52] [ComfyUI] [comfy-env] Scanning nodes metadata (isolation root)...
[00:52] [ComfyUI] [comfy-env] Metadata scan: /home/runner/.pixi/bin/pixi run --as-is --manifest-path /home/runner/.ce/pixi.toml -e sam3-nodes python /tmp/comfy_meta_4i5phdvx.py /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3 nodes /tmp/comfy_meta_out_m_ty7sqe.pkl
[00:52] [ComfyUI] [comfy-env] Scan env PATH for nodes:
[00:52] [ComfyUI] [comfy-env] [0] /opt/hostedtoolcache/Python/3.12.13/x64/bin
[00:52] [ComfyUI] [comfy-env] [1] /opt/hostedtoolcache/Python/3.12.13/x64
[00:52] [ComfyUI] [comfy-env] [2] /snap/bin
[00:52] [ComfyUI] [comfy-env] [3] /home/runner/.local/bin
[00:52] [ComfyUI] [comfy-env] [4] /opt/pipx_bin
[00:52] [ComfyUI] [comfy-env] [5] /home/runner/.cargo/bin
[00:52] [ComfyUI] [comfy-env] [6] /home/runner/.config/composer/vendor/bin
[00:52] [ComfyUI] [comfy-env] [7] /usr/local/.ghcup/bin
[00:52] [ComfyUI] [comfy-env] [8] /home/runner/.dotnet/tools
[00:52] [ComfyUI] [comfy-env] [9] /usr/local/sbin
[00:52] [ComfyUI] [comfy-env] [10] /usr/local/bin
[00:52] [ComfyUI] [comfy-env] [11] /usr/sbin
[00:52] [ComfyUI] [comfy-env] [12] /usr/bin
[00:52] [ComfyUI] [comfy-env] [13] /sbin
[00:52] [ComfyUI] [comfy-env] [14] /bin
[00:52] [ComfyUI] [comfy-env] [15] /usr/games
[00:52] [ComfyUI] [comfy-env] [16] /usr/local/games
[00:52] [ComfyUI] [comfy-env] [17] /snap/bin
[00:58] [ComfyUI] [comfy-env] Metadata scan stderr for nodes:
[00:58] [ComfyUI] [comfy-env] [meta-scan] importing nodes from /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3
[00:58] [ComfyUI] [comfy-env] [meta-scan] import OK
[00:58] [ComfyUI] [comfy-env] Scanned nodes: 15 nodes (6.0s)
[00:58] [ComfyUI] [comfy-env] Scanned nodes root: 15 nodes (6.0s)
[00:58] [ComfyUI] [comfy-env] Registered proxy route: POST /sam3/interactive_segment_one -> nodes.sam3_interactive._api_segment_one
[00:58] [ComfyUI] [comfy-env] Imported nodes root: 15 nodes (isolation)
[00:58] [ComfyUI] [comfy-env] Registered 15 total nodes
[00:58] [ComfyUI]
[00:58] [ComfyUI] Import times for custom nodes:
[00:58] [ComfyUI] 0.0 seconds: /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/websocket_image_save.py
[00:58] [ComfyUI] 0.0 seconds: /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-validate-endpoint
[00:58] [ComfyUI] 0.0 seconds: /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-VideoHelperSuite
[00:58] [ComfyUI] 0.1 seconds: /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-Multiband
[00:58] [ComfyUI] 6.2 seconds: /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3
[00:58] [ComfyUI]
[00:58] [ComfyUI] Context impl SQLiteImpl.
[00:58] [ComfyUI] Will assume non-transactional DDL.
[00:58] [ComfyUI] Context impl SQLiteImpl.
[00:58] [ComfyUI] Will assume non-transactional DDL.
[00:58] [ComfyUI] Running upgrade -> 0001_assets, Initial assets schema
[00:58] [ComfyUI] Revision ID: 0001_assets
[00:58] [ComfyUI] Revises: None
[00:58] [ComfyUI] Create Date: 2025-12-10 00:00:00
[00:58] [ComfyUI] Running upgrade 0001_assets -> 0002_merge_to_asset_references, Merge AssetInfo and AssetCacheState into unified asset_references table.
[00:58] [ComfyUI] Running upgrade 0002_merge_to_asset_references -> 0003_add_metadata_job_id, Add system_metadata and job_id columns to asset_references.
[00:58] [ComfyUI] Change preview_id FK from assets.id to asset_references.id.
[00:58] [ComfyUI] Database upgraded from None to 0003_add_metadata_job_id
[00:58] [ComfyUI] Starting server
[00:58] [ComfyUI]
[00:58] [ComfyUI] To see the GUI go to: http://127.0.0.1:41883
[00:59] Server responding, waiting for nodes to load...
[01:19] Server is ready!
[01:19] Checking for import errors in server logs...
[01:19] No import errors detected
[01:19] Found 784 registered nodes
[01:19] [REGISTRATION] PASSED
[01:19]
[01:19] [4/5] INSTANTIATION
[01:19] ----------------------------------------
[01:19]
[DEBUG] server=<comfy_test.comfyui.server.ComfyUIServer object at 0x7f54831b20c0>, server_url=None, api=<comfy_test.comfyui.api.ComfyUIAPI object at 0x7f5482deb800>
[01:19] Testing node constructors...
[01:22] All 15 node(s) instantiated successfully!
[01:22] [INSTANTIATION] PASSED
[01:22]
[01:22] [5/5] EXECUTION
[01:22] ----------------------------------------
[01:22]
[DEBUG] server=<comfy_test.comfyui.server.ComfyUIServer object at 0x7f54831b20c0>, server_url=None, api=<comfy_test.comfyui.api.ComfyUIAPI object at 0x7f5482deb800>
[01:22] CPU runner - will execute 4 workflow(s)
[01:22] Running 5 workflow(s) (all with videos)...
[01:22] Installing screenshot dependencies (playwright, pillow)...
[01:22] Packages installed, downloading chromium browser...
[01:31] Screenshot dependencies installed successfully
[01:32] Starting headless browser...
[01:32] Installing Mesa llvmpipe (apt)...
[01:43] Mesa install failed: E: Unable to locate package libegl1-mesa
[01:43] No GPU, no Mesa -- using SwiftShader software rendering
[01:45] Capturing execution frames: image_seg_point.json
[01:47] [ComfyUI] [DEPRECATION WARNING] Detected import of deprecated legacy API: /extensions/core/widgetInputs.js. This is likely caused by a custom node extension using outdated APIs. Please update your extensions or contact the extension author for an updated version.
[01:52] Frame 1 saved (frame_000.jpg, t=0.0s)
[01:52] Validating workflow...
[01:52] [ComfyUI] === /validate endpoint called ===
[01:52] [ComfyUI] Received JSON with keys: ['prompt']
[01:52] [ComfyUI] Prompt has 6 nodes
[01:52] [ComfyUI] Node 1: LoadImage
[01:52] [ComfyUI] Inputs: {"image": "example_image.jpg"}
[01:52] [ComfyUI] Node 15: SAM3PointCollector
[01:52] [ComfyUI] Inputs: {"points_store": "{\"positive\":[{\"x\":426.27735719657574,\"y\":321.42611685978835},{\"x\":417.13743597288953,\"y\":407.3413796907987},{\"x\":431.76130993078743,\"y\":549.9241563039649}],\"negative\"
[01:52] [ComfyUI] Node 28: PreviewImage
[01:52] [ComfyUI] Inputs: {"images": ["31", 2]}
[01:52] [ComfyUI] Node 29: MaskPreview
[01:52] [ComfyUI] Inputs: {"mask": ["31", 0]}
[01:52] Queuing workflow for execution...
[01:52] [ComfyUI] Node 30: LoadSAM3Model
[01:52] [ComfyUI] Inputs: {"precision": "auto", "compile": false}
[01:52] [ComfyUI] Node 31: SAM3Segmentation
[01:52] [ComfyUI] Inputs: {"refinement_iterations": 0, "use_multimask": true, "output_best_mask": true, "sam3_model_config": ["30", 0], "image": ["1", 0], "positive_points": ["15", 0], "negative_points": ["15", 1]}
[01:52] [ComfyUI] Generated prompt_id: b4127439-7fa9-4b9f-9930-615cdfb2e938
[01:52] [ComfyUI] Calling execution.validate_prompt()...
[01:52] [ComfyUI] Validation result: valid=True
[01:52] [ComfyUI] === Validation PASSED ===
[01:52] [ComfyUI] got prompt
[01:52] [ComfyUI] [comfy-env] Running SAM3PointCollector: points_store: '{"positive":[{"x":426.27735719657574,"y":321.42611685978..., coordinates: '[{"x":426.27735719657574,"y":321.42611685978835},{"x":41..., neg_coordinates: '[]', image: torch.float32 [1,720,1280,3] cpu
[01:52] [ComfyUI] [comfy-env] SubprocessWorker: /home/runner/.ce/.pixi/envs/sam3-nodes/bin/python
[01:52] [ComfyUI] [SubprocessWorker] call_method: nodes.sam3_interactive.SAM3PointCollector.EXECUTE_NORMALIZED
[01:52] [ComfyUI] [comfy-env] env_vars: {'PYTORCH_ENABLE_MPS_FALLBACK': '1', 'COMFYUI_BASE': '/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI'}
[01:52] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
[01:52] [ComfyUI] [ComfyUI-SAM3] python: /home/runner/.ce/.pixi/envs/sam3-nodes/bin/python
[01:52] [ComfyUI] [ComfyUI-SAM3] sys_path sent to worker: ['/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI', '/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3', '/home/runner/.ce/.pixi/envs/sam3-nodes/lib/python3.10/site-packages', '/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3']
[01:52] [ComfyUI] [SubprocessWorker] is_pixi=True, python=/home/runner/.ce/.pixi/envs/sam3-nodes/bin/python
[01:52] [ComfyUI] [SubprocessWorker] launching cmd=['/home/runner/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/home/runner/.ce/pixi.toml', '-e', 'sam3-nodes', 'python', '/tmp/comfyui_pvenv_6eayd_rl/persistent_worker.py', 'abstract://comfy_worker_1bc963985f0a']...
[01:52] [ComfyUI] [SubprocessWorker] socket_addr=abstract://comfy_worker_1bc963985f0a (abstract, no filesystem path)
[01:54] [ComfyUI] [SubprocessWorker] worker started/confirmed
[01:54] [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 720, 1280, 3])
[01:54] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
[01:54] [ComfyUI] [SubprocessWorker] created 0 shm blocks
[01:54] [ComfyUI] [SubprocessWorker] sending request via socket...
[01:54] [ComfyUI] [SubprocessWorker] call_id=1 sending call_method
[01:54] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']
[01:54] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 720, 1280, 3]
[01:54] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 720, 1280, 3])
[01:54] Frame 2 saved (frame_001.jpg, t=2.3s)
[01:54] [capture-periodic] freeze=2ms shot=100ms unfreeze=3ms saved=True
[01:54] [ComfyUI] [SubprocessWorker] got response: ok
[01:54] [ComfyUI] [comfy-env] SAM3PointCollector done (2.37s): result: NodeOutput
[01:54] [ComfyUI] [comfy-env] Running LoadSAM3Model: precision: 'auto', compile: False
[01:54] [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSAM3Model.EXECUTE_NORMALIZED
[01:54] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
[01:54] [ComfyUI] [ComfyUI-SAM3] Health check: ping (timeout=5.0s)...
[01:54] [ComfyUI] [ComfyUI-SAM3] Health check: ok
[01:54] [ComfyUI] [SubprocessWorker] worker started/confirmed
[01:54] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
[01:54] [ComfyUI] [SubprocessWorker] created 0 shm blocks
[01:54] [ComfyUI] [SubprocessWorker] sending request via socket...
[01:54] [ComfyUI] [SubprocessWorker] call_id=2 sending call_method
[01:54] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Model not found at /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/models/sam3/sam3.safetensors, downloading from HuggingFace...
[01:54] Node executed (1 total), capturing...
[01:54] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Downloading sam3.safetensors from apozz/sam3-safetensors...
[01:54] Frame 3 saved (frame_002.jpg, t=2.8s)
[01:54] [capture-node] freeze=3ms shot=123ms unfreeze=3ms saved=True
[01:54] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:54] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:55] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:55] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:55] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:55] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:55] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:55] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:55] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:55] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:55] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 10%
[01:56] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:56] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:56] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:56] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:56] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:56] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:56] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:56] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:57] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:57] Frame 4 saved (frame_003.jpg, t=5.0s)
[01:57] [capture-periodic] freeze=16ms shot=148ms unfreeze=6ms saved=True
[01:57] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:57] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 20%
[01:57] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:57] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:57] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:58] [capture-loop] iter=50 t=6.2s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=3 ram=2.2/15.6GB (14%) swap=0.0/3.0GB (0%) cpu=22% browser_rss=0.89GB
[01:58] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:58] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:58] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:59] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:59] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:59] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:59] Frame 5 saved (frame_004.jpg, t=7.2s)
[01:59] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:59] [capture-periodic] freeze=2ms shot=213ms unfreeze=16ms saved=True
[01:59] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 30%
[01:59] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:59] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:59] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[01:59] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:00] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:00] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:00] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:00] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:00] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:00] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:00] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 40%
[02:00] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:01] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:01] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:01] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:01] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:01] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:01] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:02] Frame 6 saved (frame_005.jpg, t=9.7s)
[02:02] [capture-periodic] freeze=220ms shot=185ms unfreeze=3ms saved=True
[02:02] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:02] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:02] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:02] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 50%
[02:02] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:02] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:02] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:02] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:03] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:03] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:03] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:03] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:03] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:03] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:03] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 60%
[02:04] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:04] Frame 7 saved (frame_006.jpg, t=12.2s)
[02:04] [capture-periodic] freeze=3ms shot=156ms unfreeze=2ms saved=True
[02:04] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:04] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:04] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:04] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:04] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:04] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:04] [capture-loop] iter=100 t=13.0s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=2 ram=2.2/15.6GB (14%) swap=0.0/3.0GB (0%) cpu=46% browser_rss=0.91GB
[02:04] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:05] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:05] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:05] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 70%
[02:05] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:05] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:05] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:05] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:05] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:06] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:06] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:06] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:06] Frame 8 saved (frame_007.jpg, t=14.4s)
[02:06] [capture-periodic] freeze=3ms shot=144ms unfreeze=4ms saved=True
[02:06] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:06] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:06] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 80%
[02:06] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:06] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:07] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:07] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:07] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:07] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:07] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:07] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:08] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:08] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 90%
[02:08] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:08] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:08] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:08] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:08] Frame 9 saved (frame_008.jpg, t=16.8s)
[02:08] [capture-periodic] freeze=7ms shot=197ms unfreeze=3ms saved=True
[02:08] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:09] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:09] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:09] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:09] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:09] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:09] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 100%
[02:09] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2
[02:09] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Downloaded sam3.safetensors
[02:09] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Model downloaded successfully
[02:09] [ComfyUI] [SubprocessWorker] got response: ok
[02:09] [ComfyUI] [comfy-env] LoadSAM3Model done (15.18s): result: NodeOutput
[02:09] [ComfyUI] [comfy-env] Running SAM3Segmentation: refinement_iterations: 0, use_multimask: True, output_best_mask: True, sam3_model_config: dict, image: torch.float32 [1,720,1280,3] cpu, positive_points: dict, negative_points: dict
[02:09] [ComfyUI] [SubprocessWorker] call_method: nodes.segmentation.SAM3Segmentation.EXECUTE_NORMALIZED
[02:09] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
[02:09] [ComfyUI] [ComfyUI-SAM3] Health check: ping (timeout=5.0s)...
[02:09] [ComfyUI] [ComfyUI-SAM3] Health check: ok
[02:09] [ComfyUI] [SubprocessWorker] worker started/confirmed
[02:09] [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 720, 1280, 3])
[02:09] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
[02:09] [ComfyUI] [SubprocessWorker] created 0 shm blocks
[02:09] [ComfyUI] [SubprocessWorker] sending request via socket...
[02:09] [ComfyUI] [SubprocessWorker] call_id=3 sending call_method
[02:09] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']
[02:09] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 720, 1280, 3]
[02:09] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 720, 1280, 3])
[02:10] [ComfyUI] [SubprocessWorker] got response: error
[02:10] [ComfyUI] !!! Exception during processing !!! No module named 'transformers'
[02:10] [ComfyUI]
[02:10] [ComfyUI] Worker traceback:
[02:10] [ComfyUI] Traceback (most recent call last):
[02:10] [ComfyUI] File "/tmp/comfyui_pvenv_6eayd_rl/persistent_worker.py", line 1762, in main
[02:10] [ComfyUI] result = method(**inputs)
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED
[02:10] [ComfyUI] to_return = cls.execute(*args, **kwargs)
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 469, in execute
[02:10] [ComfyUI] sam3_model = get_or_build_model(sam3_model_config)
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model
[02:10] [ComfyUI] from .sam3_model_patcher import SAM3UnifiedModel
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in <module>
[02:10] [ComfyUI] from comfy.model_patcher import ModelPatcher
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_patcher.py", line 32, in <module>
[02:10] [ComfyUI] import comfy.hooks
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/hooks.py", line 14, in <module>
[02:10] [ComfyUI] import comfy.lora
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/lora.py", line 23, in <module>
[02:10] [ComfyUI] import comfy.model_base
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_base.py", line 61, in <module>
[02:10] [ComfyUI] import comfy.ldm.hidream_o1.model
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in <module>
[02:10] [ComfyUI] from comfy.text_encoders.qwen35 import Qwen35VisionModel
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in <module>
[02:10] [ComfyUI] from comfy import sd1_clip
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/sd1_clip.py", line 3, in <module>
[02:10] [ComfyUI] from transformers import CLIPTokenizer
[02:10] [ComfyUI] ModuleNotFoundError: No module named 'transformers'
[02:10] [ComfyUI]
[02:10] [ComfyUI] Traceback (most recent call last):
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 535, in execute
[02:10] [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 335, in get_output_data
[02:10] [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 309, in _async_map_node_over_list
[02:10] [ComfyUI] await process_inputs(input_dict, i)
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 297, in process_inputs
[02:10] [ComfyUI] result = f(**inputs)
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy
[02:10] [ComfyUI] result = worker.call_method(
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/workers/subprocess.py", line 674, in call_method
[02:10] [ComfyUI] raise WorkerError(
[02:10] [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'transformers'
[02:10] [ComfyUI]
[02:10] [ComfyUI] Worker traceback:
[02:10] [ComfyUI] Traceback (most recent call last):
[02:10] [ComfyUI] File "/tmp/comfyui_pvenv_6eayd_rl/persistent_worker.py", line 1762, in main
[02:10] [ComfyUI] result = method(**inputs)
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED
[02:10] [ComfyUI] to_return = cls.execute(*args, **kwargs)
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 469, in execute
[02:10] [ComfyUI] sam3_model = get_or_build_model(sam3_model_config)
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model
[02:10] [ComfyUI] from .sam3_model_patcher import SAM3UnifiedModel
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in <module>
[02:10] [ComfyUI] from comfy.model_patcher import ModelPatcher
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_patcher.py", line 32, in <module>
[02:10] [ComfyUI] import comfy.hooks
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/hooks.py", line 14, in <module>
[02:10] [ComfyUI] import comfy.lora
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/lora.py", line 23, in <module>
[02:10] [ComfyUI] import comfy.model_base
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_base.py", line 61, in <module>
[02:10] [ComfyUI] import comfy.ldm.hidream_o1.model
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in <module>
[02:10] [ComfyUI] from comfy.text_encoders.qwen35 import Qwen35VisionModel
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in <module>
[02:10] [ComfyUI] from comfy import sd1_clip
[02:10] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/sd1_clip.py", line 3, in <module>
[02:10] [ComfyUI] from transformers import CLIPTokenizer
[02:10] [ComfyUI] ModuleNotFoundError: No module named 'transformers'
[02:10] [ComfyUI]
[02:10] [ComfyUI]
[02:10] [ComfyUI] Prompt executed in 18.53 seconds
[02:10] Execution complete (t=19.0s)
[02:10] Execution error: {'prompt_id': '6eab5836-410d-4aaa-954d-d70ca146a272', 'node_id': '31', 'node_type': 'SAM3Segmentation', 'executed': ['1', '15', '30'], 'exception_message': 'No module named \'transformers\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "/tmp/comfyui_pvenv_6eayd_rl/persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 469, in execute\n sam3_model = get_or_build_model(sam3_model_config)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model\n from .sam3_model_patcher import SAM3UnifiedModel\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in <module>\n from comfy.model_patcher import ModelPatcher\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_patcher.py", line 32, in <module>\n import comfy.hooks\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/hooks.py", line 14, in <module>\n import comfy.lora\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/lora.py", line 23, in <module>\n import comfy.model_base\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_base.py", line 61, in <module>\n import comfy.ldm.hidream_o1.model\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in <module>\n from comfy.text_encoders.qwen35 import Qwen35VisionModel\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in <module>\n from comfy import sd1_clip\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/sd1_clip.py", line 3, in <module>\n from transformers import CLIPTokenizer\nModuleNotFoundError: No module named \'transformers\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 535, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 335, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 309, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 297, in process_inputs\n result = f(**inputs)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy\n result = worker.call_method(\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/workers/subprocess.py", line 674, in call_method\n raise WorkerError(\n'], 'current_inputs': {'refinement_iterations': [0], 'use_multimask': [True], 'output_best_mask': [True], 'sam3_model_config': ["{'checkpoint_path': '/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/models/sam3/sam3.safetensors', 'bpe_path': '/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3/bpe_simple_vocab_16e6.txt.gz', 'precision': 'auto', 'dtype': 'fp32', 'compile': False}"], 'image': ['tensor([[[[0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n ...,\n [0.3176, 0.5765, 0.7176],\n [0.3333, 0.5961, 0.7451],\n [0.3529, 0.6157, 0.7647]],\n\n [[0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n ...,\n [0.3137, 0.5725, 0.7137],\n [0.3137, 0.5765, 0.7255],\n [0.3255, 0.5882, 0.7373]],\n\n [[0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n ...,\n [0.3882, 0.5294, 0.6235],\n [0.3922, 0.5216, 0.6196],\n [0.3961, 0.5255, 0.6235]],\n\n ...,\n\n [[0.4941, 0.4784, 0.4157],\n [0.4941, 0.4784, 0.4157],\n [0.4980, 0.4824, 0.4196],\n ...,\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020]],\n\n [[0.5098, 0.4941, 0.4314],\n [0.5098, 0.4941, 0.4314],\n [0.5137, 0.4980, 0.4353],\n ...,\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020]],\n\n [[0.5176, 0.5020, 0.4392],\n [0.5216, 0.5059, 0.4431],\n [0.5255, 0.5098, 0.4471],\n ...,\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020]]]])'], 'positive_points': ["{'points': [[0.3330291853098248, 0.4464251623052616], [0.32588862185381995, 0.5657519162372204], [0.3373135233834277, 0.7637835504221735]], 'labels': [1, 1, 1]}"], 'negative_points': ["{'points': [], 'labels': []}"]}, 'current_outputs': ['1', '30', '28', '15', '31', '29'], 'timestamp': 1778659220467}
[02:11] Capturing execution frames: image_seg_text.json
[02:16] Frame 1 saved (frame_000.jpg, t=0.0s)
[02:16] Validating workflow...
[02:16] [ComfyUI] === /validate endpoint called ===
[02:16] [ComfyUI] Received JSON with keys: ['prompt']
[02:16] [ComfyUI] Prompt has 5 nodes
[02:16] [ComfyUI] Node 1: LoadImage
[02:16] [ComfyUI] Inputs: {"image": "example_image.jpg"}
[02:16] [ComfyUI] Node 3: PreviewImage
[02:16] [ComfyUI] Inputs: {"images": ["15", 1]}
[02:16] [ComfyUI] Node 4: MaskPreview
[02:16] Queuing workflow for execution...
[02:16] [ComfyUI] Inputs: {"mask": ["15", 0]}
[02:16] [ComfyUI] Node 12: LoadSAM3Model
[02:16] [ComfyUI] Inputs: {"precision": "fp32", "compile": false}
[02:16] [ComfyUI] Node 15: SAM3Grounding
[02:16] [ComfyUI] Inputs: {"confidence_threshold": 0.2, "text_prompt": "child", "max_detections": -1, "sam3_model_config": ["12", 0], "image": ["1", 0]}
[02:16] [ComfyUI] Generated prompt_id: 1af7df65-7f85-4c35-b811-971d1b6f0ae6
[02:16] [ComfyUI] Calling execution.validate_prompt()...
[02:16] [ComfyUI] Validation result: valid=True
[02:16] [ComfyUI] === Validation PASSED ===
[02:16] [ComfyUI] got prompt
[02:16] [ComfyUI] [comfy-env] Running LoadSAM3Model: precision: 'fp32', compile: False
[02:16] [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSAM3Model.EXECUTE_NORMALIZED
[02:16] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
[02:16] [ComfyUI] [ComfyUI-SAM3] Health check: ping (timeout=5.0s)...
[02:16] [ComfyUI] [ComfyUI-SAM3] Health check: ok
[02:16] [ComfyUI] [SubprocessWorker] worker started/confirmed
[02:16] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
[02:16] [ComfyUI] [SubprocessWorker] created 0 shm blocks
[02:16] [ComfyUI] [SubprocessWorker] sending request via socket...
[02:16] [ComfyUI] [SubprocessWorker] call_id=4 sending call_method
[02:16] [ComfyUI] [SubprocessWorker] got response: ok
[02:16] [ComfyUI] [comfy-env] LoadSAM3Model done (0.01s): result: NodeOutput
[02:16] [ComfyUI] [comfy-env] Running SAM3Grounding: confidence_threshold: 0.2, text_prompt: 'child', max_detections: -1, sam3_model_config: dict, image: torch.float32 [1,720,1280,3] cpu
[02:16] [ComfyUI] [SubprocessWorker] call_method: nodes.segmentation.SAM3Grounding.EXECUTE_NORMALIZED
[02:16] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
[02:16] [ComfyUI] [ComfyUI-SAM3] Health check: ping (timeout=5.0s)...
[02:16] [ComfyUI] [ComfyUI-SAM3] Health check: ok
[02:16] [ComfyUI] [SubprocessWorker] worker started/confirmed
[02:16] [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 720, 1280, 3])
[02:16] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
[02:16] [ComfyUI] [SubprocessWorker] created 0 shm blocks
[02:16] [ComfyUI] [SubprocessWorker] sending request via socket...
[02:16] [ComfyUI] [SubprocessWorker] call_id=5 sending call_method
[02:16] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']
[02:16] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 720, 1280, 3]
[02:16] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 720, 1280, 3])
[02:16] [ComfyUI] [SubprocessWorker] got response: error
[02:16] [ComfyUI] !!! Exception during processing !!! No module named 'transformers'
[02:16] [ComfyUI]
[02:16] [ComfyUI] Worker traceback:
[02:16] [ComfyUI] Traceback (most recent call last):
[02:16] [ComfyUI] File "/tmp/comfyui_pvenv_6eayd_rl/persistent_worker.py", line 1762, in main
[02:16] [ComfyUI] result = method(**inputs)
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED
[02:16] [ComfyUI] to_return = cls.execute(*args, **kwargs)
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 86, in execute
[02:16] [ComfyUI] sam3_model = get_or_build_model(sam3_model_config)
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model
[02:16] [ComfyUI] from .sam3_model_patcher import SAM3UnifiedModel
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in <module>
[02:16] [ComfyUI] from comfy.model_patcher import ModelPatcher
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_patcher.py", line 32, in <module>
[02:16] [ComfyUI] import comfy.hooks
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/hooks.py", line 14, in <module>
[02:16] [ComfyUI] import comfy.lora
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/lora.py", line 23, in <module>
[02:16] [ComfyUI] import comfy.model_base
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_base.py", line 61, in <module>
[02:16] [ComfyUI] import comfy.ldm.hidream_o1.model
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in <module>
[02:16] [ComfyUI] from comfy.text_encoders.qwen35 import Qwen35VisionModel
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in <module>
[02:16] [ComfyUI] from comfy import sd1_clip
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/sd1_clip.py", line 3, in <module>
[02:16] [ComfyUI] from transformers import CLIPTokenizer
[02:16] [ComfyUI] ModuleNotFoundError: No module named 'transformers'
[02:16] [ComfyUI]
[02:16] [ComfyUI] Traceback (most recent call last):
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 535, in execute
[02:16] [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 335, in get_output_data
[02:16] [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 309, in _async_map_node_over_list
[02:16] [ComfyUI] await process_inputs(input_dict, i)
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 297, in process_inputs
[02:16] [ComfyUI] result = f(**inputs)
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy
[02:16] [ComfyUI] result = worker.call_method(
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/workers/subprocess.py", line 674, in call_method
[02:16] [ComfyUI] raise WorkerError(
[02:16] [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'transformers'
[02:16] [ComfyUI]
[02:16] [ComfyUI] Worker traceback:
[02:16] [ComfyUI] Traceback (most recent call last):
[02:16] [ComfyUI] File "/tmp/comfyui_pvenv_6eayd_rl/persistent_worker.py", line 1762, in main
[02:16] [ComfyUI] result = method(**inputs)
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED
[02:16] [ComfyUI] to_return = cls.execute(*args, **kwargs)
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 86, in execute
[02:16] [ComfyUI] sam3_model = get_or_build_model(sam3_model_config)
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model
[02:16] [ComfyUI] from .sam3_model_patcher import SAM3UnifiedModel
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in <module>
[02:16] [ComfyUI] from comfy.model_patcher import ModelPatcher
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_patcher.py", line 32, in <module>
[02:16] [ComfyUI] import comfy.hooks
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/hooks.py", line 14, in <module>
[02:16] [ComfyUI] import comfy.lora
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/lora.py", line 23, in <module>
[02:16] [ComfyUI] import comfy.model_base
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_base.py", line 61, in <module>
[02:16] [ComfyUI] import comfy.ldm.hidream_o1.model
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in <module>
[02:16] [ComfyUI] from comfy.text_encoders.qwen35 import Qwen35VisionModel
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in <module>
[02:16] [ComfyUI] from comfy import sd1_clip
[02:16] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/sd1_clip.py", line 3, in <module>
[02:16] [ComfyUI] from transformers import CLIPTokenizer
[02:16] [ComfyUI] ModuleNotFoundError: No module named 'transformers'
[02:16] [ComfyUI]
[02:16] [ComfyUI]
[02:16] [ComfyUI] Prompt executed in 0.07 seconds
[02:16] Execution complete (t=0.3s)
[02:16] Execution error: {'prompt_id': '673e8b6b-ce5b-43e7-ab8c-d919d8780739', 'node_id': '15', 'node_type': 'SAM3Grounding', 'executed': ['12', '1'], 'exception_message': 'No module named \'transformers\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "/tmp/comfyui_pvenv_6eayd_rl/persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 86, in execute\n sam3_model = get_or_build_model(sam3_model_config)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model\n from .sam3_model_patcher import SAM3UnifiedModel\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in <module>\n from comfy.model_patcher import ModelPatcher\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_patcher.py", line 32, in <module>\n import comfy.hooks\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/hooks.py", line 14, in <module>\n import comfy.lora\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/lora.py", line 23, in <module>\n import comfy.model_base\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_base.py", line 61, in <module>\n import comfy.ldm.hidream_o1.model\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in <module>\n from comfy.text_encoders.qwen35 import Qwen35VisionModel\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in <module>\n from comfy import sd1_clip\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/sd1_clip.py", line 3, in <module>\n from transformers import CLIPTokenizer\nModuleNotFoundError: No module named \'transformers\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 535, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 335, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 309, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 297, in process_inputs\n result = f(**inputs)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy\n result = worker.call_method(\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/workers/subprocess.py", line 674, in call_method\n raise WorkerError(\n'], 'current_inputs': {'confidence_threshold': [0.2], 'text_prompt': ['child'], 'max_detections': [-1], 'sam3_model_config': ["{'checkpoint_path': '/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/models/sam3/sam3.safetensors', 'bpe_path': '/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3/bpe_simple_vocab_16e6.txt.gz', 'precision': 'fp32', 'dtype': 'fp32', 'compile': False}"], 'image': ['tensor([[[[0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n ...,\n [0.3176, 0.5765, 0.7176],\n [0.3333, 0.5961, 0.7451],\n [0.3529, 0.6157, 0.7647]],\n\n [[0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n ...,\n [0.3137, 0.5725, 0.7137],\n [0.3137, 0.5765, 0.7255],\n [0.3255, 0.5882, 0.7373]],\n\n [[0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n ...,\n [0.3882, 0.5294, 0.6235],\n [0.3922, 0.5216, 0.6196],\n [0.3961, 0.5255, 0.6235]],\n\n ...,\n\n [[0.4941, 0.4784, 0.4157],\n [0.4941, 0.4784, 0.4157],\n [0.4980, 0.4824, 0.4196],\n ...,\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020]],\n\n [[0.5098, 0.4941, 0.4314],\n [0.5098, 0.4941, 0.4314],\n [0.5137, 0.4980, 0.4353],\n ...,\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020]],\n\n [[0.5176, 0.5020, 0.4392],\n [0.5216, 0.5059, 0.4431],\n [0.5255, 0.5098, 0.4471],\n ...,\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020]]]])']}, 'current_outputs': ['12', '1', '4', '15', '3'], 'timestamp': 1778659226735}
[02:17] Capturing execution frames: scene_seg.json
[02:23] Frame 1 saved (frame_000.jpg, t=0.0s)
[02:23] Validating workflow...
[02:23] [ComfyUI] === /validate endpoint called ===
[02:23] [ComfyUI] Received JSON with keys: ['prompt']
[02:23] [ComfyUI] Prompt has 10 nodes
[02:23] [ComfyUI] Node 1: LoadImage
[02:23] [ComfyUI] Inputs: {"image": "image.png"}
[02:23] [ComfyUI] Node 3: PreviewImage
[02:23] [ComfyUI] Inputs: {"images": ["27", 1]}
[02:23] [ComfyUI] Node 4: MaskPreview
[02:23] [ComfyUI] Inputs: {"mask": ["27", 0]}
[02:23] [ComfyUI] Node 12: LoadSAM3Model
[02:23] [ComfyUI] Inputs: {"precision": "fp32", "compile": false}
[02:23] [ComfyUI] Node 20: SAM3MultiRegionCollector
[02:23] Queuing workflow for execution...
[02:23] [ComfyUI] Inputs: {"multi_prompts_store": "[{\"positive_points\":[{\"x\":5052.74953932266,\"y\":2847.0600693869637},{\"x\":4932.510591392486,\"y\":2953.9413227753366},{\"x\":4718.752461738845,\"y\":2967.301479448883},{
[02:23] [ComfyUI] Node 22: MultibandFromBatch
[02:23] [ComfyUI] Inputs: {"images": ["1", 0], "masks": ["27", 0]}
[02:23] [ComfyUI] Node 23: MultibandSave
[02:23] [ComfyUI] Inputs: {"file_path": "output/multiband", "format": "npz", "multiband": ["26", 0]}
[02:23] [ComfyUI] Node 24: MultibandPreview
[02:23] [ComfyUI] Inputs: {"channel_index": 0, "multiband": ["26", 0]}
[02:23] [ComfyUI] Node 26: MultibandResize
[02:23] [ComfyUI] Inputs: {"upscale_method": "nearest-exact", "width": 900, "height": 600, "crop": "center", "multiband": ["22", 0]}
[02:23] [ComfyUI] Node 27: SAM3MultipromptSegmentation
[02:23] [ComfyUI] Inputs: {"refinement_iterations": 0, "use_multimask": false, "sam3_model_config": ["12", 0], "image": ["1", 0], "multi_prompts": ["20", 0]}
[02:23] [ComfyUI] Generated prompt_id: b23ddbd9-abac-4f3b-95d6-05085671c412
[02:23] [ComfyUI] Calling execution.validate_prompt()...
[02:23] [ComfyUI] Validation result: valid=True
[02:23] [ComfyUI] === Validation PASSED ===
[02:23] [ComfyUI] got prompt
[02:24] [ComfyUI] [comfy-env] Running SAM3MultiRegionCollector: multi_prompts_store: '[{"positive_points":[{"x":5052.74953932266,"y":2847.0600..., image: torch.float32 [1,4480,6720,3] cpu
[02:24] [ComfyUI] [SubprocessWorker] call_method: nodes.sam3_interactive.SAM3MultiRegionCollector.EXECUTE_NORMALIZED
[02:24] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
[02:24] [ComfyUI] [ComfyUI-SAM3] Health check: ping (timeout=5.0s)...
[02:24] [ComfyUI] [ComfyUI-SAM3] Health check: ok
[02:24] [ComfyUI] [SubprocessWorker] worker started/confirmed
[02:24] [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 4480, 6720, 3])
[02:24] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
[02:24] [ComfyUI] [SubprocessWorker] created 0 shm blocks
[02:24] [ComfyUI] [SubprocessWorker] sending request via socket...
[02:24] [ComfyUI] [SubprocessWorker] call_id=6 sending call_method
[02:24] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']
[02:24] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 4480, 6720, 3]
[02:24] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 4480, 6720, 3])
[02:24] [ComfyUI] [SubprocessWorker] got response: ok
[02:24] [ComfyUI] [comfy-env] SAM3MultiRegionCollector done (0.56s): result: NodeOutput
[02:24] [ComfyUI] [comfy-env] Running LoadSAM3Model: precision: 'fp32', compile: False
[02:24] [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSAM3Model.EXECUTE_NORMALIZED
[02:24] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
[02:24] [ComfyUI] [ComfyUI-SAM3] Health check: ping (timeout=5.0s)...
[02:24] [ComfyUI] [ComfyUI-SAM3] Health check: ok
[02:24] [ComfyUI] [SubprocessWorker] worker started/confirmed
[02:24] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
[02:24] [ComfyUI] [SubprocessWorker] created 0 shm blocks
[02:24] [ComfyUI] [SubprocessWorker] sending request via socket...
[02:24] [ComfyUI] [SubprocessWorker] call_id=7 sending call_method
[02:24] [ComfyUI] [SubprocessWorker] got response: ok
[02:24] [ComfyUI] [comfy-env] LoadSAM3Model done (0.03s): result: NodeOutput
[02:24] [ComfyUI] [comfy-env] Running SAM3MultipromptSegmentation: refinement_iterations: 0, use_multimask: False, sam3_model_config: dict, image: torch.float32 [1,4480,6720,3] cpu, multi_prompts: list[7]
[02:24] [ComfyUI] [SubprocessWorker] call_method: nodes.segmentation.SAM3MultipromptSegmentation.EXECUTE_NORMALIZED
[02:24] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
[02:24] [ComfyUI] [ComfyUI-SAM3] Health check: ping (timeout=5.0s)...
[02:24] [ComfyUI] [ComfyUI-SAM3] Health check: ok
[02:24] [ComfyUI] [SubprocessWorker] worker started/confirmed
[02:24] [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 4480, 6720, 3])
[02:24] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
[02:24] [ComfyUI] [SubprocessWorker] created 0 shm blocks
[02:24] [ComfyUI] [SubprocessWorker] sending request via socket...
[02:24] [ComfyUI] [SubprocessWorker] call_id=8 sending call_method
[02:24] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']
[02:24] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 4480, 6720, 3]
[02:24] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 4480, 6720, 3])
[02:24] [ComfyUI] [SubprocessWorker] got response: error
[02:24] [ComfyUI] !!! Exception during processing !!! No module named 'transformers'
[02:24] [ComfyUI]
[02:24] [ComfyUI] Worker traceback:
[02:24] [ComfyUI] Traceback (most recent call last):
[02:24] [ComfyUI] File "/tmp/comfyui_pvenv_6eayd_rl/persistent_worker.py", line 1762, in main
[02:24] [ComfyUI] result = method(**inputs)
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED
[02:24] [ComfyUI] to_return = cls.execute(*args, **kwargs)
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 695, in execute
[02:24] [ComfyUI] sam3_model = get_or_build_model(sam3_model_config)
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model
[02:24] [ComfyUI] from .sam3_model_patcher import SAM3UnifiedModel
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in <module>
[02:24] [ComfyUI] from comfy.model_patcher import ModelPatcher
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_patcher.py", line 32, in <module>
[02:24] [ComfyUI] import comfy.hooks
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/hooks.py", line 14, in <module>
[02:24] [ComfyUI] import comfy.lora
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/lora.py", line 23, in <module>
[02:24] [ComfyUI] import comfy.model_base
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_base.py", line 61, in <module>
[02:24] [ComfyUI] import comfy.ldm.hidream_o1.model
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in <module>
[02:24] [ComfyUI] from comfy.text_encoders.qwen35 import Qwen35VisionModel
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in <module>
[02:24] [ComfyUI] from comfy import sd1_clip
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/sd1_clip.py", line 3, in <module>
[02:24] [ComfyUI] from transformers import CLIPTokenizer
[02:24] [ComfyUI] ModuleNotFoundError: No module named 'transformers'
[02:24] [ComfyUI]
[02:24] [ComfyUI] Traceback (most recent call last):
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 535, in execute
[02:24] [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 335, in get_output_data
[02:24] [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 309, in _async_map_node_over_list
[02:24] [ComfyUI] await process_inputs(input_dict, i)
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 297, in process_inputs
[02:24] [ComfyUI] result = f(**inputs)
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy
[02:24] [ComfyUI] result = worker.call_method(
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/workers/subprocess.py", line 674, in call_method
[02:24] [ComfyUI] raise WorkerError(
[02:24] [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'transformers'
[02:24] [ComfyUI]
[02:24] [ComfyUI] Worker traceback:
[02:24] [ComfyUI] Traceback (most recent call last):
[02:24] [ComfyUI] File "/tmp/comfyui_pvenv_6eayd_rl/persistent_worker.py", line 1762, in main
[02:24] [ComfyUI] result = method(**inputs)
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED
[02:24] [ComfyUI] to_return = cls.execute(*args, **kwargs)
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 695, in execute
[02:24] [ComfyUI] sam3_model = get_or_build_model(sam3_model_config)
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model
[02:24] [ComfyUI] from .sam3_model_patcher import SAM3UnifiedModel
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in <module>
[02:24] [ComfyUI] from comfy.model_patcher import ModelPatcher
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_patcher.py", line 32, in <module>
[02:24] [ComfyUI] import comfy.hooks
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/hooks.py", line 14, in <module>
[02:24] [ComfyUI] import comfy.lora
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/lora.py", line 23, in <module>
[02:24] [ComfyUI] import comfy.model_base
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_base.py", line 61, in <module>
[02:24] [ComfyUI] import comfy.ldm.hidream_o1.model
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in <module>
[02:24] [ComfyUI] from comfy.text_encoders.qwen35 import Qwen35VisionModel
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in <module>
[02:24] [ComfyUI] from comfy import sd1_clip
[02:24] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/sd1_clip.py", line 3, in <module>
[02:24] [ComfyUI] from transformers import CLIPTokenizer
[02:24] [ComfyUI] ModuleNotFoundError: No module named 'transformers'
[02:24] [ComfyUI]
[02:24] [ComfyUI]
[02:24] [ComfyUI] Prompt executed in 1.40 seconds
[02:25] Node executed (1 total), capturing...
[02:25] Frame 2 saved (frame_001.jpg, t=2.2s)
[02:26] [capture-node] freeze=55ms shot=416ms unfreeze=0ms saved=True
[02:26] Execution complete (t=2.2s)
[02:26] Execution error: {'prompt_id': 'cd1d55ec-d5cf-4c3f-a55f-f3280bc4fc6b', 'node_id': '27', 'node_type': 'SAM3MultipromptSegmentation', 'executed': ['12', '20', '1'], 'exception_message': 'No module named \'transformers\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "/tmp/comfyui_pvenv_6eayd_rl/persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 695, in execute\n sam3_model = get_or_build_model(sam3_model_config)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model\n from .sam3_model_patcher import SAM3UnifiedModel\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in <module>\n from comfy.model_patcher import ModelPatcher\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_patcher.py", line 32, in <module>\n import comfy.hooks\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/hooks.py", line 14, in <module>\n import comfy.lora\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/lora.py", line 23, in <module>\n import comfy.model_base\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_base.py", line 61, in <module>\n import comfy.ldm.hidream_o1.model\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in <module>\n from comfy.text_encoders.qwen35 import Qwen35VisionModel\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in <module>\n from comfy import sd1_clip\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/sd1_clip.py", line 3, in <module>\n from transformers import CLIPTokenizer\nModuleNotFoundError: No module named \'transformers\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 535, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 335, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 309, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 297, in process_inputs\n result = f(**inputs)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy\n result = worker.call_method(\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/workers/subprocess.py", line 674, in call_method\n raise WorkerError(\n'], 'current_inputs': {'refinement_iterations': [0], 'use_multimask': [False], 'sam3_model_config': ["{'checkpoint_path': '/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/models/sam3/sam3.safetensors', 'bpe_path': '/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3/bpe_simple_vocab_16e6.txt.gz', 'precision': 'fp32', 'dtype': 'fp32', 'compile': False}"], 'image': ['tensor([[[[0.9176, 0.8392, 0.7333],\n [0.9294, 0.8471, 0.7412],\n [0.9176, 0.8353, 0.7294],\n ...,\n [0.8078, 0.6627, 0.4902],\n [0.8039, 0.6588, 0.4863],\n [0.8157, 0.6706, 0.4980]],\n\n [[0.9137, 0.8353, 0.7294],\n [0.9216, 0.8392, 0.7333],\n [0.9176, 0.8353, 0.7294],\n ...,\n [0.8039, 0.6588, 0.4863],\n [0.8039, 0.6588, 0.4863],\n [0.8118, 0.6667, 0.4941]],\n\n [[0.9137, 0.8314, 0.7255],\n [0.9137, 0.8314, 0.7255],\n [0.9176, 0.8353, 0.7294],\n ...,\n [0.8078, 0.6627, 0.4902],\n [0.8118, 0.6667, 0.4941],\n [0.8039, 0.6588, 0.4863]],\n\n ...,\n\n [[0.8667, 0.6784, 0.4902],\n [0.8706, 0.6824, 0.4941],\n [0.8706, 0.6824, 0.4941],\n ...,\n [0.6471, 0.4431, 0.2549],\n [0.6392, 0.4353, 0.2471],\n [0.6471, 0.4431, 0.2549]],\n\n [[0.8588, 0.6706, 0.4824],\n [0.8667, 0.6784, 0.4902],\n [0.8706, 0.6824, 0.4941],\n ...,\n [0.6431, 0.4392, 0.2510],\n [0.6471, 0.4431, 0.2549],\n [0.6549, 0.4510, 0.2627]],\n\n [[0.8627, 0.6745, 0.4863],\n [0.8667, 0.6784, 0.4902],\n [0.8784, 0.6902, 0.5020],\n ...,\n [0.6353, 0.4314, 0.2431],\n [0.6431, 0.4392, 0.2510],\n [0.6392, 0.4353, 0.2471]]]])'], 'multi_prompts': ["[{'id': 0, 'positive_points': {'points': [[0.7518972528753959, 0.6355044797738758], [0.7340045522905485, 0.6593619024052091], [0.7021953068063758, 0.6623440802341257], [0.6902668397498108, 0.677254969378709], [0.668397983479442, 0.6742727915497924], [0.7180999295484621, 0.6176114128003758], [0.7180999295484621, 0.572878745366626], [0.7439449415043526, 0.5311282557617927], [0.7240641630767446, 0.5609500340509593], [0.6982191511208541, 0.5609500340509593]], 'labels': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, 'negative_points': {'points': [], 'labels': []}, 'positive_boxes': {'boxes': [[0.7141237738629407, 0.6056827014847093, 0.15109391604982114, 0.19085938105066613]], 'labels': [True]}, 'negative_boxes': {'boxes': [], 'labels': []}}, {'id': 1, 'positive_points': {'points': [[0.6513952517072837, 0.6001522443905642], [0.6354008929467748, 0.6921217188777309], [0.6433980723270292, 0.8680633222444846], [0.8859791801947458, 0.884058013459644], [0.9046392654153393, 0.6041509171943541], [0.9046392654153393, 0.5441708251375063], [0.8060073863922018, 0.5201787883147672]], 'labels': [1, 1, 1, 1, 1, 1, 1]}, 'negative_points': {'points': [[0.7180384132094035, 0.5921548987829846], [0.7180384132094035, 0.5921548987829846], [0.7393642248900819, 0.6601323364474121], [0.7393642248900819, 0.6601323364474121], [0.7446956778102515, 0.6841243732701512], [0.7446956778102515, 0.6841243732701512], [0.670055336927877, 0.6721283548587816], [0.670055336927877, 0.6721283548587816], [0.6913811486085556, 0.608149589998144], [0.6913811486085556, 0.608149589998144], [0.6887154221484707, 0.552168170745086], [0.6887154221484707, 0.552168170745086], [0.7100412338291491, 0.552168170745086], [0.7100412338291491, 0.552168170745086], [0.7366984984299972, 0.552168170745086], [0.7366984984299972, 0.552168170745086]], 'labels': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, 'positive_boxes': {'boxes': [[0.7713529424110994, 0.7141144192985751, 0.31455572229000606, 0.4198606443979348]], 'labels': [True]}, 'negative_boxes': {'boxes': [], 'labels': []}}, {'id': 2, 'positive_points': {'points': [[0.5279788816577594, 0.8586378093779201], [0.5097671062510242, 0.6517998210195123], [0.4733435554375539, 0.64789721746558], [0.37968299620291596, 0.64789721746558], [0.39529308940868896, 0.8313195845003946], [0.5565973858683432, 0.8586378093779201], [0.569605796873154, 0.6439946139116478]], 'labels': [1, 1, 1, 1, 1, 1, 1]}, 'negative_points': {'points': [[0.4863519664423647, 0.7415597027599534], [0.4863519664423647, 0.7415597027599534], [0.4837502842414026, 0.8508326022700556], [0.4837502842414026, 0.8508326022700556], [0.4473267334279323, 0.8664430164857846], [0.4473267334279323, 0.8664430164857846], [0.43431832242312146, 0.628384199695919], [0.43431832242312146, 0.628384199695919], [0.5123687884519864, 0.5893581641565967], [0.5123687884519864, 0.5893581641565967], [0.5019620596481378, 0.6361894068037834], [0.5019620596481378, 0.6361894068037834], [0.4291149580211971, 0.6400920103577157], [0.4291149580211971, 0.6400920103577157]], 'labels': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, 'positive_boxes': {'boxes': [[0.47724607873899716, 0.7591214187526485, 0.21593962267985972, 0.24586402389773]], 'labels': [True]}, 'negative_boxes': {'boxes': [], 'labels': []}}, {'id': 3, 'positive_points': {'points': [[0.43642532993691785, 0.595717523200948]], 'labels': [1]}, 'negative_points': {'points': [], 'labels': []}, 'positive_boxes': {'boxes': [[0.4324084720788661, 0.6137937552745099, 0.06426972572882772, 0.07230492829424773]], 'labels': [True]}, 'negative_boxes': {'boxes': [], 'labels': []}}, {'id': 4, 'positive_points': {'points': [[0.5006950556657457, 0.595717523200948]], 'labels': [1]}, 'negative_points': {'points': [], 'labels': []}, 'positive_boxes': {'boxes': [[0.5027034845947715, 0.5716158804361987, 0.09238773073518991, 0.1687114993532448]], 'labels': [True]}, 'negative_boxes': {'boxes': [], 'labels': []}}, {'id': 5, 'positive_points': {'points': [[0.9264819886192297, 0.384828149009392], [0.7939256793035224, 0.37880273831820466], [0.7939256793035224, 0.11368466790596292], [0.9304988464772813, 0.10765925721477561], [0.874262836464557, 0.22214206034733455], [0.8501616893162467, 0.22214206034733455], [0.846144831458195, 0.31854863140633155], [0.8983639836128675, 0.3004723993327696], [0.8943471257548158, 0.20406582827377262], [0.8943471257548158, 0.12573548928833755], [0.8421279736001431, 0.1558625427442741], [0.830077400025988, 0.28842157795039497], [0.8220436843098845, 0.33059945278870617]], 'labels': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, 'negative_points': {'points': [], 'labels': []}, 'positive_boxes': {'boxes': [[0.8662291207484536, 0.25829452449445844, 0.18477546147037982, 0.31332135594174026]], 'labels': [True]}, 'negative_boxes': {'boxes': [], 'labels': []}}, {'id': 6, 'positive_points': {'points': [[0.7045792285036274, 0.9568116711293354], [0.6789425589101554, 0.9568116711293354], [0.6569682706871793, 0.9348369322210276], [0.6716177961691634, 0.9293432474939506], [0.6569682706871793, 0.9403306169481045], [0.7082416098741234, 0.9403306169481045]], 'labels': [1, 1, 1, 1, 1, 1]}, 'negative_points': {'points': [], 'labels': []}, 'positive_boxes': {'boxes': [[0.6789425589101554, 0.943077459311643, 0.10254667837388842, 0.07141790145200044]], 'labels': [True]}, 'negative_boxes': {'boxes': [], 'labels': []}}]"]}, 'current_outputs': ['12', '26', '1', '24', '4', '27', '3', '20', '23', '22'], 'timestamp': 1778659234775}
[02:26] Capturing execution frames: scene_seg_interactive.json
[02:33] Frame 1 saved (frame_000.jpg, t=0.0s)
[02:33] Validating workflow...
[02:33] [ComfyUI] === /validate endpoint called ===
[02:33] [ComfyUI] Received JSON with keys: ['prompt']
[02:33] Queuing workflow for execution...
[02:33] [ComfyUI] Prompt has 4 nodes
[02:33] [ComfyUI] Node 1: LoadImage
[02:33] [ComfyUI] Inputs: {"image": "image.png"}
[02:33] [ComfyUI] Node 4: MaskPreview
[02:33] [ComfyUI] Inputs: {"mask": ["26", 0]}
[02:33] [ComfyUI] Node 12: LoadSAM3Model
[02:33] [ComfyUI] Inputs: {"precision": "auto", "compile": false}
[02:33] [ComfyUI] Node 26: SAM3InteractiveCollector
[02:33] [ComfyUI] Inputs: {"multi_prompts_store": "[{\"positive_points\":[{\"x\":3348.288109906738,\"y\":2452.2208696844737}],\"negative_points\":[],\"positive_boxes\":[],\"negative_boxes\":[],\"name\":\"Prompt 1\"},{\"positiv
[02:33] [ComfyUI] Generated prompt_id: e65cfe57-2660-40b4-8696-0aef267f6843
[02:33] [ComfyUI] Calling execution.validate_prompt()...
[02:33] [ComfyUI] Validation result: valid=True
[02:33] [ComfyUI] === Validation PASSED ===
[02:33] [ComfyUI] got prompt
[02:33] [ComfyUI] [comfy-env] Running LoadSAM3Model: precision: 'auto', compile: False
[02:33] [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSAM3Model.EXECUTE_NORMALIZED
[02:33] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
[02:33] [ComfyUI] [ComfyUI-SAM3] Health check: ping (timeout=5.0s)...
[02:33] [ComfyUI] [ComfyUI-SAM3] Health check: ok
[02:33] [ComfyUI] [SubprocessWorker] worker started/confirmed
[02:33] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
[02:33] [ComfyUI] [SubprocessWorker] created 0 shm blocks
[02:33] [ComfyUI] [SubprocessWorker] sending request via socket...
[02:33] [ComfyUI] [SubprocessWorker] call_id=9 sending call_method
[02:33] [ComfyUI] [SubprocessWorker] got response: ok
[02:33] [ComfyUI] [comfy-env] LoadSAM3Model done (0.01s): result: NodeOutput
[02:33] [ComfyUI] [comfy-env] Running SAM3InteractiveCollector: multi_prompts_store: '[{"positive_points":[{"x":3348.288109906738,"y":2452.220..., sam3_model_config: dict, image: torch.float32 [1,4480,6720,3] cpu, unique_id: '26'
[02:33] [ComfyUI] [SubprocessWorker] call_method: nodes.sam3_interactive.SAM3InteractiveCollector.EXECUTE_NORMALIZED
[02:33] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...
[02:33] [ComfyUI] [ComfyUI-SAM3] Health check: ping (timeout=5.0s)...
[02:33] [ComfyUI] [ComfyUI-SAM3] Health check: ok
[02:33] [ComfyUI] [SubprocessWorker] worker started/confirmed
[02:33] [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 4480, 6720, 3])
[02:33] [ComfyUI] [SubprocessWorker] serializing kwargs to shm...
[02:33] [ComfyUI] [SubprocessWorker] created 0 shm blocks
[02:33] [ComfyUI] [SubprocessWorker] sending request via socket...
[02:33] [ComfyUI] [SubprocessWorker] call_id=10 sending call_method
[02:33] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'parent_pid', 'fd', 'storage_size']
[02:33] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 4480, 6720, 3]
[02:33] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 4480, 6720, 3])
[02:33] [ComfyUI] [SubprocessWorker] got response: error
[02:34] [ComfyUI] !!! Exception during processing !!! No module named 'transformers'
[02:34] [ComfyUI]
[02:34] [ComfyUI] Worker traceback:
[02:34] [ComfyUI] Traceback (most recent call last):
[02:34] [ComfyUI] File "/tmp/comfyui_pvenv_6eayd_rl/persistent_worker.py", line 1762, in main
[02:34] [ComfyUI] result = method(**inputs)
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED
[02:34] [ComfyUI] to_return = cls.execute(*args, **kwargs)
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_interactive.py", line 667, in execute
[02:34] [ComfyUI] sam3_model = get_or_build_model(sam3_model_config)
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model
[02:34] [ComfyUI] from .sam3_model_patcher import SAM3UnifiedModel
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in <module>
[02:34] [ComfyUI] from comfy.model_patcher import ModelPatcher
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_patcher.py", line 32, in <module>
[02:34] [ComfyUI] import comfy.hooks
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/hooks.py", line 14, in <module>
[02:34] [ComfyUI] import comfy.lora
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/lora.py", line 23, in <module>
[02:34] [ComfyUI] import comfy.model_base
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_base.py", line 61, in <module>
[02:34] [ComfyUI] import comfy.ldm.hidream_o1.model
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in <module>
[02:34] [ComfyUI] from comfy.text_encoders.qwen35 import Qwen35VisionModel
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in <module>
[02:34] [ComfyUI] from comfy import sd1_clip
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/sd1_clip.py", line 3, in <module>
[02:34] [ComfyUI] from transformers import CLIPTokenizer
[02:34] [ComfyUI] ModuleNotFoundError: No module named 'transformers'
[02:34] [ComfyUI]
[02:34] [ComfyUI] Traceback (most recent call last):
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 535, in execute
[02:34] [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 335, in get_output_data
[02:34] [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 309, in _async_map_node_over_list
[02:34] [ComfyUI] await process_inputs(input_dict, i)
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 297, in process_inputs
[02:34] [ComfyUI] result = f(**inputs)
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy
[02:34] [ComfyUI] result = worker.call_method(
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/workers/subprocess.py", line 674, in call_method
[02:34] [ComfyUI] raise WorkerError(
[02:34] [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'transformers'
[02:34] [ComfyUI]
[02:34] [ComfyUI] Worker traceback:
[02:34] [ComfyUI] Traceback (most recent call last):
[02:34] [ComfyUI] File "/tmp/comfyui_pvenv_6eayd_rl/persistent_worker.py", line 1762, in main
[02:34] [ComfyUI] result = method(**inputs)
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED
[02:34] [ComfyUI] to_return = cls.execute(*args, **kwargs)
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_interactive.py", line 667, in execute
[02:34] [ComfyUI] sam3_model = get_or_build_model(sam3_model_config)
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model
[02:34] [ComfyUI] from .sam3_model_patcher import SAM3UnifiedModel
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in <module>
[02:34] [ComfyUI] from comfy.model_patcher import ModelPatcher
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_patcher.py", line 32, in <module>
[02:34] [ComfyUI] import comfy.hooks
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/hooks.py", line 14, in <module>
[02:34] [ComfyUI] import comfy.lora
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/lora.py", line 23, in <module>
[02:34] [ComfyUI] import comfy.model_base
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_base.py", line 61, in <module>
[02:34] [ComfyUI] import comfy.ldm.hidream_o1.model
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in <module>
[02:34] [ComfyUI] from comfy.text_encoders.qwen35 import Qwen35VisionModel
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in <module>
[02:34] [ComfyUI] from comfy import sd1_clip
[02:34] [ComfyUI] File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/sd1_clip.py", line 3, in <module>
[02:34] [ComfyUI] from transformers import CLIPTokenizer
[02:34] [ComfyUI] ModuleNotFoundError: No module named 'transformers'
[02:34] [ComfyUI]
[02:34] [ComfyUI]
[02:34] [ComfyUI] Prompt executed in 0.94 seconds
[02:34] Execution complete (t=1.2s)
[02:34] Execution error: {'prompt_id': '9b1e93fa-be7f-4560-af3e-7d3b83b91255', 'node_id': '26', 'node_type': 'SAM3InteractiveCollector', 'executed': ['12', '1'], 'exception_message': 'No module named \'transformers\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "/tmp/comfyui_pvenv_6eayd_rl/persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_interactive.py", line 667, in execute\n sam3_model = get_or_build_model(sam3_model_config)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model\n from .sam3_model_patcher import SAM3UnifiedModel\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in <module>\n from comfy.model_patcher import ModelPatcher\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_patcher.py", line 32, in <module>\n import comfy.hooks\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/hooks.py", line 14, in <module>\n import comfy.lora\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/lora.py", line 23, in <module>\n import comfy.model_base\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_base.py", line 61, in <module>\n import comfy.ldm.hidream_o1.model\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in <module>\n from comfy.text_encoders.qwen35 import Qwen35VisionModel\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in <module>\n from comfy import sd1_clip\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/sd1_clip.py", line 3, in <module>\n from transformers import CLIPTokenizer\nModuleNotFoundError: No module named \'transformers\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 535, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 335, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 309, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 297, in process_inputs\n result = f(**inputs)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy\n result = worker.call_method(\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/workers/subprocess.py", line 674, in call_method\n raise WorkerError(\n'], 'current_inputs': {'multi_prompts_store': ['[{"positive_points":[{"x":3348.288109906738,"y":2452.2208696844737}],"negative_points":[],"positive_boxes":[],"negative_boxes":[],"name":"Prompt 1"},{"positive_points":[],"negative_points":[],"positive_boxes":[],"negative_boxes":[],"name":"Prompt 2"}]'], 'sam3_model_config': ["{'checkpoint_path': '/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/models/sam3/sam3.safetensors', 'bpe_path': '/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3/bpe_simple_vocab_16e6.txt.gz', 'precision': 'auto', 'dtype': 'fp32', 'compile': False}"], 'image': ['tensor([[[[0.9176, 0.8392, 0.7333],\n [0.9294, 0.8471, 0.7412],\n [0.9176, 0.8353, 0.7294],\n ...,\n [0.8078, 0.6627, 0.4902],\n [0.8039, 0.6588, 0.4863],\n [0.8157, 0.6706, 0.4980]],\n\n [[0.9137, 0.8353, 0.7294],\n [0.9216, 0.8392, 0.7333],\n [0.9176, 0.8353, 0.7294],\n ...,\n [0.8039, 0.6588, 0.4863],\n [0.8039, 0.6588, 0.4863],\n [0.8118, 0.6667, 0.4941]],\n\n [[0.9137, 0.8314, 0.7255],\n [0.9137, 0.8314, 0.7255],\n [0.9176, 0.8353, 0.7294],\n ...,\n [0.8078, 0.6627, 0.4902],\n [0.8118, 0.6667, 0.4941],\n [0.8039, 0.6588, 0.4863]],\n\n ...,\n\n [[0.8667, 0.6784, 0.4902],\n [0.8706, 0.6824, 0.4941],\n [0.8706, 0.6824, 0.4941],\n ...,\n [0.6471, 0.4431, 0.2549],\n [0.6392, 0.4353, 0.2471],\n [0.6471, 0.4431, 0.2549]],\n\n [[0.8588, 0.6706, 0.4824],\n [0.8667, 0.6784, 0.4902],\n [0.8706, 0.6824, 0.4941],\n ...,\n [0.6431, 0.4392, 0.2510],\n [0.6471, 0.4431, 0.2549],\n [0.6549, 0.4510, 0.2627]],\n\n [[0.8627, 0.6745, 0.4863],\n [0.8667, 0.6784, 0.4902],\n [0.8784, 0.6902, 0.5020],\n ...,\n [0.6353, 0.4314, 0.2431],\n [0.6431, 0.4392, 0.2510],\n [0.6392, 0.4353, 0.2471]]]])'], 'unique_id': ['26'], 'prompt': ['{\'1\': {\'inputs\': {\'image\': \'image.png\'}, \'class_type\': \'LoadImage\', \'_meta\': {\'title\': \'Load Image\'}, \'is_changed\': [\'72785412200dcb9f5c6bc4eaa3018172293f67836627708e6bce78150109af15\']}, \'4\': {\'inputs\': {\'mask\': [\'26\', 0]}, \'class_type\': \'MaskPreview\', \'_meta\': {\'title\': \'Preview Mask\'}}, \'12\': {\'inputs\': {\'precision\': \'auto\', \'compile\': False}, \'class_type\': \'LoadSAM3Model\', \'_meta\': {\'title\': \'(Down)Load SAM3 Model\'}}, \'26\': {\'inputs\': {\'multi_prompts_store\': \'[{"positive_points":[{"x":3348.288109906738,"y":2452.2208696844737}],"negative_points":[],"positive_boxes":[],"negative_boxes":[],"name":"Prompt 1"},{"positive_points":[],"negative_points":[],"positive_boxes":[],"negative_boxes":[],"name":"Prompt 2"}]\', \'canvas\': \'\', \'sam3_model_config\': [\'12\', 0], \'image\': [\'1\', 0]}, \'class_type\': \'SAM3InteractiveCollector\', \'_meta\': {\'title\': \'SAM3 Interactive Collector\'}}}'], 'extra_pnginfo': ['{\'workflow\': {\'id\': \'9e5b67d0-53dc-42aa-bdb7-541f1939e114\', \'revision\': 0, \'last_node_id\': 26, \'last_link_id\': 57, \'nodes\': [{\'id\': 12, \'type\': \'LoadSAM3Model\', \'pos\': [619.424717299163, 120.03196674570798], \'size\': [270, 134.65625], \'flags\': {}, \'order\': 0, \'mode\': 0, \'inputs\': [], \'outputs\': [{\'name\': \'sam3_model_config\', \'type\': \'SAM3_MODEL_CONFIG\', \'links\': [55]}], \'properties\': {\'Node name for S&R\': \'LoadSAM3Model\', \'cnr_id\': \'comfyui-sam3\', \'ver\': \'82c8e4f88a6c0a9242712b827e05f5e67c4a90a7\', \'aux_id\': \'PozzettiAndrea/ComfyUI-SAM3\'}, \'widgets_values\': [\'auto\', False]}, {\'id\': 1, \'type\': \'LoadImage\', \'pos\': [488.1468326416015, 306.42935311583375], \'size\': [274.078125, 340], \'flags\': {}, \'order\': 1, \'mode\': 0, \'inputs\': [], \'outputs\': [{\'name\': \'IMAGE\', \'type\': \'IMAGE\', \'links\': [56]}, {\'name\': \'MASK\', \'type\': \'MASK\', \'links\': None}], \'properties\': {\'Node name for S&R\': \'LoadImage\', \'cnr_id\': \'comfy-core\', \'ver\': \'0.3.72\'}, \'widgets_values\': [\'image.png\', \'image\']}, {\'id\': 26, \'type\': \'SAM3InteractiveCollector\', \'pos\': [1010.2283851719152, 178.893439578179], \'size\': [400, 569], \'flags\': {}, \'order\': 2, \'mode\': 0, \'inputs\': [{\'name\': \'sam3_model_config\', \'type\': \'SAM3_MODEL_CONFIG\', \'link\': 55}, {\'name\': \'image\', \'type\': \'IMAGE\', \'link\': 56}], \'outputs\': [{\'name\': \'masks\', \'type\': \'MASK\', \'links\': [57]}, {\'name\': \'visualization\', \'type\': \'IMAGE\', \'links\': None}, {\'name\': \'multi_prompts\', \'type\': \'SAM3_MULTI_PROMPTS\', \'links\': None}], \'properties\': {\'Node name for S&R\': \'SAM3InteractiveCollector\', \'cnr_id\': \'comfyui-sam3\', \'ver\': \'c7636fa4a0b8c0fb07aa01f0c7749ebd5f9c92f3\'}, \'widgets_values\': [\'[{"positive_points":[{"x":3348.288109906738,"y":2452.2208696844737}],"negative_points":[],"positive_boxes":[],"negative_boxes":[],"name":"Prompt 1"},{"positive_points":[],"negative_points":[],"positive_boxes":[],"negative_boxes":[],"name":"Prompt 2"}]\', \'\']}, {\'id\': 4, \'type\': \'MaskPreview\', \'pos\': [1509.2821361303925, 266.63965000030805], \'size\': [225, 258], \'flags\': {}, \'order\': 3, \'mode\': 0, \'inputs\': [{\'name\': \'mask\', \'type\': \'MASK\', \'link\': 57}], \'outputs\': [], \'properties\': {\'Node name for S&R\': \'MaskPreview\', \'cnr_id\': \'comfy-core\', \'ver\': \'0.3.72\'}, \'widgets_values\': []}], \'links\': [[55, 12, 0, 26, 0, \'SAM3_MODEL_CONFIG\'], [56, 1, 0, 26, 1, \'IMAGE\'], [57, 26, 0, 4, 0, \'MASK\']], \'groups\': [], \'config\': {}, \'extra\': {\'ds\': {\'scale\': 1.2385275239783924, \'offset\': [-570.0951003265552, 14.632739985499132]}, \'frontendVersion\': \'1.43.18\', \'workflowRendererVersion\': \'LG\', \'VHS_latentpreview\': False, \'VHS_latentpreviewrate\': 0, \'VHS_MetadataImage\': True, \'VHS_KeepIntermediate\': True}, \'version\': 0.4}}']}, 'current_outputs': ['12', '26', '1', '4'], 'timestamp': 1778659243895}
[02:34] [5/5] SKIPPED (not in cpu list) video_point_prompt.json
[02:34] Results saved to /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/comfy-test-logs/SAM3-0758/dev/linux-cpu/results.json
[02:34] Model report: 1 files, 3.2 GB -> /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/comfy-test-logs/SAM3-0758/dev/linux-cpu/models.json
[02:34] Saved: /home/runner/work/comfy-gpu-ci/comfy-gpu-ci/comfy-test-logs/SAM3-0758/dev/linux-cpu/index.html
[02:34]
linux: FAILED
[02:34] Error: Workflow execution failed (4 error(s))
[02:34] Details: image_seg_point.json: Workflow execution failed: {'prompt_id': '6eab5836-410d-4aaa-954d-d70ca146a272', 'node_id': '31', 'node_type': 'SAM3Segmentation', 'executed': ['1', '15', '30'], 'exception_message': 'No module named \'transformers\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "/tmp/comfyui_pvenv_6eayd_rl/persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 469, in execute\n sam3_model = get_or_build_model(sam3_model_config)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model\n from .sam3_model_patcher import SAM3UnifiedModel\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in <module>\n from comfy.model_patcher import ModelPatcher\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_patcher.py", line 32, in <module>\n import comfy.hooks\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/hooks.py", line 14, in <module>\n import comfy.lora\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/lora.py", line 23, in <module>\n import comfy.model_base\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_base.py", line 61, in <module>\n import comfy.ldm.hidream_o1.model\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in <module>\n from comfy.text_encoders.qwen35 import Qwen35VisionModel\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in <module>\n from comfy import sd1_clip\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/sd1_clip.py", line 3, in <module>\n from transformers import CLIPTokenizer\nModuleNotFoundError: No module named \'transformers\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 535, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 335, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 309, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 297, in process_inputs\n result = f(**inputs)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy\n result = worker.call_method(\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/workers/subprocess.py", line 674, in call_method\n raise WorkerError(\n'], 'current_inputs': {'refinement_iterations': [0], 'use_multimask': [True], 'output_best_mask': [True], 'sam3_model_config': ["{'checkpoint_path': '/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/models/sam3/sam3.safetensors', 'bpe_path': '/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3/bpe_simple_vocab_16e6.txt.gz', 'precision': 'auto', 'dtype': 'fp32', 'compile': False}"], 'image': ['tensor([[[[0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n ...,\n [0.3176, 0.5765, 0.7176],\n [0.3333, 0.5961, 0.7451],\n [0.3529, 0.6157, 0.7647]],\n\n [[0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n ...,\n [0.3137, 0.5725, 0.7137],\n [0.3137, 0.5765, 0.7255],\n [0.3255, 0.5882, 0.7373]],\n\n [[0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n ...,\n [0.3882, 0.5294, 0.6235],\n [0.3922, 0.5216, 0.6196],\n [0.3961, 0.5255, 0.6235]],\n\n ...,\n\n [[0.4941, 0.4784, 0.4157],\n [0.4941, 0.4784, 0.4157],\n [0.4980, 0.4824, 0.4196],\n ...,\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020]],\n\n [[0.5098, 0.4941, 0.4314],\n [0.5098, 0.4941, 0.4314],\n [0.5137, 0.4980, 0.4353],\n ...,\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020]],\n\n [[0.5176, 0.5020, 0.4392],\n [0.5216, 0.5059, 0.4431],\n [0.5255, 0.5098, 0.4471],\n ...,\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020]]]])'], 'positive_points': ["{'points': [[0.3330291853098248, 0.4464251623052616], [0.32588862185381995, 0.5657519162372204], [0.3373135233834277, 0.7637835504221735]], 'labels': [1, 1, 1]}"], 'negative_points': ["{'points': [], 'labels': []}"]}, 'current_outputs': ['1', '30', '28', '15', '31', '29'], 'timestamp': 1778659220467}
Details:
Workflow: /tmp/comfy-test-run-_q9m7yot/ComfyUI-SAM3/workflows/image_seg_point.json
Node error: SAM3Segmentation
image_seg_text.json: Workflow execution failed: {'prompt_id': '673e8b6b-ce5b-43e7-ab8c-d919d8780739', 'node_id': '15', 'node_type': 'SAM3Grounding', 'executed': ['12', '1'], 'exception_message': 'No module named \'transformers\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "/tmp/comfyui_pvenv_6eayd_rl/persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 86, in execute\n sam3_model = get_or_build_model(sam3_model_config)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model\n from .sam3_model_patcher import SAM3UnifiedModel\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in <module>\n from comfy.model_patcher import ModelPatcher\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_patcher.py", line 32, in <module>\n import comfy.hooks\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/hooks.py", line 14, in <module>\n import comfy.lora\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/lora.py", line 23, in <module>\n import comfy.model_base\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_base.py", line 61, in <module>\n import comfy.ldm.hidream_o1.model\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in <module>\n from comfy.text_encoders.qwen35 import Qwen35VisionModel\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in <module>\n from comfy import sd1_clip\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/sd1_clip.py", line 3, in <module>\n from transformers import CLIPTokenizer\nModuleNotFoundError: No module named \'transformers\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 535, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 335, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 309, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 297, in process_inputs\n result = f(**inputs)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy\n result = worker.call_method(\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/workers/subprocess.py", line 674, in call_method\n raise WorkerError(\n'], 'current_inputs': {'confidence_threshold': [0.2], 'text_prompt': ['child'], 'max_detections': [-1], 'sam3_model_config': ["{'checkpoint_path': '/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/models/sam3/sam3.safetensors', 'bpe_path': '/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3/bpe_simple_vocab_16e6.txt.gz', 'precision': 'fp32', 'dtype': 'fp32', 'compile': False}"], 'image': ['tensor([[[[0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n ...,\n [0.3176, 0.5765, 0.7176],\n [0.3333, 0.5961, 0.7451],\n [0.3529, 0.6157, 0.7647]],\n\n [[0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n ...,\n [0.3137, 0.5725, 0.7137],\n [0.3137, 0.5765, 0.7255],\n [0.3255, 0.5882, 0.7373]],\n\n [[0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n [0.2863, 0.4588, 0.5922],\n ...,\n [0.3882, 0.5294, 0.6235],\n [0.3922, 0.5216, 0.6196],\n [0.3961, 0.5255, 0.6235]],\n\n ...,\n\n [[0.4941, 0.4784, 0.4157],\n [0.4941, 0.4784, 0.4157],\n [0.4980, 0.4824, 0.4196],\n ...,\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020]],\n\n [[0.5098, 0.4941, 0.4314],\n [0.5098, 0.4941, 0.4314],\n [0.5137, 0.4980, 0.4353],\n ...,\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020]],\n\n [[0.5176, 0.5020, 0.4392],\n [0.5216, 0.5059, 0.4431],\n [0.5255, 0.5098, 0.4471],\n ...,\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020],\n [0.5608, 0.5529, 0.5020]]]])']}, 'current_outputs': ['12', '1', '4', '15', '3'], 'timestamp': 1778659226735}
Details:
Workflow: /tmp/comfy-test-run-_q9m7yot/ComfyUI-SAM3/workflows/image_seg_text.json
Node error: SAM3Grounding
scene_seg.json: Workflow execution failed: {'prompt_id': 'cd1d55ec-d5cf-4c3f-a55f-f3280bc4fc6b', 'node_id': '27', 'node_type': 'SAM3MultipromptSegmentation', 'executed': ['12', '20', '1'], 'exception_message': 'No module named \'transformers\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "/tmp/comfyui_pvenv_6eayd_rl/persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 695, in execute\n sam3_model = get_or_build_model(sam3_model_config)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model\n from .sam3_model_patcher import SAM3UnifiedModel\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in <module>\n from comfy.model_patcher import ModelPatcher\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_patcher.py", line 32, in <module>\n import comfy.hooks\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/hooks.py", line 14, in <module>\n import comfy.lora\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/lora.py", line 23, in <module>\n import comfy.model_base\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_base.py", line 61, in <module>\n import comfy.ldm.hidream_o1.model\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in <module>\n from comfy.text_encoders.qwen35 import Qwen35VisionModel\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in <module>\n from comfy import sd1_clip\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/sd1_clip.py", line 3, in <module>\n from transformers import CLIPTokenizer\nModuleNotFoundError: No module named \'transformers\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 535, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 335, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 309, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 297, in process_inputs\n result = f(**inputs)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy\n result = worker.call_method(\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/workers/subprocess.py", line 674, in call_method\n raise WorkerError(\n'], 'current_inputs': {'refinement_iterations': [0], 'use_multimask': [False], 'sam3_model_config': ["{'checkpoint_path': '/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/models/sam3/sam3.safetensors', 'bpe_path': '/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3/bpe_simple_vocab_16e6.txt.gz', 'precision': 'fp32', 'dtype': 'fp32', 'compile': False}"], 'image': ['tensor([[[[0.9176, 0.8392, 0.7333],\n [0.9294, 0.8471, 0.7412],\n [0.9176, 0.8353, 0.7294],\n ...,\n [0.8078, 0.6627, 0.4902],\n [0.8039, 0.6588, 0.4863],\n [0.8157, 0.6706, 0.4980]],\n\n [[0.9137, 0.8353, 0.7294],\n [0.9216, 0.8392, 0.7333],\n [0.9176, 0.8353, 0.7294],\n ...,\n [0.8039, 0.6588, 0.4863],\n [0.8039, 0.6588, 0.4863],\n [0.8118, 0.6667, 0.4941]],\n\n [[0.9137, 0.8314, 0.7255],\n [0.9137, 0.8314, 0.7255],\n [0.9176, 0.8353, 0.7294],\n ...,\n [0.8078, 0.6627, 0.4902],\n [0.8118, 0.6667, 0.4941],\n [0.8039, 0.6588, 0.4863]],\n\n ...,\n\n [[0.8667, 0.6784, 0.4902],\n [0.8706, 0.6824, 0.4941],\n [0.8706, 0.6824, 0.4941],\n ...,\n [0.6471, 0.4431, 0.2549],\n [0.6392, 0.4353, 0.2471],\n [0.6471, 0.4431, 0.2549]],\n\n [[0.8588, 0.6706, 0.4824],\n [0.8667, 0.6784, 0.4902],\n [0.8706, 0.6824, 0.4941],\n ...,\n [0.6431, 0.4392, 0.2510],\n [0.6471, 0.4431, 0.2549],\n [0.6549, 0.4510, 0.2627]],\n\n [[0.8627, 0.6745, 0.4863],\n [0.8667, 0.6784, 0.4902],\n [0.8784, 0.6902, 0.5020],\n ...,\n [0.6353, 0.4314, 0.2431],\n [0.6431, 0.4392, 0.2510],\n [0.6392, 0.4353, 0.2471]]]])'], 'multi_prompts': ["[{'id': 0, 'positive_points': {'points': [[0.7518972528753959, 0.6355044797738758], [0.7340045522905485, 0.6593619024052091], [0.7021953068063758, 0.6623440802341257], [0.6902668397498108, 0.677254969378709], [0.668397983479442, 0.6742727915497924], [0.7180999295484621, 0.6176114128003758], [0.7180999295484621, 0.572878745366626], [0.7439449415043526, 0.5311282557617927], [0.7240641630767446, 0.5609500340509593], [0.6982191511208541, 0.5609500340509593]], 'labels': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, 'negative_points': {'points': [], 'labels': []}, 'positive_boxes': {'boxes': [[0.7141237738629407, 0.6056827014847093, 0.15109391604982114, 0.19085938105066613]], 'labels': [True]}, 'negative_boxes': {'boxes': [], 'labels': []}}, {'id': 1, 'positive_points': {'points': [[0.6513952517072837, 0.6001522443905642], [0.6354008929467748, 0.6921217188777309], [0.6433980723270292, 0.8680633222444846], [0.8859791801947458, 0.884058013459644], [0.9046392654153393, 0.6041509171943541], [0.9046392654153393, 0.5441708251375063], [0.8060073863922018, 0.5201787883147672]], 'labels': [1, 1, 1, 1, 1, 1, 1]}, 'negative_points': {'points': [[0.7180384132094035, 0.5921548987829846], [0.7180384132094035, 0.5921548987829846], [0.7393642248900819, 0.6601323364474121], [0.7393642248900819, 0.6601323364474121], [0.7446956778102515, 0.6841243732701512], [0.7446956778102515, 0.6841243732701512], [0.670055336927877, 0.6721283548587816], [0.670055336927877, 0.6721283548587816], [0.6913811486085556, 0.608149589998144], [0.6913811486085556, 0.608149589998144], [0.6887154221484707, 0.552168170745086], [0.6887154221484707, 0.552168170745086], [0.7100412338291491, 0.552168170745086], [0.7100412338291491, 0.552168170745086], [0.7366984984299972, 0.552168170745086], [0.7366984984299972, 0.552168170745086]], 'labels': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, 'positive_boxes': {'boxes': [[0.7713529424110994, 0.7141144192985751, 0.31455572229000606, 0.4198606443979348]], 'labels': [True]}, 'negative_boxes': {'boxes': [], 'labels': []}}, {'id': 2, 'positive_points': {'points': [[0.5279788816577594, 0.8586378093779201], [0.5097671062510242, 0.6517998210195123], [0.4733435554375539, 0.64789721746558], [0.37968299620291596, 0.64789721746558], [0.39529308940868896, 0.8313195845003946], [0.5565973858683432, 0.8586378093779201], [0.569605796873154, 0.6439946139116478]], 'labels': [1, 1, 1, 1, 1, 1, 1]}, 'negative_points': {'points': [[0.4863519664423647, 0.7415597027599534], [0.4863519664423647, 0.7415597027599534], [0.4837502842414026, 0.8508326022700556], [0.4837502842414026, 0.8508326022700556], [0.4473267334279323, 0.8664430164857846], [0.4473267334279323, 0.8664430164857846], [0.43431832242312146, 0.628384199695919], [0.43431832242312146, 0.628384199695919], [0.5123687884519864, 0.5893581641565967], [0.5123687884519864, 0.5893581641565967], [0.5019620596481378, 0.6361894068037834], [0.5019620596481378, 0.6361894068037834], [0.4291149580211971, 0.6400920103577157], [0.4291149580211971, 0.6400920103577157]], 'labels': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}, 'positive_boxes': {'boxes': [[0.47724607873899716, 0.7591214187526485, 0.21593962267985972, 0.24586402389773]], 'labels': [True]}, 'negative_boxes': {'boxes': [], 'labels': []}}, {'id': 3, 'positive_points': {'points': [[0.43642532993691785, 0.595717523200948]], 'labels': [1]}, 'negative_points': {'points': [], 'labels': []}, 'positive_boxes': {'boxes': [[0.4324084720788661, 0.6137937552745099, 0.06426972572882772, 0.07230492829424773]], 'labels': [True]}, 'negative_boxes': {'boxes': [], 'labels': []}}, {'id': 4, 'positive_points': {'points': [[0.5006950556657457, 0.595717523200948]], 'labels': [1]}, 'negative_points': {'points': [], 'labels': []}, 'positive_boxes': {'boxes': [[0.5027034845947715, 0.5716158804361987, 0.09238773073518991, 0.1687114993532448]], 'labels': [True]}, 'negative_boxes': {'boxes': [], 'labels': []}}, {'id': 5, 'positive_points': {'points': [[0.9264819886192297, 0.384828149009392], [0.7939256793035224, 0.37880273831820466], [0.7939256793035224, 0.11368466790596292], [0.9304988464772813, 0.10765925721477561], [0.874262836464557, 0.22214206034733455], [0.8501616893162467, 0.22214206034733455], [0.846144831458195, 0.31854863140633155], [0.8983639836128675, 0.3004723993327696], [0.8943471257548158, 0.20406582827377262], [0.8943471257548158, 0.12573548928833755], [0.8421279736001431, 0.1558625427442741], [0.830077400025988, 0.28842157795039497], [0.8220436843098845, 0.33059945278870617]], 'labels': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, 'negative_points': {'points': [], 'labels': []}, 'positive_boxes': {'boxes': [[0.8662291207484536, 0.25829452449445844, 0.18477546147037982, 0.31332135594174026]], 'labels': [True]}, 'negative_boxes': {'boxes': [], 'labels': []}}, {'id': 6, 'positive_points': {'points': [[0.7045792285036274, 0.9568116711293354], [0.6789425589101554, 0.9568116711293354], [0.6569682706871793, 0.9348369322210276], [0.6716177961691634, 0.9293432474939506], [0.6569682706871793, 0.9403306169481045], [0.7082416098741234, 0.9403306169481045]], 'labels': [1, 1, 1, 1, 1, 1]}, 'negative_points': {'points': [], 'labels': []}, 'positive_boxes': {'boxes': [[0.6789425589101554, 0.943077459311643, 0.10254667837388842, 0.07141790145200044]], 'labels': [True]}, 'negative_boxes': {'boxes': [], 'labels': []}}]"]}, 'current_outputs': ['12', '26', '1', '24', '4', '27', '3', '20', '23', '22'], 'timestamp': 1778659234775}
Details:
Workflow: /tmp/comfy-test-run-_q9m7yot/ComfyUI-SAM3/workflows/scene_seg.json
Node error: SAM3MultipromptSegmentation
scene_seg_interactive.json: Workflow execution failed: {'prompt_id': '9b1e93fa-be7f-4560-af3e-7d3b83b91255', 'node_id': '26', 'node_type': 'SAM3InteractiveCollector', 'executed': ['12', '1'], 'exception_message': 'No module named \'transformers\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "/tmp/comfyui_pvenv_6eayd_rl/persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_interactive.py", line 667, in execute\n sam3_model = get_or_build_model(sam3_model_config)\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model\n from .sam3_model_patcher import SAM3UnifiedModel\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in <module>\n from comfy.model_patcher import ModelPatcher\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_patcher.py", line 32, in <module>\n import comfy.hooks\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/hooks.py", line 14, in <module>\n import comfy.lora\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/lora.py", line 23, in <module>\n import comfy.model_base\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/model_base.py", line 61, in <module>\n import comfy.ldm.hidream_o1.model\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in <module>\n from comfy.text_encoders.qwen35 import Qwen35VisionModel\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in <module>\n from comfy import sd1_clip\n File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/comfy/sd1_clip.py", line 3, in <module>\n from transformers import CLIPTokenizer\nModuleNotFoundError: No module named \'transformers\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 535, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 335, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 309, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/execution.py", line 297, in process_inputs\n result = f(**inputs)\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy\n result = worker.call_method(\n', ' File "/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/.venv/lib/python3.10/site-packages/comfy_env/isolation/workers/subprocess.py", line 674, in call_method\n raise WorkerError(\n'], 'current_inputs': {'multi_prompts_store': ['[{"positive_points":[{"x":3348.288109906738,"y":2452.2208696844737}],"negative_points":[],"positive_boxes":[],"negative_boxes":[],"name":"Prompt 1"},{"positive_points":[],"negative_points":[],"positive_boxes":[],"negative_boxes":[],"name":"Prompt 2"}]'], 'sam3_model_config': ["{'checkpoint_path': '/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/models/sam3/sam3.safetensors', 'bpe_path': '/home/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0758/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3/bpe_simple_vocab_16e6.txt.gz', 'precision': 'auto', 'dtype': 'fp32', 'compile': False}"], 'image': ['tensor([[[[0.9176, 0.8392, 0.7333],\n [0.9294, 0.8471, 0.7412],\n [0.9176, 0.8353, 0.7294],\n ...,\n [0.8078, 0.6627, 0.4902],\n [0.8039, 0.6588, 0.4863],\n [0.8157, 0.6706, 0.4980]],\n\n [[0.9137, 0.8353, 0.7294],\n [0.9216, 0.8392, 0.7333],\n [0.9176, 0.8353, 0.7294],\n ...,\n [0.8039, 0.6588, 0.4863],\n [0.8039, 0.6588, 0.4863],\n [0.8118, 0.6667, 0.4941]],\n\n [[0.9137, 0.8314, 0.7255],\n [0.9137, 0.8314, 0.7255],\n [0.9176, 0.8353, 0.7294],\n ...,\n [0.8078, 0.6627, 0.4902],\n [0.8118, 0.6667, 0.4941],\n [0.8039, 0.6588, 0.4863]],\n\n ...,\n\n [[0.8667, 0.6784, 0.4902],\n [0.8706, 0.6824, 0.4941],\n [0.8706, 0.6824, 0.4941],\n ...,\n [0.6471, 0.4431, 0.2549],\n [0.6392, 0.4353, 0.2471],\n [0.6471, 0.4431, 0.2549]],\n\n [[0.8588, 0.6706, 0.4824],\n [0.8667, 0.6784, 0.4902],\n [0.8706, 0.6824, 0.4941],\n ...,\n [0.6431, 0.4392, 0.2510],\n [0.6471, 0.4431, 0.2549],\n [0.6549, 0.4510, 0.2627]],\n\n [[0.8627, 0.6745, 0.4863],\n [0.8667, 0.6784, 0.4902],\n [0.8784, 0.6902, 0.5020],\n ...,\n [0.6353, 0.4314, 0.2431],\n [0.6431, 0.4392, 0.2510],\n [0.6392, 0.4353, 0.2471]]]])'], 'unique_id': ['26'], 'prompt': ['{\'1\': {\'inputs\': {\'image\': \'image.png\'}, \'class_type\': \'LoadImage\', \'_meta\': {\'title\': \'Load Image\'}, \'is_changed\': [\'72785412200dcb9f5c6bc4eaa3018172293f67836627708e6bce78150109af15\']}, \'4\': {\'inputs\': {\'mask\': [\'26\', 0]}, \'class_type\': \'MaskPreview\', \'_meta\': {\'title\': \'Preview Mask\'}}, \'12\': {\'inputs\': {\'precision\': \'auto\', \'compile\': False}, \'class_type\': \'LoadSAM3Model\', \'_meta\': {\'title\': \'(Down)Load SAM3 Model\'}}, \'26\': {\'inputs\': {\'multi_prompts_store\': \'[{"positive_points":[{"x":3348.288109906738,"y":2452.2208696844737}],"negative_points":[],"positive_boxes":[],"negative_boxes":[],"name":"Prompt 1"},{"positive_points":[],"negative_points":[],"positive_boxes":[],"negative_boxes":[],"name":"Prompt 2"}]\', \'canvas\': \'\', \'sam3_model_config\': [\'12\', 0], \'image\': [\'1\', 0]}, \'class_type\': \'SAM3InteractiveCollector\', \'_meta\': {\'title\': \'SAM3 Interactive Collector\'}}}'], 'extra_pnginfo': ['{\'workflow\': {\'id\': \'9e5b67d0-53dc-42aa-bdb7-541f1939e114\', \'revision\': 0, \'last_node_id\': 26, \'last_link_id\': 57, \'nodes\': [{\'id\': 12, \'type\': \'LoadSAM3Model\', \'pos\': [619.424717299163, 120.03196674570798], \'size\': [270, 134.65625], \'flags\': {}, \'order\': 0, \'mode\': 0, \'inputs\': [], \'outputs\': [{\'name\': \'sam3_model_config\', \'type\': \'SAM3_MODEL_CONFIG\', \'links\': [55]}], \'properties\': {\'Node name for S&R\': \'LoadSAM3Model\', \'cnr_id\': \'comfyui-sam3\', \'ver\': \'82c8e4f88a6c0a9242712b827e05f5e67c4a90a7\', \'aux_id\': \'PozzettiAndrea/ComfyUI-SAM3\'}, \'widgets_values\': [\'auto\', False]}, {\'id\': 1, \'type\': \'LoadImage\', \'pos\': [488.1468326416015, 306.42935311583375], \'size\': [274.078125, 340], \'flags\': {}, \'order\': 1, \'mode\': 0, \'inputs\': [], \'outputs\': [{\'name\': \'IMAGE\', \'type\': \'IMAGE\', \'links\': [56]}, {\'name\': \'MASK\', \'type\': \'MASK\', \'links\': None}], \'properties\': {\'Node name for S&R\': \'LoadImage\', \'cnr_id\': \'comfy-core\', \'ver\': \'0.3.72\'}, \'widgets_values\': [\'image.png\', \'image\']}, {\'id\': 26, \'type\': \'SAM3InteractiveCollector\', \'pos\': [1010.2283851719152, 178.893439578179], \'size\': [400, 569], \'flags\': {}, \'order\': 2, \'mode\': 0, \'inputs\': [{\'name\': \'sam3_model_config\', \'type\': \'SAM3_MODEL_CONFIG\', \'link\': 55}, {\'name\': \'image\', \'type\': \'IMAGE\', \'link\': 56}], \'outputs\': [{\'name\': \'masks\', \'type\': \'MASK\', \'links\': [57]}, {\'name\': \'visualization\', \'type\': \'IMAGE\', \'links\': None}, {\'name\': \'multi_prompts\', \'type\': \'SAM3_MULTI_PROMPTS\', \'links\': None}], \'properties\': {\'Node name for S&R\': \'SAM3InteractiveCollector\', \'cnr_id\': \'comfyui-sam3\', \'ver\': \'c7636fa4a0b8c0fb07aa01f0c7749ebd5f9c92f3\'}, \'widgets_values\': [\'[{"positive_points":[{"x":3348.288109906738,"y":2452.2208696844737}],"negative_points":[],"positive_boxes":[],"negative_boxes":[],"name":"Prompt 1"},{"positive_points":[],"negative_points":[],"positive_boxes":[],"negative_boxes":[],"name":"Prompt 2"}]\', \'\']}, {\'id\': 4, \'type\': \'MaskPreview\', \'pos\': [1509.2821361303925, 266.63965000030805], \'size\': [225, 258], \'flags\': {}, \'order\': 3, \'mode\': 0, \'inputs\': [{\'name\': \'mask\', \'type\': \'MASK\', \'link\': 57}], \'outputs\': [], \'properties\': {\'Node name for S&R\': \'MaskPreview\', \'cnr_id\': \'comfy-core\', \'ver\': \'0.3.72\'}, \'widgets_values\': []}], \'links\': [[55, 12, 0, 26, 0, \'SAM3_MODEL_CONFIG\'], [56, 1, 0, 26, 1, \'IMAGE\'], [57, 26, 0, 4, 0, \'MASK\']], \'groups\': [], \'config\': {}, \'extra\': {\'ds\': {\'scale\': 1.2385275239783924, \'offset\': [-570.0951003265552, 14.632739985499132]}, \'frontendVersion\': \'1.43.18\', \'workflowRendererVersion\': \'LG\', \'VHS_latentpreview\': False, \'VHS_latentpreviewrate\': 0, \'VHS_MetadataImage\': True, \'VHS_KeepIntermediate\': True}, \'version\': 0.4}}']}, 'current_outputs': ['12', '26', '1', '4'], 'timestamp': 1778659243895}
Details:
Workflow: /tmp/comfy-test-run-_q9m7yot/ComfyUI-SAM3/workflows/scene_seg_interactive.json
Node error: SAM3InteractiveCollector
[02:34] Stopping ComfyUI server...