Nvarguscamerasrc occasionally crashing on start

Hey there! I’m having some issues with the stability of nvarguscamerasrc on 32.3.1 on a 32GB Xavier. I’m starting 4 streams in a single gstreamer pipeline as follows:

gst-launch-1.0 nvarguscamerasrc sensor-id=0 bufapi-version=true num-buffers=60 aelock=true ! 'video/x-raw(memory:NVMM),width=(int)4104,height=(int)3046,format=(string)NV12,framerate=(fraction)30/1' ! fakesink \
nvarguscamerasrc sensor-id=1 bufapi-version=true num-buffers=60 aelock=true ! 'video/x-raw(memory:NVMM),width=(int)4104,height=(int)3046,format=(string)NV12,framerate=(fraction)30/1' ! fakesink \
nvarguscamerasrc sensor-id=2 bufapi-version=true num-buffers=60 aelock=true ! 'video/x-raw(memory:NVMM),width=(int)4104,height=(int)3046,format=(string)NV12,framerate=(fraction)30/1' ! fakesink \
nvarguscamerasrc sensor-id=3 bufapi-version=true num-buffers=60 aelock=true ! 'video/x-raw(memory:NVMM),width=(int)4104,height=(int)3046,format=(string)NV12,framerate=(fraction)30/1' ! fakesink

Approximately once every 50 runs (sometimes 20, sometimes 70), I get this error:

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Caught SIGSEGV
GST_ARGUS: Creating output stream
GST_ARGUS: Creating output stream
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 4104 x 3046 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 251.188705; Exposure Range min 30000, max 660000000;

GST_ARGUS: Running with following settings:
   Camera index = 2 
   Camera mode  = 0 
   Output Stream W = 4104 H = 3046 
   seconds to Run    = 0 
   Frame Rate = 29.999999 
GST_ARGUS: PowerService: requested_clock_Hz=163752960
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Waiting until producer is connected...
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 4104 x 3046 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 251.188705; Exposure Range min 30000, max 660000000;

GST_ARGUS: 4104 x 3046 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 251.188705; Exposure Range min 30000, max 660000000;

GST_ARGUS: Running with following settings:
   Camera index = 1 
   Camera mode  = 0 
   Output Stream W = 4104 H = 3046 
   seconds to Run    = 0 
   Frame Rate = 29.999999 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
GST_ARGUS: Running with following settings:
   Camera index = 0 
   Camera mode  = 0 
   Output Stream W = 4104 H = 3046 
   seconds to Run    = 0 
   Frame Rate = 29.999999 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
CONSUMER: Producer has connected; continuing.
CONSUMER: Producer has connected; continuing.
#0  0x0000007fa7da1048 in __GI___poll (fds=0x556af7b660, nfds=548278035000, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41
#1  0x0000007fa7eade08 in  () at /usr/lib/aarch64-linux-gnu/libglib-2.0.so.0
#2  0x000000556ad9baf0 in  ()
(Argus) Error ResourceError:  (propagating from src/eglstream/FrameConsumerImpl.cpp, function acquireFrame(), line 261)
CONSUMER: Done Success
Spinning.  Please run 'gdb gst-launch-1.0 13510' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.

There seem to be no other error messages in the nvargus-daemon.service or in dmesg. I have also boosted the clocks before testing. Experiments where we recording only one or two sensors seems to work fine, all sensors have been tested individually and are working. This is occuring on the default libgstnvarguscamerasrc.so, since that is open source I would prefer any code patches so I can build it myself.

Can you help us out? Thanks in advance!

Could you boost the system by nvpmodel to try.

sudo su
nvpmodel -m 0
jetson_clocks

Thanks for the help! Unfortunately, we are already testing with these commands.

I also tried the .so file from this thread, but that didn’t help.

It feels like there is a race-condition somewhere, do you have any systems with 4 high resolution cameras? I can also post the backtrace from all threads from gdb to potentially give you more information.

Tried 32.4.2, issue is present there as well.

Hi,
Please share information about the camera board for our reference. We have boards from camera partners and don’t see such issue. Probably it is specific to the camera board.