[00:00] Crash dump logging enabled: /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/comfy-test-logs/SAM3-0756/dev/macos-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] Cloning ComfyUI (latest)... [00:00] Running: git clone --depth 1 https://github.com/comfyanonymous/ComfyUI.git /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI [00:02] Creating virtual environment... [00:02] Running: /Library/Frameworks/Python.framework/Versions/3.10/bin/python -m venv /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv [00:04] Installing uv into venv... [00:04] Running: /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/bin/python -m pip install uv [00:05] Installing PyTorch... [00:05] Running: /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/bin/python -m uv pip install torch torchvision torchaudio [00:10] Installing ComfyUI requirements... [00:10] Running: /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/bin/python -m uv pip install -r /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/requirements.txt [00:22] Installing custom node... [00:22] Copying ComfyUI-SAM3 to custom_nodes/... [00:22] Installing node requirements... [00:22] Running: /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/bin/python -m uv pip install -r /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/requirements.txt [00:22] Running install.py... [00:22] Running: /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/bin/python /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/install.py [00:23] [00:23] Installing 2 node dependencies... [00:23] Cloning ComfyUI-VideoHelperSuite... [00:24] Installing requirements for ComfyUI-VideoHelperSuite... [00:25] Cloning ComfyUI-Multiband... [00:26] Installing requirements for ComfyUI-Multiband... [00:26] [00:26] [requirements] Re-installing main package requirements... [00:26] Installing requirements for ComfyUI-SAM3... [00:26] [comfy-env] _discover: scanning /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes [00:27] [comfy-env] _discover: ComfyUI-Multiband: no comfy-env.toml found [00:27] [comfy-env] _discover: ComfyUI-SAM3 -> sam3-nodes (custom_nodes/ComfyUI-SAM3/nodes/comfy-env.toml) [00:27] [comfy-env] _discover: ComfyUI-VideoHelperSuite: no comfy-env.toml found [00:27] [comfy-env] Workspace: /Users/runner/.ce [00:27] [comfy-env] ComfyUI: /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI [00:27] [comfy-env] Found 1 node config(s): [00:27] - sam3-nodes <- custom_nodes/ComfyUI-SAM3/nodes/comfy-env.toml (python=host) [00:27] [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] Generated /Users/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:33] WARN Skipped running the post-link scripts because `run-post-link-scripts` = `false` [00:33] - bin/.librsvg-pre-unlink.sh [00:33] To enable them, run: [00:33] pixi config set --local run-post-link-scripts insecure [00:33] More info: [00:33] https://pixi.sh/latest/reference/pixi_configuration/#run-post-link-scripts [00:39] ✔ The sam3-nodes environment has been installed. [00:39] [comfy-env] sam3-nodes: deduped libomp [00:39] [comfy-env] Recorded install hash e670dc2f7216 -> /Users/runner/.ce/install.hash [00:39] [comfy-env] Install log: /Users/runner/.ce/install.log [00:39] [00:39] 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 /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-validate-endpoint [00:40] CUDA packages absent (will mock): cc_torch, torch_generic_nms, flash_attn [00:40] [INSTALL] PASSED [00:40] [00:40] [3/5] REGISTRATION [00:40] ---------------------------------------- [00:40] [DEBUG] server=None, server_url=None, api=None [00:40] Starting ComfyUI server... [00:40] Starting ComfyUI server on port 41881... [00:40] CUDA mock packages: cc_torch, torch_generic_nms, flash_attn [00:40] Starting ComfyUI server on port 41881... [00:40] Waiting for server to be ready (timeout: 600s)... [00:41] [ComfyUI] setup plugin alembic.autogenerate.schemas [00:41] [ComfyUI] setup plugin alembic.autogenerate.tables [00:41] [ComfyUI] setup plugin alembic.autogenerate.types [00:41] [ComfyUI] setup plugin alembic.autogenerate.constraints [00:41] [ComfyUI] setup plugin alembic.autogenerate.defaults [00:41] [ComfyUI] setup plugin alembic.autogenerate.comments [00:41] [ComfyUI] Could not autodetect AIMDO implementation, assuming Nvidia [00:41] [ComfyUI] comfy-aimdo unsupported operating system: Darwin [00:41] [ComfyUI] NOTE: comfy-aimdo currently only supports Windows and Linux [00:41] [ComfyUI] [comfy-env] ComfyUI-SAM3: 1 isolation env(s): [00:41] [ComfyUI] [comfy-env] nodes -> /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes [00:41] [ComfyUI] [comfy-env] Workspace: /Users/runner/.ce [00:41] [ComfyUI] [comfy-env] env: /Users/runner/.ce/.pixi/envs/sam3-nodes [OK] [00:43] [ComfyUI] [comfy-env] prestartup complete [00:43] [ComfyUI] [00:43] [ComfyUI] Prestartup times for custom nodes: [00:43] [ComfyUI] 2.1 seconds: /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3 [00:43] [ComfyUI] [00:43] [ComfyUI] WARNING: Potential Error in code: Torch already imported, torch should never be imported before this point. [00:46] [ComfyUI] Found comfy_kitchen backend triton: {'available': False, 'disabled': True, 'unavailable_reason': "ImportError: No module named 'triton'", 'capabilities': []} [00:46] [ComfyUI] Found comfy_kitchen backend cuda: {'available': False, 'disabled': True, 'unavailable_reason': 'Extension file not found: /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/comfy_kitchen/backends/cuda/_C.abi3.so', 'capabilities': []} [00:46] [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:46] [ComfyUI] Checkpoint files will always be loaded safely. [00:46] [ComfyUI] Total VRAM 7168 MB, total RAM 7168 MB [00:46] [ComfyUI] pytorch version: 2.11.0 [00:46] [ComfyUI] Mac Version (15, 7, 4) [00:46] [ComfyUI] Set vram state to: SHARED [00:46] [ComfyUI] Device: mps [00:46] [ComfyUI] Using sub quadratic optimization for attention, if you have memory or speed issues try using: --use-split-cross-attention [00:51] [ComfyUI] objc[2575]: Class AVFFrameReceiver is implemented in both /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/cv2/.dylibs/libavdevice.61.3.100.dylib (0x12ba5c3a8) and /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/av/.dylibs/libavdevice.62.1.100.dylib (0x13fc183a8). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. [00:51] [ComfyUI] objc[2575]: Class AVFAudioReceiver is implemented in both /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/cv2/.dylibs/libavdevice.61.3.100.dylib (0x12ba5c3f8) and /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/av/.dylibs/libavdevice.62.1.100.dylib (0x13fc183f8). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. [00:52] [ComfyUI] Python version: 3.10.11 (v3.10.11:7d4cc5aa85, Apr 4 2023, 19:05:19) [Clang 13.0.0 (clang-1300.0.29.30)] [00:52] [ComfyUI] ComfyUI version: 0.21.0 [00:52] [ComfyUI] comfy-aimdo version: 0.3.0 [00:52] [ComfyUI] comfy-kitchen version: 0.2.8 [00:52] [ComfyUI] ****** User settings have been changed to be stored on the server instead of browser storage. ****** [00:52] [ComfyUI] ****** For multi-user setups add the --multi-user CLI argument to enable multiple user profiles. ****** [00:52] [ComfyUI] ComfyUI frontend version: 1.43.18 [00:52] [ComfyUI] [Prompt Server] web root: /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/comfyui_frontend_package/static [00:52] [ComfyUI] Asset seeder disabled [00:54] [ComfyUI] [comfy-env] Version: 0.3.87 [00:54] [ComfyUI] [comfy-env] register_nodes: ComfyUI-SAM3 [00:54] [ComfyUI] [comfy-env] ComfyUI source dir: /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI [00:54] [ComfyUI] [comfy-env] Found 1 isolation env(s) [00:54] [ComfyUI] [comfy-env] Scanning nodes metadata (isolation root)... [00:54] [ComfyUI] [comfy-env] Metadata scan: /Users/runner/.pixi/bin/pixi run --as-is --manifest-path /Users/runner/.ce/pixi.toml -e sam3-nodes python /var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfy_meta_i8qjjb18.py /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3 nodes /var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfy_meta_out_1zowam8o.pkl [00:54] [ComfyUI] [comfy-env] Scan env PATH for nodes: [00:54] [ComfyUI] [comfy-env] [0] /Users/runner/hostedtoolcache/Python/3.10.11/arm64/bin [00:54] [ComfyUI] [comfy-env] [1] /Users/runner/hostedtoolcache/Python/3.10.11/arm64 [00:54] [ComfyUI] [comfy-env] [2] /opt/homebrew/lib/ruby/gems/3.3.0/bin [00:54] [ComfyUI] [comfy-env] [3] /opt/homebrew/opt/ruby@3.3/bin [00:54] [ComfyUI] [comfy-env] [4] /Users/runner/.local/bin [00:54] [ComfyUI] [comfy-env] [5] /opt/homebrew/bin [00:54] [ComfyUI] [comfy-env] [6] /opt/homebrew/sbin [00:54] [ComfyUI] [comfy-env] [7] /Users/runner/.cargo/bin [00:54] [ComfyUI] [comfy-env] [8] /usr/local/opt/curl/bin [00:54] [ComfyUI] [comfy-env] [9] /usr/local/bin [00:54] [ComfyUI] [comfy-env] [10] /usr/local/sbin [00:54] [ComfyUI] [comfy-env] [11] /Users/runner/bin [00:54] [ComfyUI] [comfy-env] [12] /Users/runner/.yarn/bin [00:54] [ComfyUI] [comfy-env] [13] /Users/runner/Library/Android/sdk/tools [00:54] [ComfyUI] [comfy-env] [14] /Users/runner/Library/Android/sdk/platform-tools [00:54] [ComfyUI] [comfy-env] [15] /Library/Frameworks/Python.framework/Versions/Current/bin [00:54] [ComfyUI] [comfy-env] [16] /Library/Frameworks/Mono.framework/Versions/Current/Commands [00:54] [ComfyUI] [comfy-env] [17] /usr/bin [00:54] [ComfyUI] [comfy-env] [18] /bin [00:54] [ComfyUI] [comfy-env] [19] /usr/sbin [00:54] [ComfyUI] [comfy-env] [20] /sbin [00:54] [ComfyUI] [comfy-env] [21] /Users/runner/.dotnet/tools [01:00] [ComfyUI] [comfy-env] Metadata scan stderr for nodes: [01:00] [ComfyUI] [comfy-env] [meta-scan] importing nodes from /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3 [01:00] [ComfyUI] [comfy-env] [meta-scan] import OK [01:00] [ComfyUI] [comfy-env] Scanned nodes: 15 nodes (6.2s) [01:00] [ComfyUI] [comfy-env] Scanned nodes root: 15 nodes (6.2s) [01:00] [ComfyUI] [comfy-env] Registered proxy route: POST /sam3/interactive_segment_one -> nodes.sam3_interactive._api_segment_one [01:00] [ComfyUI] [comfy-env] Imported nodes root: 15 nodes (isolation) [01:00] [ComfyUI] [comfy-env] Registered 15 total nodes [01:00] [ComfyUI] ComfyUI-Multiband loaded: 15 nodes registered [01:00] [ComfyUI] [01:00] [ComfyUI] Import times for custom nodes: [01:00] [ComfyUI] 0.0 seconds: /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-validate-endpoint [01:00] [ComfyUI] 0.0 seconds: /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/websocket_image_save.py [01:00] [ComfyUI] 0.1 seconds: /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-VideoHelperSuite [01:00] [ComfyUI] 0.1 seconds: /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-Multiband [01:00] [ComfyUI] 6.4 seconds: /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3 [01:00] [ComfyUI] [01:00] [ComfyUI] Context impl SQLiteImpl. [01:00] [ComfyUI] Will assume non-transactional DDL. [01:00] [ComfyUI] Context impl SQLiteImpl. [01:00] [ComfyUI] Will assume non-transactional DDL. [01:00] [ComfyUI] Running upgrade -> 0001_assets, Initial assets schema [01:00] [ComfyUI] Revision ID: 0001_assets [01:00] [ComfyUI] Revises: None [01:00] [ComfyUI] Create Date: 2025-12-10 00:00:00 [01:00] [ComfyUI] Running upgrade 0001_assets -> 0002_merge_to_asset_references, Merge AssetInfo and AssetCacheState into unified asset_references table. [01:00] [ComfyUI] Running upgrade 0002_merge_to_asset_references -> 0003_add_metadata_job_id, Add system_metadata and job_id columns to asset_references. [01:00] [ComfyUI] Change preview_id FK from assets.id to asset_references.id. [01:00] [ComfyUI] Database upgraded from None to 0003_add_metadata_job_id [01:00] [ComfyUI] Starting server [01:00] [ComfyUI] [01:00] [ComfyUI] To see the GUI go to: http://127.0.0.1:41881 [01:01] Server responding, waiting for nodes to load... [01:21] Server is ready! [01:21] Checking for import errors in server logs... [01:21] No import errors detected [01:21] Found 784 registered nodes [01:21] [REGISTRATION] PASSED [01:21] [01:21] [4/5] INSTANTIATION [01:21] ---------------------------------------- [01:21] [DEBUG] server=, server_url=None, api= [01:21] Testing node constructors... [01:25] All 15 node(s) instantiated successfully! [01:25] [INSTANTIATION] PASSED [01:25] [01:25] [5/5] EXECUTION [01:25] ---------------------------------------- [01:25] [DEBUG] server=, server_url=None, api= [01:25] CPU runner - will execute 4 workflow(s) [01:25] Running 5 workflow(s) (all with videos)... [01:25] Installing screenshot dependencies (playwright, pillow)... [01:26] Packages installed, downloading chromium browser... [01:37] Screenshot dependencies installed successfully [01:37] Starting headless browser... [01:37] macOS -- using Apple Metal GPU via ANGLE [01:37] Capturing execution frames: image_seg_point.json [01:39] [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:44] Frame 1 saved (frame_000.jpg, t=0.0s) [01:44] Validating workflow... [01:44] [ComfyUI] === /validate endpoint called === [01:44] [ComfyUI] Received JSON with keys: ['prompt'] [01:44] [ComfyUI] Prompt has 6 nodes [01:44] [ComfyUI] Node 1: LoadImage [01:44] [ComfyUI] Inputs: {"image": "example_image.jpg"} [01:44] [ComfyUI] Node 15: SAM3PointCollector [01:44] [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:44] [ComfyUI] Node 28: PreviewImage [01:44] [ComfyUI] Inputs: {"images": ["31", 2]} [01:44] [ComfyUI] Node 29: MaskPreview [01:44] [ComfyUI] Inputs: {"mask": ["31", 0]} [01:44] [ComfyUI] Node 30: LoadSAM3Model [01:44] [ComfyUI] Inputs: {"precision": "auto", "compile": false} [01:44] [ComfyUI] Node 31: SAM3Segmentation [01:44] [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:44] [ComfyUI] Generated prompt_id: 26bb1e83-b20c-4669-a548-74fbc7e49e5e [01:44] [ComfyUI] Calling execution.validate_prompt()... [01:44] [ComfyUI] Validation result: valid=True [01:44] [ComfyUI] === Validation PASSED === [01:44] Queuing workflow for execution... [01:44] [ComfyUI] got prompt [01:44] [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:44] [ComfyUI] [comfy-env] SubprocessWorker: /Users/runner/.ce/.pixi/envs/sam3-nodes/bin/python [01:44] [ComfyUI] [comfy-env] env_vars: {'PYTORCH_ENABLE_MPS_FALLBACK': '1', 'COMFYUI_BASE': '/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI'} [01:44] [ComfyUI] [SubprocessWorker] call_method: nodes.sam3_interactive.SAM3PointCollector.EXECUTE_NORMALIZED [01:44] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started... [01:44] [ComfyUI] [ComfyUI-SAM3] python: /Users/runner/.ce/.pixi/envs/sam3-nodes/bin/python [01:44] [ComfyUI] [ComfyUI-SAM3] sys_path sent to worker: ['/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI', '/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3', '/Users/runner/.ce/.pixi/envs/sam3-nodes/lib/python3.1/site-packages', '/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3'] [01:44] [ComfyUI] [SubprocessWorker] is_pixi=True, python=/Users/runner/.ce/.pixi/envs/sam3-nodes/bin/python [01:44] [ComfyUI] [SubprocessWorker] launching cmd=['/Users/runner/.pixi/bin/pixi', 'run', '--as-is', '--manifest-path', '/Users/runner/.ce/pixi.toml', '-e', 'sam3-nodes', 'python', '/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfyui_pvenv_2ezacctk/persistent_worker.py', 'unix:///var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfy_worker_a9981f347c62.sock']... [01:44] [ComfyUI] [SubprocessWorker] socket_addr=unix:///var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfy_worker_a9981f347c62.sock exists=True [01:46] Frame 2 saved (frame_001.jpg, t=2.2s) [01:46] [capture-periodic] freeze=1ms shot=99ms unfreeze=1ms saved=True [01:46] [ComfyUI] [SubprocessWorker] worker started/confirmed [01:46] [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 720, 1280, 3]) [01:46] [ComfyUI] [SubprocessWorker] serializing kwargs to shm... [01:47] [ComfyUI] [SubprocessWorker] created 0 shm blocks [01:47] [ComfyUI] [SubprocessWorker] sending request via socket... [01:47] [ComfyUI] [SubprocessWorker] call_id=1 sending call_method [01:47] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'manager_path', 'storage_key', 'storage_size'] [01:47] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 720, 1280, 3] [01:47] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 720, 1280, 3]) [01:47] [ComfyUI] [SubprocessWorker] got response: ok [01:47] [ComfyUI] [comfy-env] SAM3PointCollector done (3.48s): result: NodeOutput [01:47] [ComfyUI] [comfy-env] Running LoadSAM3Model: precision: 'auto', compile: False [01:47] [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSAM3Model.EXECUTE_NORMALIZED [01:47] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started... [01:47] [ComfyUI] [ComfyUI-SAM3] Health check: ping (timeout=5.0s)... [01:47] [ComfyUI] [ComfyUI-SAM3] Health check: ok [01:47] [ComfyUI] [SubprocessWorker] worker started/confirmed [01:47] [ComfyUI] [SubprocessWorker] serializing kwargs to shm... [01:47] [ComfyUI] [SubprocessWorker] created 0 shm blocks [01:47] [ComfyUI] [SubprocessWorker] sending request via socket... [01:47] [ComfyUI] [SubprocessWorker] call_id=2 sending call_method [01:47] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Model not found at /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/models/sam3/sam3.safetensors, downloading from HuggingFace... [01:47] Node executed (1 total), capturing... [01:48] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Downloading sam3.safetensors from apozz/sam3-safetensors... [01:48] Frame 3 saved (frame_002.jpg, t=4.0s) [01:48] [capture-node] freeze=1ms shot=87ms unfreeze=5ms saved=True [01:49] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:49] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:49] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:49] [capture-loop] iter=50 t=5.8s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=5 ram=3.8/7.0GB (59%) swap=0.0/0.0GB (0%) cpu=50% browser_rss=0.59GB [01:49] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:50] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:50] Frame 4 saved (frame_003.jpg, t=6.1s) [01:50] [capture-periodic] freeze=3ms shot=114ms unfreeze=4ms saved=True [01:50] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:50] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:51] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:51] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:51] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:51] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 10% [01:52] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:52] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:52] Frame 5 saved (frame_004.jpg, t=8.3s) [01:52] [capture-periodic] freeze=3ms shot=130ms unfreeze=3ms saved=True [01:52] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:52] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:53] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:53] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:53] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:54] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:54] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:54] Frame 6 saved (frame_005.jpg, t=10.5s) [01:54] [capture-periodic] freeze=4ms shot=103ms unfreeze=5ms saved=True [01:54] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:54] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 20% [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] [capture-loop] iter=100 t=11.6s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=4 ram=3.8/7.0GB (60%) swap=0.0/0.0GB (0%) cpu=61% browser_rss=0.60GB [01:55] [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] Frame 7 saved (frame_006.jpg, t=12.7s) [01:56] [capture-periodic] freeze=2ms shot=100ms unfreeze=4ms saved=True [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:57] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 30% [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:58] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [01:59] Frame 8 saved (frame_007.jpg, t=14.8s) [01:59] [capture-periodic] freeze=6ms shot=113ms unfreeze=2ms saved=True [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:01] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 40% [02:01] Frame 9 saved (frame_008.jpg, t=17.0s) [02:01] [capture-periodic] freeze=5ms shot=126ms unfreeze=4ms saved=True [02:01] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:01] [capture-loop] iter=150 t=17.4s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=15 ram=3.8/7.0GB (60%) swap=0.0/0.0GB (0%) cpu=72% browser_rss=0.60GB [02:01] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:01] [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] Frame 10 saved (frame_009.jpg, t=19.2s) [02:03] [capture-periodic] freeze=4ms shot=136ms unfreeze=3ms saved=True [02:03] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:04] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:04] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 50% [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:05] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:05] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:05] Frame 11 saved (frame_010.jpg, t=21.4s) [02:05] [capture-periodic] freeze=2ms shot=113ms unfreeze=3ms saved=True [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:07] [capture-loop] iter=200 t=23.1s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=2 ram=3.8/7.0GB (60%) swap=0.0/0.0GB (0%) cpu=69% browser_rss=0.59GB [02:07] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:07] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 60% [02:07] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:07] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:07] Frame 12 saved (frame_011.jpg, t=23.6s) [02:07] [capture-periodic] freeze=2ms shot=111ms unfreeze=4ms saved=True [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: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:10] Frame 13 saved (frame_012.jpg, t=25.8s) [02:10] [capture-periodic] freeze=1ms shot=99ms unfreeze=2ms saved=True [02:10] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:10] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 70% [02:10] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:10] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:11] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:11] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:11] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:11] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:12] Frame 14 saved (frame_013.jpg, t=27.9s) [02:12] [capture-periodic] freeze=3ms shot=112ms unfreeze=2ms saved=True [02:12] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:12] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:12] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:12] [capture-loop] iter=250 t=28.9s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=3 ram=3.8/7.0GB (60%) swap=0.0/0.0GB (0%) cpu=71% browser_rss=0.52GB [02:13] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:13] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 80% [02:13] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:13] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:14] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:14] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:14] Frame 15 saved (frame_014.jpg, t=30.1s) [02:14] [capture-periodic] freeze=3ms shot=128ms unfreeze=2ms saved=True [02:14] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:14] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:15] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:15] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:15] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:16] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:16] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 90% [02:16] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:16] Frame 16 saved (frame_015.jpg, t=32.4s) [02:16] [capture-periodic] freeze=3ms shot=121ms unfreeze=2ms saved=True [02:16] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:17] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:17] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:17] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:17] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:18] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:18] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:18] [capture-loop] iter=300 t=34.6s state={'complete': False, 'error': None, 'executedCount': 1, 'wsState': 1} eval_ms=6 ram=3.7/7.0GB (60%) swap=0.0/0.0GB (0%) cpu=67% browser_rss=0.52GB [02:18] Frame 17 saved (frame_016.jpg, t=34.6s) [02:18] [capture-periodic] freeze=2ms shot=118ms unfreeze=3ms saved=True [02:18] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:19] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:19] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Download progress: 100% [02:19] [ComfyUI] [SubprocessWorker] callback 'report_progress' from call_id=2 [02:19] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Downloaded sam3.safetensors [02:19] [ComfyUI] [worker:ComfyUI-SAM3] [SAM3] Model downloaded successfully [02:19] [ComfyUI] [SubprocessWorker] got response: ok [02:19] [ComfyUI] [comfy-env] LoadSAM3Model done (31.33s): result: NodeOutput [02:19] [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:19] [ComfyUI] [SubprocessWorker] call_method: nodes.segmentation.SAM3Segmentation.EXECUTE_NORMALIZED [02:19] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started... [02:19] [ComfyUI] [ComfyUI-SAM3] Health check: ping (timeout=5.0s)... [02:19] [ComfyUI] [ComfyUI-SAM3] Health check: ok [02:19] [ComfyUI] [SubprocessWorker] worker started/confirmed [02:19] [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 720, 1280, 3]) [02:19] [ComfyUI] [SubprocessWorker] serializing kwargs to shm... [02:19] [ComfyUI] [SubprocessWorker] created 0 shm blocks [02:19] [ComfyUI] [SubprocessWorker] sending request via socket... [02:19] [ComfyUI] [SubprocessWorker] call_id=3 sending call_method [02:19] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'manager_path', 'storage_key', 'storage_size'] [02:19] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 720, 1280, 3] [02:19] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 720, 1280, 3]) [02:20] [ComfyUI] objc[3727]: Class AVFFrameReceiver is implemented in both /Users/runner/.ce/.pixi/envs/sam3-nodes/lib/libavdevice.62.3.101.dylib (0x132bdc7a8) and /Users/runner/.ce/.pixi/envs/sam3-nodes/lib/python3.10/site-packages/cv2/.dylibs/libavdevice.61.3.100.dylib (0x1565dc3a8). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. [02:20] [ComfyUI] objc[3727]: Class AVFAudioReceiver is implemented in both /Users/runner/.ce/.pixi/envs/sam3-nodes/lib/libavdevice.62.3.101.dylib (0x132bdc7f8) and /Users/runner/.ce/.pixi/envs/sam3-nodes/lib/python3.10/site-packages/cv2/.dylibs/libavdevice.61.3.100.dylib (0x1565dc3f8). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. [02:20] [ComfyUI] [SubprocessWorker] got response: error [02:20] [ComfyUI] !!! Exception during processing !!! No module named 'transformers' [02:20] [ComfyUI] [02:20] [ComfyUI] Worker traceback: [02:20] [ComfyUI] Traceback (most recent call last): [02:20] [ComfyUI] File "/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfyui_pvenv_2ezacctk/persistent_worker.py", line 1762, in main [02:20] [ComfyUI] result = method(**inputs) [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED [02:20] [ComfyUI] to_return = cls.execute(*args, **kwargs) [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 469, in execute [02:20] [ComfyUI] sam3_model = get_or_build_model(sam3_model_config) [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model [02:20] [ComfyUI] from .sam3_model_patcher import SAM3UnifiedModel [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in [02:20] [ComfyUI] from comfy.model_patcher import ModelPatcher [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_patcher.py", line 32, in [02:20] [ComfyUI] import comfy.hooks [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/hooks.py", line 14, in [02:20] [ComfyUI] import comfy.lora [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/lora.py", line 23, in [02:20] [ComfyUI] import comfy.model_base [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_base.py", line 61, in [02:20] [ComfyUI] import comfy.ldm.hidream_o1.model [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in [02:20] [ComfyUI] from comfy.text_encoders.qwen35 import Qwen35VisionModel [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in [02:20] [ComfyUI] from comfy import sd1_clip [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/sd1_clip.py", line 3, in [02:20] [ComfyUI] from transformers import CLIPTokenizer [02:20] [ComfyUI] ModuleNotFoundError: No module named 'transformers' [02:20] [ComfyUI] [02:20] [ComfyUI] Traceback (most recent call last): [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 535, in execute [02:20] [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:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 335, in get_output_data [02:20] [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:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 309, in _async_map_node_over_list [02:20] [ComfyUI] await process_inputs(input_dict, i) [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 297, in process_inputs [02:20] [ComfyUI] result = f(**inputs) [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy [02:20] [ComfyUI] result = worker.call_method( [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/comfy_env/isolation/workers/subprocess.py", line 674, in call_method [02:20] [ComfyUI] raise WorkerError( [02:20] [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'transformers' [02:20] [ComfyUI] [02:20] [ComfyUI] Worker traceback: [02:20] [ComfyUI] Traceback (most recent call last): [02:20] [ComfyUI] File "/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfyui_pvenv_2ezacctk/persistent_worker.py", line 1762, in main [02:20] [ComfyUI] result = method(**inputs) [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED [02:20] [ComfyUI] to_return = cls.execute(*args, **kwargs) [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 469, in execute [02:20] [ComfyUI] sam3_model = get_or_build_model(sam3_model_config) [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model [02:20] [ComfyUI] from .sam3_model_patcher import SAM3UnifiedModel [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in [02:20] [ComfyUI] from comfy.model_patcher import ModelPatcher [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_patcher.py", line 32, in [02:20] [ComfyUI] import comfy.hooks [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/hooks.py", line 14, in [02:20] [ComfyUI] import comfy.lora [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/lora.py", line 23, in [02:20] [ComfyUI] import comfy.model_base [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_base.py", line 61, in [02:20] [ComfyUI] import comfy.ldm.hidream_o1.model [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in [02:20] [ComfyUI] from comfy.text_encoders.qwen35 import Qwen35VisionModel [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in [02:20] [ComfyUI] from comfy import sd1_clip [02:20] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/sd1_clip.py", line 3, in [02:20] [ComfyUI] from transformers import CLIPTokenizer [02:20] [ComfyUI] ModuleNotFoundError: No module named 'transformers' [02:20] [ComfyUI] [02:20] [ComfyUI] [02:20] [ComfyUI] Prompt executed in 36.69 seconds [02:21] Frame 18 saved (frame_017.jpg, t=36.8s) [02:21] [capture-periodic] freeze=2ms shot=154ms unfreeze=15ms saved=True [02:21] Execution complete (t=37.1s) [02:21] Execution error: {'prompt_id': 'feb39149-ea8d-4db4-bc83-89e857ec9581', 'node_id': '31', 'node_type': 'SAM3Segmentation', 'executed': ['30', '15', '1'], 'exception_message': 'No module named \'transformers\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfyui_pvenv_2ezacctk/persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 469, in execute\n sam3_model = get_or_build_model(sam3_model_config)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in \n from comfy.model_patcher import ModelPatcher\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_patcher.py", line 32, in \n import comfy.hooks\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/hooks.py", line 14, in \n import comfy.lora\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/lora.py", line 23, in \n import comfy.model_base\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_base.py", line 61, in \n import comfy.ldm.hidream_o1.model\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in \n from comfy.text_encoders.qwen35 import Qwen35VisionModel\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in \n from comfy import sd1_clip\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/sd1_clip.py", line 3, in \n from transformers import CLIPTokenizer\nModuleNotFoundError: No module named \'transformers\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 309, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 297, in process_inputs\n result = f(**inputs)\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy\n result = worker.call_method(\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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': '/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/models/sam3/sam3.safetensors', 'bpe_path': '/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3/bpe_simple_vocab_16e6.txt.gz', 'precision': 'auto', 'dtype': 'bf16', 'compile': False}"], 'image': ['tensor([[[[0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n ...,\n [0.3176, 0.5804, 0.7216],\n [0.3333, 0.6039, 0.7451],\n [0.3529, 0.6235, 0.7647]],\n\n [[0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n ...,\n [0.3137, 0.5765, 0.7176],\n [0.3137, 0.5843, 0.7255],\n [0.3255, 0.5961, 0.7373]],\n\n [[0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n ...,\n [0.3922, 0.5333, 0.6275],\n [0.3922, 0.5294, 0.6235],\n [0.3961, 0.5333, 0.6275]],\n\n ...,\n\n [[0.4941, 0.4863, 0.4157],\n [0.4941, 0.4863, 0.4157],\n [0.4980, 0.4902, 0.4196],\n ...,\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059]],\n\n [[0.5098, 0.5020, 0.4314],\n [0.5098, 0.5020, 0.4314],\n [0.5137, 0.5059, 0.4353],\n ...,\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059]],\n\n [[0.5176, 0.5098, 0.4392],\n [0.5216, 0.5137, 0.4431],\n [0.5255, 0.5176, 0.4471],\n ...,\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059]]]])'], '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': ['29', '30', '28', '15', '1', '31'], 'timestamp': 1778659151864} [02:21] Capturing execution frames: image_seg_text.json [02:26] Frame 1 saved (frame_000.jpg, t=0.0s) [02:26] Validating workflow... [02:26] [ComfyUI] === /validate endpoint called === [02:26] [ComfyUI] Received JSON with keys: ['prompt'] [02:26] [ComfyUI] Prompt has 5 nodes [02:26] [ComfyUI] Node 1: LoadImage [02:26] [ComfyUI] Inputs: {"image": "example_image.jpg"} [02:26] [ComfyUI] Node 3: PreviewImage [02:26] [ComfyUI] Inputs: {"images": ["15", 1]} [02:26] [ComfyUI] Node 4: MaskPreview [02:26] [ComfyUI] Inputs: {"mask": ["15", 0]} [02:26] [ComfyUI] Node 12: LoadSAM3Model [02:26] [ComfyUI] Inputs: {"precision": "fp32", "compile": false} [02:26] [ComfyUI] Node 15: SAM3Grounding [02:26] [ComfyUI] Inputs: {"confidence_threshold": 0.2, "text_prompt": "child", "max_detections": -1, "sam3_model_config": ["12", 0], "image": ["1", 0]} [02:26] [ComfyUI] Generated prompt_id: 05393566-8c64-45b1-a2b5-9a4b49daa7d0 [02:26] [ComfyUI] Calling execution.validate_prompt()... [02:26] [ComfyUI] Validation result: valid=True [02:26] [ComfyUI] === Validation PASSED === [02:26] Queuing workflow for execution... [02:26] [ComfyUI] got prompt [02:26] [ComfyUI] [comfy-env] Running LoadSAM3Model: precision: 'fp32', compile: False [02:26] [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSAM3Model.EXECUTE_NORMALIZED [02:26] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started... [02:26] [ComfyUI] [ComfyUI-SAM3] Health check: ping (timeout=5.0s)... [02:26] [ComfyUI] [ComfyUI-SAM3] Health check: ok [02:26] [ComfyUI] [SubprocessWorker] worker started/confirmed [02:26] [ComfyUI] [SubprocessWorker] serializing kwargs to shm... [02:26] [ComfyUI] [SubprocessWorker] created 0 shm blocks [02:26] [ComfyUI] [SubprocessWorker] sending request via socket... [02:26] [ComfyUI] [SubprocessWorker] call_id=4 sending call_method [02:26] [ComfyUI] [SubprocessWorker] got response: ok [02:26] [ComfyUI] [comfy-env] LoadSAM3Model done (0.00s): result: NodeOutput [02:26] [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:26] [ComfyUI] [SubprocessWorker] call_method: nodes.segmentation.SAM3Grounding.EXECUTE_NORMALIZED [02:26] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started... [02:26] [ComfyUI] [ComfyUI-SAM3] Health check: ping (timeout=5.0s)... [02:26] [ComfyUI] [ComfyUI-SAM3] Health check: ok [02:26] [ComfyUI] [SubprocessWorker] worker started/confirmed [02:26] [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 720, 1280, 3]) [02:26] [ComfyUI] [SubprocessWorker] serializing kwargs to shm... [02:26] [ComfyUI] [SubprocessWorker] created 0 shm blocks [02:26] [ComfyUI] [SubprocessWorker] sending request via socket... [02:26] [ComfyUI] [SubprocessWorker] call_id=5 sending call_method [02:26] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'manager_path', 'storage_key', 'storage_size'] [02:26] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 720, 1280, 3] [02:26] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 720, 1280, 3]) [02:26] [ComfyUI] [SubprocessWorker] got response: error [02:26] [ComfyUI] !!! Exception during processing !!! No module named 'transformers' [02:26] [ComfyUI] [02:26] [ComfyUI] Worker traceback: [02:26] [ComfyUI] Traceback (most recent call last): [02:26] [ComfyUI] File "/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfyui_pvenv_2ezacctk/persistent_worker.py", line 1762, in main [02:26] [ComfyUI] result = method(**inputs) [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED [02:26] [ComfyUI] to_return = cls.execute(*args, **kwargs) [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 86, in execute [02:26] [ComfyUI] sam3_model = get_or_build_model(sam3_model_config) [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model [02:26] [ComfyUI] from .sam3_model_patcher import SAM3UnifiedModel [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in [02:26] [ComfyUI] from comfy.model_patcher import ModelPatcher [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_patcher.py", line 32, in [02:26] [ComfyUI] import comfy.hooks [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/hooks.py", line 14, in [02:26] [ComfyUI] import comfy.lora [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/lora.py", line 23, in [02:26] [ComfyUI] import comfy.model_base [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_base.py", line 61, in [02:26] [ComfyUI] import comfy.ldm.hidream_o1.model [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in [02:26] [ComfyUI] from comfy.text_encoders.qwen35 import Qwen35VisionModel [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in [02:26] [ComfyUI] from comfy import sd1_clip [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/sd1_clip.py", line 3, in [02:26] [ComfyUI] from transformers import CLIPTokenizer [02:26] [ComfyUI] ModuleNotFoundError: No module named 'transformers' [02:26] [ComfyUI] [02:26] [ComfyUI] Traceback (most recent call last): [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 535, in execute [02:26] [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:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 335, in get_output_data [02:26] [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:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 309, in _async_map_node_over_list [02:26] [ComfyUI] await process_inputs(input_dict, i) [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 297, in process_inputs [02:26] [ComfyUI] result = f(**inputs) [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy [02:26] [ComfyUI] result = worker.call_method( [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/comfy_env/isolation/workers/subprocess.py", line 674, in call_method [02:26] [ComfyUI] raise WorkerError( [02:26] [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'transformers' [02:26] [ComfyUI] [02:26] [ComfyUI] Worker traceback: [02:26] [ComfyUI] Traceback (most recent call last): [02:26] [ComfyUI] File "/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfyui_pvenv_2ezacctk/persistent_worker.py", line 1762, in main [02:26] [ComfyUI] result = method(**inputs) [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED [02:26] [ComfyUI] to_return = cls.execute(*args, **kwargs) [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 86, in execute [02:26] [ComfyUI] sam3_model = get_or_build_model(sam3_model_config) [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model [02:26] [ComfyUI] from .sam3_model_patcher import SAM3UnifiedModel [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in [02:26] [ComfyUI] from comfy.model_patcher import ModelPatcher [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_patcher.py", line 32, in [02:26] [ComfyUI] import comfy.hooks [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/hooks.py", line 14, in [02:26] [ComfyUI] import comfy.lora [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/lora.py", line 23, in [02:26] [ComfyUI] import comfy.model_base [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_base.py", line 61, in [02:26] [ComfyUI] import comfy.ldm.hidream_o1.model [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in [02:26] [ComfyUI] from comfy.text_encoders.qwen35 import Qwen35VisionModel [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in [02:26] [ComfyUI] from comfy import sd1_clip [02:26] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/sd1_clip.py", line 3, in [02:26] [ComfyUI] from transformers import CLIPTokenizer [02:26] [ComfyUI] ModuleNotFoundError: No module named 'transformers' [02:26] [ComfyUI] [02:26] [ComfyUI] [02:26] [ComfyUI] Prompt executed in 0.03 seconds [02:26] Execution complete (t=0.3s) [02:26] Execution error: {'prompt_id': 'b3cb8b18-c610-4a74-b79f-40cb18370e25', '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 "/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfyui_pvenv_2ezacctk/persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 86, in execute\n sam3_model = get_or_build_model(sam3_model_config)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in \n from comfy.model_patcher import ModelPatcher\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_patcher.py", line 32, in \n import comfy.hooks\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/hooks.py", line 14, in \n import comfy.lora\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/lora.py", line 23, in \n import comfy.model_base\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_base.py", line 61, in \n import comfy.ldm.hidream_o1.model\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in \n from comfy.text_encoders.qwen35 import Qwen35VisionModel\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in \n from comfy import sd1_clip\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/sd1_clip.py", line 3, in \n from transformers import CLIPTokenizer\nModuleNotFoundError: No module named \'transformers\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 309, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 297, in process_inputs\n result = f(**inputs)\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy\n result = worker.call_method(\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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': '/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/models/sam3/sam3.safetensors', 'bpe_path': '/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3/bpe_simple_vocab_16e6.txt.gz', 'precision': 'fp32', 'dtype': 'fp32', 'compile': False}"], 'image': ['tensor([[[[0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n ...,\n [0.3176, 0.5804, 0.7216],\n [0.3333, 0.6039, 0.7451],\n [0.3529, 0.6235, 0.7647]],\n\n [[0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n ...,\n [0.3137, 0.5765, 0.7176],\n [0.3137, 0.5843, 0.7255],\n [0.3255, 0.5961, 0.7373]],\n\n [[0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n ...,\n [0.3922, 0.5333, 0.6275],\n [0.3922, 0.5294, 0.6235],\n [0.3961, 0.5333, 0.6275]],\n\n ...,\n\n [[0.4941, 0.4863, 0.4157],\n [0.4941, 0.4863, 0.4157],\n [0.4980, 0.4902, 0.4196],\n ...,\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059]],\n\n [[0.5098, 0.5020, 0.4314],\n [0.5098, 0.5020, 0.4314],\n [0.5137, 0.5059, 0.4353],\n ...,\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059]],\n\n [[0.5176, 0.5098, 0.4392],\n [0.5216, 0.5137, 0.4431],\n [0.5255, 0.5176, 0.4471],\n ...,\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059]]]])']}, 'current_outputs': ['12', '15', '1', '4', '3'], 'timestamp': 1778659157315} [02:26] Capturing execution frames: scene_seg.json [02:31] Frame 1 saved (frame_000.jpg, t=0.0s) [02:31] Validating workflow... [02:31] [ComfyUI] === /validate endpoint called === [02:31] [ComfyUI] Received JSON with keys: ['prompt'] [02:31] [ComfyUI] Prompt has 10 nodes [02:31] [ComfyUI] Node 1: LoadImage [02:31] [ComfyUI] Inputs: {"image": "image.png"} [02:31] [ComfyUI] Node 3: PreviewImage [02:31] [ComfyUI] Inputs: {"images": ["27", 1]} [02:31] [ComfyUI] Node 4: MaskPreview [02:31] [ComfyUI] Inputs: {"mask": ["27", 0]} [02:31] [ComfyUI] Node 12: LoadSAM3Model [02:31] [ComfyUI] Inputs: {"precision": "fp32", "compile": false} [02:31] [ComfyUI] Node 20: SAM3MultiRegionCollector [02:31] [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:31] [ComfyUI] Node 22: MultibandFromBatch [02:31] [ComfyUI] Inputs: {"images": ["1", 0], "masks": ["27", 0]} [02:31] [ComfyUI] Node 23: MultibandSave [02:31] Queuing workflow for execution... [02:31] [ComfyUI] Inputs: {"file_path": "output/multiband", "format": "npz", "multiband": ["26", 0]} [02:31] [ComfyUI] Node 24: MultibandPreview [02:31] [ComfyUI] Inputs: {"channel_index": 0, "multiband": ["26", 0]} [02:31] [ComfyUI] Node 26: MultibandResize [02:31] [ComfyUI] Inputs: {"upscale_method": "nearest-exact", "width": 900, "height": 600, "crop": "center", "multiband": ["22", 0]} [02:31] [ComfyUI] Node 27: SAM3MultipromptSegmentation [02:31] [ComfyUI] Inputs: {"refinement_iterations": 0, "use_multimask": false, "sam3_model_config": ["12", 0], "image": ["1", 0], "multi_prompts": ["20", 0]} [02:31] [ComfyUI] Generated prompt_id: fa6c4fb3-8ac5-456b-bdc4-e6cca1f9df68 [02:31] [ComfyUI] Calling execution.validate_prompt()... [02:31] [ComfyUI] Validation result: valid=True [02:31] [ComfyUI] === Validation PASSED === [02:31] [ComfyUI] got prompt [02:32] [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:32] [ComfyUI] [SubprocessWorker] call_method: nodes.sam3_interactive.SAM3MultiRegionCollector.EXECUTE_NORMALIZED [02:32] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started... [02:32] [ComfyUI] [ComfyUI-SAM3] Health check: ping (timeout=5.0s)... [02:32] [ComfyUI] [ComfyUI-SAM3] Health check: ok [02:32] [ComfyUI] [SubprocessWorker] worker started/confirmed [02:32] [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 4480, 6720, 3]) [02:32] [ComfyUI] [SubprocessWorker] serializing kwargs to shm... [02:32] [ComfyUI] [SubprocessWorker] created 0 shm blocks [02:32] [ComfyUI] [SubprocessWorker] sending request via socket... [02:32] [ComfyUI] [SubprocessWorker] call_id=6 sending call_method [02:32] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'manager_path', 'storage_key', 'storage_size'] [02:32] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 4480, 6720, 3] [02:32] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 4480, 6720, 3]) [02:33] [ComfyUI] [SubprocessWorker] got response: ok [02:33] [ComfyUI] [comfy-env] SAM3MultiRegionCollector done (0.39s): result: NodeOutput [02:33] [ComfyUI] [comfy-env] Running LoadSAM3Model: precision: 'fp32', 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=7 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 SAM3MultipromptSegmentation: refinement_iterations: 0, use_multimask: False, sam3_model_config: dict, image: torch.float32 [1,4480,6720,3] cpu, multi_prompts: list[7] [02:33] [ComfyUI] [SubprocessWorker] call_method: nodes.segmentation.SAM3MultipromptSegmentation.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=8 sending call_method [02:33] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'manager_path', 'storage_key', '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:33] [ComfyUI] !!! Exception during processing !!! No module named 'transformers' [02:33] [ComfyUI] [02:33] [ComfyUI] Worker traceback: [02:33] [ComfyUI] Traceback (most recent call last): [02:33] [ComfyUI] File "/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfyui_pvenv_2ezacctk/persistent_worker.py", line 1762, in main [02:33] [ComfyUI] result = method(**inputs) [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED [02:33] [ComfyUI] to_return = cls.execute(*args, **kwargs) [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 695, in execute [02:33] [ComfyUI] sam3_model = get_or_build_model(sam3_model_config) [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model [02:33] [ComfyUI] from .sam3_model_patcher import SAM3UnifiedModel [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in [02:33] [ComfyUI] from comfy.model_patcher import ModelPatcher [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_patcher.py", line 32, in [02:33] [ComfyUI] import comfy.hooks [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/hooks.py", line 14, in [02:33] [ComfyUI] import comfy.lora [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/lora.py", line 23, in [02:33] [ComfyUI] import comfy.model_base [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_base.py", line 61, in [02:33] [ComfyUI] import comfy.ldm.hidream_o1.model [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in [02:33] [ComfyUI] from comfy.text_encoders.qwen35 import Qwen35VisionModel [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in [02:33] [ComfyUI] from comfy import sd1_clip [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/sd1_clip.py", line 3, in [02:33] [ComfyUI] from transformers import CLIPTokenizer [02:33] [ComfyUI] ModuleNotFoundError: No module named 'transformers' [02:33] [ComfyUI] [02:33] [ComfyUI] Traceback (most recent call last): [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 535, in execute [02:33] [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:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 335, in get_output_data [02:33] [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:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 309, in _async_map_node_over_list [02:33] [ComfyUI] await process_inputs(input_dict, i) [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 297, in process_inputs [02:33] [ComfyUI] result = f(**inputs) [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy [02:33] [ComfyUI] result = worker.call_method( [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/comfy_env/isolation/workers/subprocess.py", line 674, in call_method [02:33] [ComfyUI] raise WorkerError( [02:33] [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'transformers' [02:33] [ComfyUI] [02:33] [ComfyUI] Worker traceback: [02:33] [ComfyUI] Traceback (most recent call last): [02:33] [ComfyUI] File "/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfyui_pvenv_2ezacctk/persistent_worker.py", line 1762, in main [02:33] [ComfyUI] result = method(**inputs) [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED [02:33] [ComfyUI] to_return = cls.execute(*args, **kwargs) [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 695, in execute [02:33] [ComfyUI] sam3_model = get_or_build_model(sam3_model_config) [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model [02:33] [ComfyUI] from .sam3_model_patcher import SAM3UnifiedModel [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in [02:33] [ComfyUI] from comfy.model_patcher import ModelPatcher [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_patcher.py", line 32, in [02:33] [ComfyUI] import comfy.hooks [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/hooks.py", line 14, in [02:33] [ComfyUI] import comfy.lora [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/lora.py", line 23, in [02:33] [ComfyUI] import comfy.model_base [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_base.py", line 61, in [02:33] [ComfyUI] import comfy.ldm.hidream_o1.model [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in [02:33] [ComfyUI] from comfy.text_encoders.qwen35 import Qwen35VisionModel [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in [02:33] [ComfyUI] from comfy import sd1_clip [02:33] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/sd1_clip.py", line 3, in [02:33] [ComfyUI] from transformers import CLIPTokenizer [02:33] [ComfyUI] ModuleNotFoundError: No module named 'transformers' [02:33] [ComfyUI] [02:33] [ComfyUI] [02:33] [ComfyUI] Prompt executed in 1.41 seconds [02:33] Node executed (1 total), capturing... [02:34] Frame 2 saved (frame_001.jpg, t=2.1s) [02:34] [capture-node] freeze=117ms shot=168ms unfreeze=0ms saved=True [02:34] Execution complete (t=2.1s) [02:34] Execution error: {'prompt_id': 'e4e71f1c-6541-4d9f-9d23-3a7495ec1415', '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 "/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfyui_pvenv_2ezacctk/persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 695, in execute\n sam3_model = get_or_build_model(sam3_model_config)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in \n from comfy.model_patcher import ModelPatcher\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_patcher.py", line 32, in \n import comfy.hooks\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/hooks.py", line 14, in \n import comfy.lora\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/lora.py", line 23, in \n import comfy.model_base\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_base.py", line 61, in \n import comfy.ldm.hidream_o1.model\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in \n from comfy.text_encoders.qwen35 import Qwen35VisionModel\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in \n from comfy import sd1_clip\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/sd1_clip.py", line 3, in \n from transformers import CLIPTokenizer\nModuleNotFoundError: No module named \'transformers\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 309, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 297, in process_inputs\n result = f(**inputs)\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy\n result = worker.call_method(\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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': '/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/models/sam3/sam3.safetensors', 'bpe_path': '/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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': ['20', '12', '23', '27', '1', '4', '22', '26', '3', '24'], 'timestamp': 1778659164071} [02:34] Capturing execution frames: scene_seg_interactive.json [02:39] Frame 1 saved (frame_000.jpg, t=0.0s) [02:39] Validating workflow... [02:39] [ComfyUI] === /validate endpoint called === [02:39] [ComfyUI] Received JSON with keys: ['prompt'] [02:39] [ComfyUI] Prompt has 4 nodes [02:39] [ComfyUI] Node 1: LoadImage [02:39] [ComfyUI] Inputs: {"image": "image.png"} [02:39] [ComfyUI] Node 4: MaskPreview [02:39] [ComfyUI] Inputs: {"mask": ["26", 0]} [02:39] [ComfyUI] Node 12: LoadSAM3Model [02:39] [ComfyUI] Inputs: {"precision": "auto", "compile": false} [02:39] [ComfyUI] Node 26: SAM3InteractiveCollector [02:39] [ComfyUI] Inputs: {"multi_prompts_store": "[{\"positive_points\":[{\"x\":3348.288109906738,\"y\":2452.2208696844737}],\"negative_points\":[],\"positive_boxes\":[],\"negative_boxes\":[],\"name\":\"Prompt 1\"},{\"positiv [02:39] [ComfyUI] Generated prompt_id: 5a36ca33-ca38-401c-9bbe-bfb4b45c3276 [02:39] [ComfyUI] Calling execution.validate_prompt()... [02:39] [ComfyUI] Validation result: valid=True [02:39] [ComfyUI] === Validation PASSED === [02:39] Queuing workflow for execution... [02:39] [ComfyUI] got prompt [02:40] [ComfyUI] [comfy-env] Running LoadSAM3Model: precision: 'auto', compile: False [02:40] [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSAM3Model.EXECUTE_NORMALIZED [02:40] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started... [02:40] [ComfyUI] [ComfyUI-SAM3] Health check: ping (timeout=5.0s)... [02:40] [ComfyUI] [ComfyUI-SAM3] Health check: ok [02:40] [ComfyUI] [SubprocessWorker] worker started/confirmed [02:40] [ComfyUI] [SubprocessWorker] serializing kwargs to shm... [02:40] [ComfyUI] [SubprocessWorker] created 0 shm blocks [02:40] [ComfyUI] [SubprocessWorker] sending request via socket... [02:40] [ComfyUI] [SubprocessWorker] call_id=9 sending call_method [02:40] [ComfyUI] [SubprocessWorker] got response: ok [02:40] [ComfyUI] [comfy-env] LoadSAM3Model done (0.00s): result: NodeOutput [02:40] [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:40] [ComfyUI] [SubprocessWorker] call_method: nodes.sam3_interactive.SAM3InteractiveCollector.EXECUTE_NORMALIZED [02:40] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started... [02:40] [ComfyUI] [ComfyUI-SAM3] Health check: ping (timeout=5.0s)... [02:40] [ComfyUI] [ComfyUI-SAM3] Health check: ok [02:40] [ComfyUI] [SubprocessWorker] worker started/confirmed [02:40] [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 4480, 6720, 3]) [02:40] [ComfyUI] [SubprocessWorker] serializing kwargs to shm... [02:40] [ComfyUI] [SubprocessWorker] created 0 shm blocks [02:40] [ComfyUI] [SubprocessWorker] sending request via socket... [02:40] [ComfyUI] [SubprocessWorker] call_id=10 sending call_method [02:40] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'manager_path', 'storage_key', 'storage_size'] [02:40] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 4480, 6720, 3] [02:40] [ComfyUI] [worker:ComfyUI-SAM3] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 4480, 6720, 3]) [02:40] [ComfyUI] [SubprocessWorker] got response: error [02:40] [ComfyUI] !!! Exception during processing !!! No module named 'transformers' [02:40] [ComfyUI] [02:40] [ComfyUI] Worker traceback: [02:40] [ComfyUI] Traceback (most recent call last): [02:40] [ComfyUI] File "/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfyui_pvenv_2ezacctk/persistent_worker.py", line 1762, in main [02:40] [ComfyUI] result = method(**inputs) [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED [02:40] [ComfyUI] to_return = cls.execute(*args, **kwargs) [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_interactive.py", line 667, in execute [02:40] [ComfyUI] sam3_model = get_or_build_model(sam3_model_config) [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model [02:40] [ComfyUI] from .sam3_model_patcher import SAM3UnifiedModel [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in [02:40] [ComfyUI] from comfy.model_patcher import ModelPatcher [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_patcher.py", line 32, in [02:40] [ComfyUI] import comfy.hooks [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/hooks.py", line 14, in [02:40] [ComfyUI] import comfy.lora [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/lora.py", line 23, in [02:40] [ComfyUI] import comfy.model_base [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_base.py", line 61, in [02:40] [ComfyUI] import comfy.ldm.hidream_o1.model [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in [02:40] [ComfyUI] from comfy.text_encoders.qwen35 import Qwen35VisionModel [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in [02:40] [ComfyUI] from comfy import sd1_clip [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/sd1_clip.py", line 3, in [02:40] [ComfyUI] from transformers import CLIPTokenizer [02:40] [ComfyUI] ModuleNotFoundError: No module named 'transformers' [02:40] [ComfyUI] [02:40] [ComfyUI] Traceback (most recent call last): [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 535, in execute [02:40] [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:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 335, in get_output_data [02:40] [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:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 309, in _async_map_node_over_list [02:40] [ComfyUI] await process_inputs(input_dict, i) [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 297, in process_inputs [02:40] [ComfyUI] result = f(**inputs) [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy [02:40] [ComfyUI] result = worker.call_method( [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/comfy_env/isolation/workers/subprocess.py", line 674, in call_method [02:40] [ComfyUI] raise WorkerError( [02:40] [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'transformers' [02:40] [ComfyUI] [02:40] [ComfyUI] Worker traceback: [02:40] [ComfyUI] Traceback (most recent call last): [02:40] [ComfyUI] File "/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfyui_pvenv_2ezacctk/persistent_worker.py", line 1762, in main [02:40] [ComfyUI] result = method(**inputs) [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED [02:40] [ComfyUI] to_return = cls.execute(*args, **kwargs) [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_interactive.py", line 667, in execute [02:40] [ComfyUI] sam3_model = get_or_build_model(sam3_model_config) [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/_model_cache.py", line 31, in get_or_build_model [02:40] [ComfyUI] from .sam3_model_patcher import SAM3UnifiedModel [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in [02:40] [ComfyUI] from comfy.model_patcher import ModelPatcher [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_patcher.py", line 32, in [02:40] [ComfyUI] import comfy.hooks [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/hooks.py", line 14, in [02:40] [ComfyUI] import comfy.lora [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/lora.py", line 23, in [02:40] [ComfyUI] import comfy.model_base [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_base.py", line 61, in [02:40] [ComfyUI] import comfy.ldm.hidream_o1.model [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in [02:40] [ComfyUI] from comfy.text_encoders.qwen35 import Qwen35VisionModel [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in [02:40] [ComfyUI] from comfy import sd1_clip [02:40] [ComfyUI] File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/sd1_clip.py", line 3, in [02:40] [ComfyUI] from transformers import CLIPTokenizer [02:40] [ComfyUI] ModuleNotFoundError: No module named 'transformers' [02:40] [ComfyUI] [02:40] [ComfyUI] [02:40] [ComfyUI] Prompt executed in 1.36 seconds [02:40] Execution complete (t=1.6s) [02:40] Execution error: {'prompt_id': '5fb95b77-15b7-4159-a594-df4101d423a4', '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 "/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfyui_pvenv_2ezacctk/persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in \n from comfy.model_patcher import ModelPatcher\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_patcher.py", line 32, in \n import comfy.hooks\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/hooks.py", line 14, in \n import comfy.lora\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/lora.py", line 23, in \n import comfy.model_base\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_base.py", line 61, in \n import comfy.ldm.hidream_o1.model\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in \n from comfy.text_encoders.qwen35 import Qwen35VisionModel\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in \n from comfy import sd1_clip\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/sd1_clip.py", line 3, in \n from transformers import CLIPTokenizer\nModuleNotFoundError: No module named \'transformers\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 309, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 297, in process_inputs\n result = f(**inputs)\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy\n result = worker.call_method(\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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': '/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/models/sam3/sam3.safetensors', 'bpe_path': '/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3/bpe_simple_vocab_16e6.txt.gz', 'precision': 'auto', 'dtype': 'bf16', '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', '4', '26', '1'], 'timestamp': 1778659171697} [02:41] [5/5] SKIPPED (not in cpu list) video_point_prompt.json [02:41] Results saved to /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/comfy-test-logs/SAM3-0756/dev/macos-cpu/results.json [02:41] Model report: 1 files, 3.2 GB -> /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/comfy-test-logs/SAM3-0756/dev/macos-cpu/models.json [02:41] Saved: /Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/comfy-test-logs/SAM3-0756/dev/macos-cpu/index.html [02:41] macos: FAILED [02:41] Error: Workflow execution failed (4 error(s)) [02:41] Details: image_seg_point.json: Workflow execution failed: {'prompt_id': 'feb39149-ea8d-4db4-bc83-89e857ec9581', 'node_id': '31', 'node_type': 'SAM3Segmentation', 'executed': ['30', '15', '1'], 'exception_message': 'No module named \'transformers\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfyui_pvenv_2ezacctk/persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 469, in execute\n sam3_model = get_or_build_model(sam3_model_config)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in \n from comfy.model_patcher import ModelPatcher\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_patcher.py", line 32, in \n import comfy.hooks\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/hooks.py", line 14, in \n import comfy.lora\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/lora.py", line 23, in \n import comfy.model_base\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_base.py", line 61, in \n import comfy.ldm.hidream_o1.model\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in \n from comfy.text_encoders.qwen35 import Qwen35VisionModel\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in \n from comfy import sd1_clip\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/sd1_clip.py", line 3, in \n from transformers import CLIPTokenizer\nModuleNotFoundError: No module named \'transformers\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 309, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 297, in process_inputs\n result = f(**inputs)\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy\n result = worker.call_method(\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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': '/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/models/sam3/sam3.safetensors', 'bpe_path': '/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3/bpe_simple_vocab_16e6.txt.gz', 'precision': 'auto', 'dtype': 'bf16', 'compile': False}"], 'image': ['tensor([[[[0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n ...,\n [0.3176, 0.5804, 0.7216],\n [0.3333, 0.6039, 0.7451],\n [0.3529, 0.6235, 0.7647]],\n\n [[0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n ...,\n [0.3137, 0.5765, 0.7176],\n [0.3137, 0.5843, 0.7255],\n [0.3255, 0.5961, 0.7373]],\n\n [[0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n ...,\n [0.3922, 0.5333, 0.6275],\n [0.3922, 0.5294, 0.6235],\n [0.3961, 0.5333, 0.6275]],\n\n ...,\n\n [[0.4941, 0.4863, 0.4157],\n [0.4941, 0.4863, 0.4157],\n [0.4980, 0.4902, 0.4196],\n ...,\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059]],\n\n [[0.5098, 0.5020, 0.4314],\n [0.5098, 0.5020, 0.4314],\n [0.5137, 0.5059, 0.4353],\n ...,\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059]],\n\n [[0.5176, 0.5098, 0.4392],\n [0.5216, 0.5137, 0.4431],\n [0.5255, 0.5176, 0.4471],\n ...,\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059]]]])'], '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': ['29', '30', '28', '15', '1', '31'], 'timestamp': 1778659151864} Details: Workflow: /private/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfy-test-run-mric64us/ComfyUI-SAM3/workflows/image_seg_point.json Node error: SAM3Segmentation image_seg_text.json: Workflow execution failed: {'prompt_id': 'b3cb8b18-c610-4a74-b79f-40cb18370e25', '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 "/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfyui_pvenv_2ezacctk/persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 86, in execute\n sam3_model = get_or_build_model(sam3_model_config)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in \n from comfy.model_patcher import ModelPatcher\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_patcher.py", line 32, in \n import comfy.hooks\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/hooks.py", line 14, in \n import comfy.lora\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/lora.py", line 23, in \n import comfy.model_base\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_base.py", line 61, in \n import comfy.ldm.hidream_o1.model\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in \n from comfy.text_encoders.qwen35 import Qwen35VisionModel\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in \n from comfy import sd1_clip\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/sd1_clip.py", line 3, in \n from transformers import CLIPTokenizer\nModuleNotFoundError: No module named \'transformers\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 309, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 297, in process_inputs\n result = f(**inputs)\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy\n result = worker.call_method(\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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': '/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/models/sam3/sam3.safetensors', 'bpe_path': '/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3/bpe_simple_vocab_16e6.txt.gz', 'precision': 'fp32', 'dtype': 'fp32', 'compile': False}"], 'image': ['tensor([[[[0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n ...,\n [0.3176, 0.5804, 0.7216],\n [0.3333, 0.6039, 0.7451],\n [0.3529, 0.6235, 0.7647]],\n\n [[0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n ...,\n [0.3137, 0.5765, 0.7176],\n [0.3137, 0.5843, 0.7255],\n [0.3255, 0.5961, 0.7373]],\n\n [[0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n [0.2902, 0.4667, 0.5961],\n ...,\n [0.3922, 0.5333, 0.6275],\n [0.3922, 0.5294, 0.6235],\n [0.3961, 0.5333, 0.6275]],\n\n ...,\n\n [[0.4941, 0.4863, 0.4157],\n [0.4941, 0.4863, 0.4157],\n [0.4980, 0.4902, 0.4196],\n ...,\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059]],\n\n [[0.5098, 0.5020, 0.4314],\n [0.5098, 0.5020, 0.4314],\n [0.5137, 0.5059, 0.4353],\n ...,\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059]],\n\n [[0.5176, 0.5098, 0.4392],\n [0.5216, 0.5137, 0.4431],\n [0.5255, 0.5176, 0.4471],\n ...,\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059],\n [0.5647, 0.5608, 0.5059]]]])']}, 'current_outputs': ['12', '15', '1', '4', '3'], 'timestamp': 1778659157315} Details: Workflow: /private/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfy-test-run-mric64us/ComfyUI-SAM3/workflows/image_seg_text.json Node error: SAM3Grounding scene_seg.json: Workflow execution failed: {'prompt_id': 'e4e71f1c-6541-4d9f-9d23-3a7495ec1415', '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 "/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfyui_pvenv_2ezacctk/persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/segmentation.py", line 695, in execute\n sam3_model = get_or_build_model(sam3_model_config)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in \n from comfy.model_patcher import ModelPatcher\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_patcher.py", line 32, in \n import comfy.hooks\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/hooks.py", line 14, in \n import comfy.lora\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/lora.py", line 23, in \n import comfy.model_base\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_base.py", line 61, in \n import comfy.ldm.hidream_o1.model\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in \n from comfy.text_encoders.qwen35 import Qwen35VisionModel\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in \n from comfy import sd1_clip\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/sd1_clip.py", line 3, in \n from transformers import CLIPTokenizer\nModuleNotFoundError: No module named \'transformers\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 309, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 297, in process_inputs\n result = f(**inputs)\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy\n result = worker.call_method(\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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': '/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/models/sam3/sam3.safetensors', 'bpe_path': '/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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': ['20', '12', '23', '27', '1', '4', '22', '26', '3', '24'], 'timestamp': 1778659164071} Details: Workflow: /private/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfy-test-run-mric64us/ComfyUI-SAM3/workflows/scene_seg.json Node error: SAM3MultipromptSegmentation scene_seg_interactive.json: Workflow execution failed: {'prompt_id': '5fb95b77-15b7-4159-a594-df4101d423a4', '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 "/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfyui_pvenv_2ezacctk/persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy_api/latest/_io.py", line 1833, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3_model_patcher.py", line 14, in \n from comfy.model_patcher import ModelPatcher\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_patcher.py", line 32, in \n import comfy.hooks\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/hooks.py", line 14, in \n import comfy.lora\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/lora.py", line 23, in \n import comfy.model_base\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/model_base.py", line 61, in \n import comfy.ldm.hidream_o1.model\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/ldm/hidream_o1/model.py", line 20, in \n from comfy.text_encoders.qwen35 import Qwen35VisionModel\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/text_encoders/qwen35.py", line 10, in \n from comfy import sd1_clip\n File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/comfy/sd1_clip.py", line 3, in \n from transformers import CLIPTokenizer\nModuleNotFoundError: No module named \'transformers\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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 "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 309, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/execution.py", line 297, in process_inputs\n result = f(**inputs)\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/venv/lib/python3.10/site-packages/comfy_env/isolation/metadata.py", line 556, in proxy\n result = worker.call_method(\n', ' File "/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/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': '/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/models/sam3/sam3.safetensors', 'bpe_path': '/Users/runner/work/comfy-gpu-ci/comfy-gpu-ci/test_workspaces/SAM3-0756/ComfyUI/custom_nodes/ComfyUI-SAM3/nodes/sam3/bpe_simple_vocab_16e6.txt.gz', 'precision': 'auto', 'dtype': 'bf16', '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', '4', '26', '1'], 'timestamp': 1778659171697} Details: Workflow: /private/var/folders/tb/y368xp_x10s3ty1b_mtl5mxr0000gn/T/comfy-test-run-mric64us/ComfyUI-SAM3/workflows/scene_seg_interactive.json Node error: SAM3InteractiveCollector [02:41] Stopping ComfyUI server...