Nvidia hardware H.264 decoder (nvdec with Gstreamer) is crashing

1

I have created an Azure virtual machine Nc6s_v3 which provide Nvidia V100 GPU card. I have set up the drivers following the instructions here https://docs.microsoft.com/en-us/azure/virtual-machines/linux/n-series-driver-setup.

The driver is set up successfully and I am able to see proper output for nvidia-smi tool.

I have successfully compiled Video_Codec_SDK_9.0.20 and able to run the sample applications.

I compiled the Gstreamer codebase by enabling Nvidia hw encoder/decode support. The encoder plugin nvh264enc is working fine. But I am seeing a crash with the decoder plugin (nvdec) with the following stack trace.

nvdec error:

Caught SIGSEGV
#0  0x00007fa33d47720d in poll () from /lib64/libc.so.6
#1  0x00007fa33ddc5414 in g_main_context_poll (priority=2147483647, n_fds=2,
#2  g_main_context_iterate (context=0x7fa32c001660, block=block@entry=1,
#3  0x00007fa33ddc574a in g_main_loop_run (loop=0x12ef7d0) at gmain.c:4116
#4  0x00007fa33ea65387 in gst_bus_poll (bus=bus@entry=0xb76160,
#5  0x0000000000404918 in event_loop (pipeline=0xb741d0,
#6  0x000000000040388e in main (argc=15, argv=0x7ffc11cfee18)

Any help here will be greatly appreciated

Adding some more logs:

Starting program: /home/autoinstall/install-1.14.5/bin/gst-launch-1.0 filesrc location=/home/autoinstall/streams/crowd_run_720p30_2300kbps_120s.mp4 \! qtdemux \! h264parse \! nvdec \! gldownload \! fakesink
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Setting pipeline to PAUSED ...
[New Thread 0x7fffea615700 (LWP 53914)]
[Thread 0x7fffea615700 (LWP 53914) exited]
[New Thread 0x7fffea414700 (LWP 53915)]
[New Thread 0x7fffea615700 (LWP 53933)]
[New Thread 0x7fffea213700 (LWP 53934)]
[New Thread 0x7fffe9e6e700 (LWP 53935)]
Pipeline is PREROLLING ...
[New Thread 0x7fffe9c6d700 (LWP 53936)]
Got context from element 'gldownloadelement0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplay\)\ gldisplay0";
[New Thread 0x7fffe949a700 (LWP 53937)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe949a700 (LWP 53937)]
0x00007fffedac5aba in gst_gl_window_x11_open (window=0x7a69b0, error=0x0) at gstglwindow_x11.c:171
171           DefaultVisual (window_x11->device, window_x11->screen_num);
Missing separate debuginfos, use: debuginfo-install glibc-2.17-260.el7_6.3.x86_64 libX11-1.6.5-2.el7.x86_64 libXau-1.0.8-2.1.el7.x86_64 libXext-1.3.3-3.el7.x86_64 libglvnd-1.0.1-0.8.git5baa1e5.el7.x86_64 libglvnd-glx-1.0.1-0.8.git5baa1e5.el7.x86_64 libxcb-1.13-1.el7.x86_64 zlib-1.2.7-18.el7.x86_64
(gdb) bt
#0  0x00007fffedac5aba in gst_gl_window_x11_open (window=0x7a69b0, error=0x0) at gstglwindow_x11.c:171
#1  0x00007fffedaa226a in gst_gl_context_create_thread (context=0x7fffa8499090) at gstglcontext.c:1200
#2  0x00007ffff6e71390 in g_thread_proxy (data=0x7fffa8007d90) at gthread.c:784
#3  0x00007ffff6be9dd5 in start_thread () from /lib64/libpthread.so.0
#4  0x00007ffff6506ead in clone () from /lib64/libc.so.6
(gdb)

Raju

Posted 2019-08-26T04:46:40.463

Reputation: 11

No answers