BUG: nvarguscamerasrc Segmentation fault

Hi,

this simple code snippet crashes with a Segmentation fault (tested on JetPack 4.3):

https://paste.gnome.org/pw1vudabr

a quick fix would be highly appreciated.

Stacktrace:

#0  0x0000007fb6f233f4 in find_notify (object=0x7fa8ff850e, object=0x7fa8ff850e, data=0x0, notify=0x0, match_notify=0, quark=2577) at gstminiobject.c:369
#1  0x0000007fb6f233f4 in gst_mini_object_set_qdata (object=0x7fa8ff850e, quark=2577, data=0x0, destroy=0x0) at gstminiobject.c:672
#2  0x0000007fb7853948 in  () at /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvarguscamerasrc.so
#3  0x0000007fb75bb98c in  () at /usr/lib/aarch64-linux-gnu/libglib-2.0.so.0
#4  0x0000007fa8ff8598 in  ()

hello arne.caspari,

thanks for sharing simple code-snippet for reference, we’re able to reproduce the issue locally.
we’ll check this internally.

hello arne.caspari,

I’ve revert the code snippet that trigger segmentation fault,
please replace the argus library with devtalk1070455_Feb10.tar.gz for your temporary solution.
we’ll also investigate the fix, thanks
devtalk1070455_Feb10.tar.gz (29 KB)

Hello Jerry,

I am having the same problem as Caspari, I tried your temporary solution. Indeed nvarguscamerasrc no loger segfaults but it seems I am getting black images (empty buffers) from gstreamer after I set the pipeline again to play. The pipeline I am using for testing is:

nvarguscamerasrc ! nvvidconv ! videoconvert ! video/x-raw, format=RGB ! appsink

Is there anything else I should try ?

hello ricardo.juarez,

I’ve tried locally to confirm gst pipeline and also the python script in comment #1 works with temporary approach.
could you please share the failure messages, may I also know what’s the sensor you’re used.
thanks

So this is very similar if not the exact issue I complained about in R32.1. It seems it still exists in R32.3.1.

What is the time table for a fix for this?

EDIT: Note that in R32.1 not only did nvargus-daemon segfault and/or hang, but there were spurious bus messages that would occur if you restarted a pipeline using GStreamer.

One work around I found is to recreate the pipeline from scratch on every retry (that sorta works).

Hi All
Please have a try the attached lib to fix the problem.
libgstnvarguscamerasrc_tx2_xaver.so.txt (81.5 KB)

Hello Shane,

It looks like this last update fixes the problem for me. When are you planning to officially release this version of the argus camera plugin ?

Next release should include this fixed.

ShaneCCC is this fix good for the TX2? I would assume so.

The patch for TX2 is in below link.
The patch for both of them will include in next release.

https://devtalk.nvidia.com/default/topic/1062196/jetson-tx2/nvargus-daemon-freeze-hang-on-pipeline-stop-on-r32-1/post/5429629/#5429629

So I am using r32.3.1 how do I determine if this patch is in my system, and if not in my system how do I get it

What type of debugging do I need to do to determine why setting my pipeline to NULL is still hanging.

Also I put in code to kill -9 my app and now I get Argus: Errors if I restart my app too quickly, Argus errors in post today.

So does sudo apt update; sudo apt upgrade pull in these new fixes?

Thanks
Terry