[Jetson Orin] CUDA error: the provided PTX was compiled with an unsupported toolchain r36.3 container (NanoLLM / OpenVLA)

Hi NVIDIA team,

run_r36.3.txt (2.4 MB)

I previously posted this thread about the WebRTC crash issue (“sinkpad should not be nullptr”) when running Nano LLM Studio(OpenVLA, Jetson AI Lab) WebRTC crash: 'sinkpad should not be nullptr' on Jetson Orin (JetPack 6.2 / r36.4.4)

To bypass that WebRTC crash, I temporarily switched to the r36.3 container as suggested by another user, which allowed the UI to load — but now I get a new fatal runtime error(attached log run_r36.3.txt):

CUDA error: the provided PTX was compiled with an unsupported toolchain.
Fatal Python error: Aborted
...
File "/opt/NanoLLM/nano_llm/models/mlc.py", line 436 in prefill
...


System Information

Host (Jetson Orin AGX)

  • L4T / JetPack : r36.4.4

  • CUDA Toolkit : 12.6 (V12.6.68)

  • cuDNN : 9.3.0

  • TensorRT : 10.3.0 (+cuda12.5)

  • Kernel : 5.15.148-tegra

Container (NanoLLM r36.3.0)

  • CUDA : 12.2

  • PyTorch : 2.2.0 + cu122

  • TensorRT : 8.6.2

  • LD_LIBRARY_PATH : /usr/local/cuda/lib64:/usr/local/cuda/compat:…


Observation

  • When using the r36.3 container (CUDA 12.2 / TRT 8.6.2) on the r36.4.4 host (CUDA 12.6 / TRT 10.3.0), the TensorRT vision encoder runs fine, but the MLC/TVM JIT stage in mlc.py fails with the PTX toolchain error.

  • If I return to the r36.4.0 container, CUDA versions match (12.6), but WebRTC crashes again (“sinkpad should not be nullptr”).

  • The LD_LIBRARY_PATH already includes /usr/local/cuda-12.6/compat, but the error persists when mixing 12.6 host + 12.2 container.


Questions

  1. Is this PTX error expected when mixing JetPack 6.2.1 (host r36.4 = CUDA 12.6) with an r36.3 container (CUDA 12.2)?

  2. Does NVIDIA plan to release a fixed NanoLLM / Jetson AI Lab container for r36.4 (CUDA 12.6) that resolves the WebRTC “sinkpad nullptr” issue?

  3. Would you recommend keeping the r36.4.x container (CUDA 12.6) and disabling WebRTC, or downgrading the host JetPack to r36.3 to match the container?

Any guidance on maintaining compatibility between JetPack 6.2.1 (r36.4.4) and the NanoLLM / OpenVLA container stack would be very helpful.

Thank you very much for your support!

Best regards,

Hi wjdwidud4190

Sorry I have not been back to you, as I am guessing some of this reply.

There seems to be a lot going on in the background re jetson-containers !!

Do you do jetson-containers update

have you ran the validation on llm r36.3.0 ? (open vla) ? then try running.

I use agent studio which seems to work better on r36.3.0 as video output works. I have had your error using r36.4.0. which is to do with video output.

these are only suggestions which may or may not help.

Hi, thanks for the suggestions!

Just to clarify — I am already running with the NanoLLM r36.3.0 container, and that’s exactly where I’m hitting the PTX error. Here are the concrete details:

  • Host (JetPack 6.2.1 / r36.4.4): CUDA 12.6, TRT 10.3

  • Container (r36.3.0): CUDA 12.2, PyTorch cu122, TRT 8.6.2

  • Behavior: TRT-based vision encoder runs, but during MLC/TVM JIT I get:
    CUDA error: the provided PTX was compiled with an unsupported toolchain.

When I switch back to the r36.4.x container (so CUDA 12.6 matches the host), the PTX error goes away, but then WebRTC crashes with webrtcbin sinkpad should not be nullptr.

So it looks like:

  • r36.3.0 container → video OK, PTX crash (CUDA 12.2 vs 12.6 mismatch)

  • r36.4.x container → CUDA OK, WebRTC crash

I did update jetson-containers. If there’s a specific “validation” command/script you want me to run for the r36.3.0 OpenVLA setup, please share the exact command and I’ll post the output. Otherwise, could NVIDIA confirm the recommended combination (host/container) for OpenVLA on JetPack 6.2.1 and whether an updated r36.4.x container is planned to address the WebRTC issue?

Thanks!

HI

Just loaded llm 36.4.0 & ran have same error as you.

but llm 36.3.0 still works ish

To get where I am I went through the above using llm 36.3.0

with vla image

dustynv/openvla r36.4.3-cu128-cp312-24.04

That’s the best I can suggest. Maybe sombody from nvida can help!!

Cheer

Hi

Thanks
I’m using the same OpenVLA image and NanoLLM version, but I still encounter the same PTX error.

root@ubuntu:/mnt/ssd/jetson-containers# docker images | grep openvla
OpenVLA image: dustynv/openvla:r36.4.3-cu128-cp312-24.04   (6b5f93d609c8, 18.7GB)

NanoLLM container: jetson-containers run dustynv/nano_llm:r36.3.0

So even with this exact configuration, the issue persists on my Jetson Orin .
Could someone from the NVIDIA engineering team please take a look or connect us to the right engineer who can help with this PTX toolchain error?

Thanks in advance.

Hi,

Do you mean you meet the PTX error withdustynv/openvla:r36.4.3-cu128-cp312-24.04 on JetPack 6.2.1 environment?
If so, could you run a simple CUDA sample to verify the functionality first?

Thanks.

Hi,

I tried running CUDA as you suggested.
The host CUDA(12.6) and NanoLLM r36.4 (CUDA 12.6) work correctly,
but the CUDA inside NanoLLM r36.3 does not work properly.

When I first ran it with
Host version: L4T 36.4.4 / CUDA 12.6
Container: NanoLLM 36.4 (CUDA 12.6),
I encountered a WebRTC crash issue (please refer to my previous thread:
https://forums.developer.nvidia.com/t/nano-llm-studio-openvla-jetson-ai-lab-webrtc-crash-sinkpad-should-not-be-nullptr-on-jetson-orin-jetpack-6-2-r36-4-4/346570/6)

In that thread, paulrrh suggested trying NanoLLM r36.3 instead.
However, when I run it with
Host version: L4T 36.4.4 / CUDA 12.6
Container: NanoLLM 36.3 (CUDA 12.2),
I get a PTX error that seems to be caused by a CUDA version mismatch.

Could you please let me know how to resolve this issue?
I’d really appreciate any guidance.

Thanks!

Hi,

It’s recommended to use a r36.4.3 image instead, as it is the latest one.
Have you tried to verify the WebRTC functionality in dustynv/openvla:r36.4.3-cu128-cp312-24.04?

If not, would you mind giving it a try?

Thanks.

Hi

Thanks for the follow-up.

My issue happens when launching Agent Studio from NanoLLM (not when running the OpenVLA image directly). I’m using:

jetson-containers run $(autotag nano_llm) \
  python3 -m nano_llm.studio --load OpenVLA-MimicGen-INT4

This resolves to NanoLLM r36.4.0 on my system.
From inside that container, I checked and there is no openvla pip package nor /opt/openvla/VERSION, so it seems nano_llm.studio loads an OpenVLA-compatible backend via its own plugin/runtime rather than the dustynv/openvla Docker image.

For completeness, I also tried running:

jetson-containers run dustynv/openvla:r36.4.3-cu128-cp312-24.04

But as expected, I can’t run nano_llm.studio there because it’s an OpenVLA-only image (no NanoLLM/Studio).

Questions:

  1. When I run nano_llm.studio (as above), which OpenVLA backend/build is actually used under the hood? Is there an official mapping for NanoLLM r36.4.0 → OpenVLA (e.g., r36.4.3-cu128-cp312-24.04), or does NanoLLM just load model weights from HuggingFace via its plugin?

  2. Is there a supported way to pin or print the exact OpenVLA backend version/commit used by nano_llm.studio? (e.g., an env var/flag like --verbose, OPENVLA_IMAGE=..., or a recommended log command)

  3. Given my host is JP 6.2.1 (L4T 36.4.4 / CUDA 12.6), which NanoLLM tag do you recommend to avoid the WebRTC crash while keeping Agent Studio working? A concrete command without $(autotag) would be helpful, for example:

    jetson-containers run dustynv/nano_llm:<which-r36.4.x?> \
      python3 -m nano_llm.studio --load OpenVLA-MimicGen-INT4
    
    

If you can point me to the exact tag/flags, I’ll run it and share back the logs.

Thanks!

Hi,

Just double-check your question, and here are some replies for you first.

We don’t have a plan to update the NanoLLM anymore.
Given the fast pace of the LLM field, we prefer to use microservice-based frameworks, like vLLM, instead.
But r36.4 NanoLLM image is expected to work.

Instead of downgrading, we prefer to fix the WebRTC issue in the latest container.
Since downgrading might trigger other compatibility issues.

We will check what is going on in the dustynv/nano_llm:r36.4.0 and share more info with you later.
Thanks.

Hi,

Thanks for your patience.

We found that the broken WebRTC is related to a missing package.
Please try to run the command below inside the container:

$ apt update
$ apt install libgstrtspserver-1.0-0 libgstrtspserver-1.0-dev libglew-dev libsoup2.4-dev libjson-glib-dev gstreamer1.0-nice

Please note that WebRTC might be blocked by the browser.
You can find more information about the setting in the topic below:

You might also need to set below configuration to enable WebRTC with https:

Thanks.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.