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!