[GH-ISSUE #7] Does this node actually still work? #2

Open
opened 2026-10-26 22:00:40 +00:00 by bsakaguchi · 7 comments
Owner

Originally created by @Lutzro on GitHub (Sep 21, 2025).
Original GitHub issue: https://github.com/Comfy-Org/NIMnodes/issues/7

I have NV Workbench 132.25 installed. The readme here tries to install 0.1.2 which is out of date by more than a year. The readme also does not talk about several key points. When Workbench installs it asks which container system to use Docker or Podman. I first installed Docker, which is the default, but when attempting to run failed because Podman is needed for the HF Token I had to remove and reinstall with Podman. The HF token works but now fails at the repo with permissions.

The Nim Node installs in Comfyui with Python 3.12 called in the node. Comfyui however, has moved on to Python 3.13.6 currently. I have also installed TensorRT nodes and run Win Visual Dev with Cuda 13 for my 5090 graphcs cards.

So I would appreciate it if this Dev would actually work, because it sure doesn't for me

Originally created by @Lutzro on GitHub (Sep 21, 2025). Original GitHub issue: https://github.com/Comfy-Org/NIMnodes/issues/7 I have NV Workbench 132.25 installed. The readme here tries to install 0.1.2 which is out of date by more than a year. The readme also does not talk about several key points. When Workbench installs it asks which container system to use Docker or Podman. I first installed Docker, which is the default, but when attempting to run failed because Podman is needed for the HF Token I had to remove and reinstall with Podman. The HF token works but now fails at the repo with permissions. The Nim Node installs in Comfyui with Python 3.12 called in the node. Comfyui however, has moved on to Python 3.13.6 currently. I have also installed TensorRT nodes and run Win Visual Dev with Cuda 13 for my 5090 graphcs cards. So I would appreciate it if this Dev would actually work, because it sure doesn't for me
Author
Owner

@Wontfallo commented on GitHub (Oct 15, 2025):

CLASSIC NVIDIA SUPPORT FLOP. You would think they would have a few bucks to spare on decent devs, especially for all the crap they advertise with comfyUi.. NO one is using this garbage. Pull your head out of your own ass Jenny

<!-- gh-comment-id:3404164753 --> @Wontfallo commented on GitHub (Oct 15, 2025): CLASSIC NVIDIA SUPPORT FLOP. You would think they would have a few bucks to spare on decent devs, especially for all the crap they advertise with comfyUi.. NO one is using this garbage. Pull your head out of your own ass Jenny
Author
Owner

@Soliver84 commented on GitHub (Oct 28, 2025):

Fehler:
path: "/opt/nim/.cache/huggingface/hub/models--black-forest-labs--FLUX.1-dev/snapshots/3de623fc3c33e44ffbe2bad470d0f45bccf2eb21/tokenizer_2/tokenizer_config.json"
ERROR 2025-10-28 17:48:02.427 repo.rs:144] One or more errors fetching files:
ERROR 2025-10-28 17:48:02.428 repo.rs:146] Permission error: The requested operation requires permissions that the user does not have. This may be due to the user not being a member of the organization that owns the repo.
ERROR 2025-10-28 17:48:02.428 repo.rs:146] Permission error: The requested operation requires permissions that the user does not have. This may be due to the user not being a member of the organization that owns the repo.
ERROR 2025-10-28 17:48:02.428 repo.rs:146] Permission error: The requested operation requires permissions that the user does not have. This may be due to the user not being a member of the organization that owns the repo.
ERROR 2025-10-28 17:48:02.428 repo.rs:146] Permission error: The requested operation requires permissions that the user does not have. This may be due to the user not being a member of the organization that owns the repo.
ERROR 2025-10-28 17:48:02.428 repo.rs:146] Permission error: The requested operation requires permissions that the user does not have. This may be due to the user not being a member of the organization that owns the repo.
ERROR 2025-10-28 17:48:02.428 repo.rs:146] Permission error: The requested operation requires permissions that the user does not have. This may be due to the user not being a member of the organization that owns the repo.
Traceback (most recent call last):
File "/usr/local/bin/start_server", line 8, in
sys.exit(main())
^^^^^^
File "/usr/local/lib/python3.12/dist-packages/nimlib/start_server.py", line 61, in main
nimutils.get_model_manifest()
File "/usr/local/lib/python3.12/dist-packages/nimlib/nimutils.py", line 114, in get_model_manifest
model_manifest = SdkModelManifest()
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/dist-packages/nimlib/nim_sdk.py", line 124, in init
raise NIMProfileIDNotFound(
nimlib.exceptions.NIMProfileIDNotFound: Could not match a profile in manifest at /opt/nim/etc/default/model_manifest.yaml

<!-- gh-comment-id:3457755996 --> @Soliver84 commented on GitHub (Oct 28, 2025): Fehler: path: "/opt/nim/.cache/huggingface/hub/models--black-forest-labs--FLUX.1-dev/snapshots/3de623fc3c33e44ffbe2bad470d0f45bccf2eb21/tokenizer_2/tokenizer_config.json" ERROR 2025-10-28 17:48:02.427 repo.rs:144] One or more errors fetching files: ERROR 2025-10-28 17:48:02.428 repo.rs:146] Permission error: The requested operation requires permissions that the user does not have. This may be due to the user not being a member of the organization that owns the repo. ERROR 2025-10-28 17:48:02.428 repo.rs:146] Permission error: The requested operation requires permissions that the user does not have. This may be due to the user not being a member of the organization that owns the repo. ERROR 2025-10-28 17:48:02.428 repo.rs:146] Permission error: The requested operation requires permissions that the user does not have. This may be due to the user not being a member of the organization that owns the repo. ERROR 2025-10-28 17:48:02.428 repo.rs:146] Permission error: The requested operation requires permissions that the user does not have. This may be due to the user not being a member of the organization that owns the repo. ERROR 2025-10-28 17:48:02.428 repo.rs:146] Permission error: The requested operation requires permissions that the user does not have. This may be due to the user not being a member of the organization that owns the repo. ERROR 2025-10-28 17:48:02.428 repo.rs:146] Permission error: The requested operation requires permissions that the user does not have. This may be due to the user not being a member of the organization that owns the repo. Traceback (most recent call last): File "/usr/local/bin/start_server", line 8, in <module> sys.exit(main()) ^^^^^^ File "/usr/local/lib/python3.12/dist-packages/nimlib/start_server.py", line 61, in main nimutils.get_model_manifest() File "/usr/local/lib/python3.12/dist-packages/nimlib/nimutils.py", line 114, in get_model_manifest model_manifest = SdkModelManifest() ^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/dist-packages/nimlib/nim_sdk.py", line 124, in __init__ raise NIMProfileIDNotFound( nimlib.exceptions.NIMProfileIDNotFound: Could not match a profile in manifest at /opt/nim/etc/default/model_manifest.yaml
Author
Owner

@Soliver84 commented on GitHub (Oct 28, 2025):

genau so weit bin ich auch ich habe jetzt ewig mit meinem Accesstoken gespielt ist schon ärgerlich

<!-- gh-comment-id:3457759961 --> @Soliver84 commented on GitHub (Oct 28, 2025): genau so weit bin ich auch ich habe jetzt ewig mit meinem Accesstoken gespielt ist schon ärgerlich
Author
Owner

@Soliver84 commented on GitHub (Oct 28, 2025):

ah in der nim datei :auf: ändern dan gehts
self._run_cmd('chmod -R 777 ~/.cache/nim')

<!-- gh-comment-id:3457892509 --> @Soliver84 commented on GitHub (Oct 28, 2025): ah in der nim datei :auf: ändern dan gehts self._run_cmd('chmod -R 777 ~/.cache/nim')
Author
Owner

@Soliver84 commented on GitHub (Nov 19, 2025):

Hello?

<!-- gh-comment-id:3551959802 --> @Soliver84 commented on GitHub (Nov 19, 2025): Hello?
Author
Owner

@Soliver84 commented on GitHub (Nov 27, 2025):

Here is the complete and detailed report in English, including every single bug we found and fixed (folder creation, permissions, typos, logic errors). You can send this directly to the developer.


Comprehensive Bug Report & Fix Log: ComfyUI NIM Node (WSL2/Podman)

To the Developer:
We have spent significant time debugging the NIM nodes on a Windows/WSL2 setup using Podman. Below is a detailed list of critical bugs found in the original code that we had to fix to get the node running, as well as the current status.

1. Critical Python Code Fixes (Syntax & Logic)

We had to apply the following fixes to make the Python code runnable:

  • Filename Error:
  • Typos in __init__.py:
    • Issue: The function definition and assignment was prcoess_nim (typo).
    • Fix: Corrected to process_nim.
    • Issue: Malformed f-string: print(f'Payload is: payload {payload}').
    • Fix: Corrected to print(f'Payload is: {payload}').
  • Logic Error in nim.py (Port Handling):
    • Issue: In get_running_container_info(), the variable ports was being accessed before assignment inside the loop.
    • Fix: Added ports = [] initialization at the start of the loop.
    • Issue: get_port() was returning a list instead of an int.
    • Fix: Changed return logic to return ports[0] if ports else 5000.
  • Type Error in nim.py (Enum vs String):
    • Issue: The code assumed offloading_policy was an Enum object (.value), but ComfyUI passes it as a raw String. This caused: AttributeError: 'str' object has no attribute 'value'.
    • Fix: Removed .value usage: f"-e NIM_OFFLOADING_POLICY={offloading_policy.replace(' ', '_').lower()}".

2. Infrastructure & Permission Fixes (WSL2/Podman Specific)

The original setup for cache paths caused massive permission failures (os error 13) inside the container on WSL2.

  • Cache Path Location:
    • Issue: Using ~/.cache/nim caused conflicts between the Windows User, the WSL Root user, and the Container User (1000/100999).
    • Fix: Changed the hardcoded cache path to /tmp/nim_cache in nim.py.
  • Directory Creation & Permissions:
    • Issue: The script did not ensure the directory existed or had the correct write permissions before mounting.
    • Fix: Updated _setup_directories to explicitly create the folder and force permissions:
      self._run_cmd(f'mkdir -p {cache_path}')
      self._run_cmd(f'chmod -R 777 {cache_path}') # Essential for WSL volume mounts
      
  • Podman User Mapping:
    • Issue: The container process (uid 1000) could not write to the mounted volume on the host, causing immediate crashes during model download.
    • Fix: Added -u 0:0 to the podman run command to force the container to run as root, ensuring it has write access to the /tmp/nim_cache volume.

3. Current Blocker: API Key Permissions

After applying all the fixes above, the node successfully loads, the container starts, and the Flux.1-dev model downloads correctly.

However, the process now fails at the very end with:

ERROR ... repo.rs:146] Permission error: The requested operation requires permissions that the user does not have.
...
INFO ... Downloaded filename: trt_engines_dir/guardrails/cosmos-frame-content-safety-filter/model.plan
  • Diagnosis: The container insists on downloading the Guardrail model (cosmos-guardrail). The user's NGC API Key has access to Flux but not to the specific Guardrail repo.
  • Attempted Workaround: We added the following flags to podman run to disable guardrails:
    • -e NIM_DISABLE_CONTENT_SAFETY=1
    • -e NIM_GUARDRAILS_DISABLED=1
    • -e NGC_DISABLE_GUARDRAILS=1
  • Result: The container logic (specifically the repo.rs Rust binary) ignores these flags during the download/fetch phase and still attempts to pull the guardrail artifacts, causing a crash due to missing API permissions.

Request: Is there a way to configure the node or the model_manifest to completely bypass the download attempt of the guardrails for users who do not have API access to them?

<!-- gh-comment-id:3586805091 --> @Soliver84 commented on GitHub (Nov 27, 2025): Here is the **complete and detailed report** in English, including every single bug we found and fixed (folder creation, permissions, typos, logic errors). You can send this directly to the developer. *** ### **Comprehensive Bug Report & Fix Log: ComfyUI NIM Node (WSL2/Podman)** **To the Developer:** We have spent significant time debugging the NIM nodes on a Windows/WSL2 setup using Podman. Below is a detailed list of **critical bugs found in the original code** that we had to fix to get the node running, as well as the current status. #### **1. Critical Python Code Fixes (Syntax & Logic)** We had to apply the following fixes to make the Python code runnable: * **Filename Error:** * **Typos in `__init__.py`:** * **Issue:** The function definition and assignment was `prcoess_nim` (typo). * **Fix:** Corrected to `process_nim`. * **Issue:** Malformed f-string: `print(f'Payload is: payload {payload}')`. * **Fix:** Corrected to `print(f'Payload is: {payload}')`. * **Logic Error in `nim.py` (Port Handling):** * **Issue:** In `get_running_container_info()`, the variable `ports` was being accessed before assignment inside the loop. * **Fix:** Added `ports = []` initialization at the start of the loop. * **Issue:** `get_port()` was returning a `list` instead of an `int`. * **Fix:** Changed return logic to `return ports[0] if ports else 5000`. * **Type Error in `nim.py` (Enum vs String):** * **Issue:** The code assumed `offloading_policy` was an Enum object (`.value`), but ComfyUI passes it as a raw String. This caused: `AttributeError: 'str' object has no attribute 'value'`. * **Fix:** Removed `.value` usage: `f"-e NIM_OFFLOADING_POLICY={offloading_policy.replace(' ', '_').lower()}"`. #### **2. Infrastructure & Permission Fixes (WSL2/Podman Specific)** The original setup for cache paths caused massive permission failures (`os error 13`) inside the container on WSL2. * **Cache Path Location:** * **Issue:** Using `~/.cache/nim` caused conflicts between the Windows User, the WSL Root user, and the Container User (1000/100999). * **Fix:** Changed the hardcoded cache path to `/tmp/nim_cache` in `nim.py`. * **Directory Creation & Permissions:** * **Issue:** The script did not ensure the directory existed or had the correct write permissions before mounting. * **Fix:** Updated `_setup_directories` to explicitly create the folder and force permissions: ```python self._run_cmd(f'mkdir -p {cache_path}') self._run_cmd(f'chmod -R 777 {cache_path}') # Essential for WSL volume mounts ``` * **Podman User Mapping:** * **Issue:** The container process (uid 1000) could not write to the mounted volume on the host, causing immediate crashes during model download. * **Fix:** Added `-u 0:0` to the `podman run` command to force the container to run as root, ensuring it has write access to the `/tmp/nim_cache` volume. #### **3. Current Blocker: API Key Permissions** After applying all the fixes above, the node **successfully loads**, the container **starts**, and the **Flux.1-dev model downloads correctly**. However, the process now fails at the very end with: ```text ERROR ... repo.rs:146] Permission error: The requested operation requires permissions that the user does not have. ... INFO ... Downloaded filename: trt_engines_dir/guardrails/cosmos-frame-content-safety-filter/model.plan ``` * **Diagnosis:** The container insists on downloading the **Guardrail model** (`cosmos-guardrail`). The user's NGC API Key has access to Flux but **not** to the specific Guardrail repo. * **Attempted Workaround:** We added the following flags to `podman run` to disable guardrails: * `-e NIM_DISABLE_CONTENT_SAFETY=1` * `-e NIM_GUARDRAILS_DISABLED=1` * `-e NGC_DISABLE_GUARDRAILS=1` * **Result:** The container logic (specifically the `repo.rs` Rust binary) ignores these flags during the *download/fetch* phase and still attempts to pull the guardrail artifacts, causing a crash due to missing API permissions. **Request:** Is there a way to configure the node or the `model_manifest` to completely bypass the *download attempt* of the guardrails for users who do not have API access to them?
Author
Owner

@Soliver84 commented on GitHub (Nov 27, 2025):

I got it working! It only took a lot of code changes. Anyone who wants it can have it for a small fee, as I've spent two days working on it. Just get in touch.

<!-- gh-comment-id:3587378883 --> @Soliver84 commented on GitHub (Nov 27, 2025): I got it working! It only took a lot of code changes. Anyone who wants it can have it for a small fee, as I've spent two days working on it. Just get in touch.
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Comfy-Org/NIMnodes#2
No description provided.