Describe the bug
DeepStream's nvv4l2decoder and nvv4l2h264enc GStreamer elements crash with a SIGSEGV inside a container when using nvidia-container-toolkit 1.19.1-1. The decoder/encoder fail to set the CUDA GPU ID control via ioctl, then segfault during pipeline PREROLL.
Downgrading the toolkit to 1.18.0-1 resolves the issue completely.
To Reproduce
- Set up DeepStream on WSL2 following the official guide: https://docs.nvidia.com/metropolis/deepstream/9.0/text/DS_on_WSL2.html
- With
nvidia-container-toolkit 1.19.1-1 installed on the host, start the DeepStream container.
- Inside the container, run a simple transcode pipeline:
gst-launch-1.0 filesrc location=sample_720p.mp4 ! qtdemux ! h264parse ! nvv4l2decoder ! nvv4l2h264enc ! h264parse ! qtmux ! filesink location=filedump.mp4 -v
- The pipeline fails during PREROLL with:
Error while setting IOCTL
Invalid control
S_EXT_CTRLS for CUDA_GPU_ID failed
Caught SIGSEGV
#0 0x00007d12439b84fd in poll () at /usr/lib/x86_64-linux-gnu/libc.so.6
#1 0x00007d1243bce8ce in ??? () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007d1243b6ff47 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00005e3384da8d68 in ??? ()
#4 0x00007d12438c71ca in ??? () at /usr/lib/x86_64-linux-gnu/libc.so.6
#5 0x00007d12438c728b in __libc_start_main () at /usr/lib/x86_64-linux-gnu/libc.so.6
#6 0x00005e3384da61f5 in ??? ()
Expected behavior
The pipeline should run to completion and produce filedump.mp4, as it does with nvidia-container-toolkit 1.18.0-1.
Fix / Workaround
Downgrading the container toolkit to 1.18.0-1 resolves it:
sudo apt-get install -y --allow-downgrades \
nvidia-container-toolkit=1.18.0-1 \
nvidia-container-toolkit-base=1.18.0-1 \
libnvidia-container-tools=1.18.0-1 \
libnvidia-container1=1.18.0-1
Environment:
nvidia-container-toolkit version: 1.19.1-1 (broken) / 1.18.0-1 (working)
- NVIDIA Driver Version: 610.43.02 (KMD 610.47, CUDA UMD 13.3)
- Host OS: Ubuntu 24.04.4 LTS (WSL2)
- Kernel Version: 6.6.87.2-microsoft-standard-WSL2
- Container Runtime Version: Docker 29.5.3 (build d1c06ef)
- CPU Architecture: x86_64
- GPU Model(s): NVIDIA GeForce RTX 5080 (16 GB)
- CUDA Version: 13.3 (UMD)
Information to attach:
Output of nvidia-smi:
Wed Jun 3 20:38:45 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 610.43.02 KMD Version: 610.47 CUDA UMD Version: 13.3 |
+-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 5080 On | 00000000:01:00.0 On | N/A |
| 0% 44C P0 52W / 360W | 1308MiB / 16303MiB | 1% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
Full container log (gst-launch -v):
gst-launch-1.0 filesrc location=sample_720p.mp4 ! qtdemux ! h264parse ! nvv4l2decoder ! nvv4l2h264enc ! h264parse ! qtmux ! filesink location=filedump.mp4 -v
Setting pipeline to PAUSED ...
Opening in BLOCKING MODE
Opening in BLOCKING MODE
Pipeline is PREROLLING ...
Redistribute latency...
Error while setting IOCTL
Invalid control
S_EXT_CTRLS for CUDA_GPU_ID failed
Error while setting IOCTL
Invalid control
S_EXT_CTRLS for CUDA_GPU_ID failed
Caught SIGSEGV
#0 0x00007d12439b84fd in poll () at /usr/lib/x86_64-linux-gnu/libc.so.6
#1 0x00007d1243bce8ce in ??? () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007d1243b6ff47 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00005e3384da8d68 in ??? ()
#4 0x00007d12438c71ca in ??? () at /usr/lib/x86_64-linux-gnu/libc.so.6
#5 0x00007d12438c728b in __libc_start_main () at /usr/lib/x86_64-linux-gnu/libc.so.6
#6 0x00005e3384da61f5 in ??? ()
Spinning. Please run 'gdb gst-launch-1.0 213' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
Describe the bug
DeepStream's
nvv4l2decoderandnvv4l2h264encGStreamer elements crash with a SIGSEGV inside a container when usingnvidia-container-toolkit1.19.1-1. The decoder/encoder fail to set the CUDA GPU ID control via ioctl, then segfault during pipeline PREROLL.Downgrading the toolkit to 1.18.0-1 resolves the issue completely.
To Reproduce
nvidia-container-toolkit1.19.1-1 installed on the host, start the DeepStream container.Expected behavior
The pipeline should run to completion and produce
filedump.mp4, as it does withnvidia-container-toolkit1.18.0-1.Fix / Workaround
Downgrading the container toolkit to 1.18.0-1 resolves it:
Environment:
nvidia-container-toolkitversion:1.19.1-1(broken) /1.18.0-1(working)Information to attach:
Output of
nvidia-smi:Full container log (
gst-launch -v):