Hey,
I tried to enable enableCamInfiniteTimeout to support indefinitely stopped streaming. Unfortunately, this does not work as intended.
Tested with gstreamer: gst-launch-1.0 nvarguscamerasrc sensor-id=0 sensor-mode=11 ! 'video/x-raw(memory:NVMM),width=(int)1296, height=(int)972, framerate=1/20' ! nvjpegenc ! fakesink
After stopping the image trigger signals, gstreamer produces the logs:
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
...
After 7min in total without any trigger / image, the pipeline crashes with a SIGSEGV:
Caught SIGSEGV
#0 0x0000ffffa7759f24 in syscall () from /usr/lib/libc.so.6
#1 0x0000ffffa797d52c in g_cond_wait () from /usr/lib/libglib-2.0.so.0
#2 0x0000ffffa74a7f2c [PAC] in ?? () from /usr/lib/gstreamer-1.0/libgstnvarguscamerasrc.so
#3 0x0000ffffa59625f8 [PAC] in ?? () from /usr/lib/libgstbase-1.0.so.0
#4 0x0000ffffa5967fbc [PAC] in ?? () from /usr/lib/libgstbase-1.0.so.0
#5 0x0000ffffa7ac6df0 [PAC] in ?? () from /usr/lib/libgstreamer-1.0.so.0
#6 0x0000ffffa7ac7978 [PAC] in gst_pad_set_active () from /usr/lib/libgstreamer-1.0.so.0
#7 0x0000ffffa7a9bf2c [PAC] in ?? () from /usr/lib/libgstreamer-1.0.so.0
#8 0x0000ffffa7ab4a94 [PAC] in gst_iterator_fold () from /usr/lib/libgstreamer-1.0.so.0
#9 0x0000ffffa7a9c844 [PAC] in ?? () from /usr/lib/libgstreamer-1.0.so.0
#10 0x0000ffffa7a9ec3c [PAC] in ?? () from /usr/lib/libgstreamer-1.0.so.0
#11 0x0000ffffa7a9ef48 [PAC] in ?? () from /usr/lib/libgstreamer-1.0.so.0
#12 0x0000ffffa5965908 [PAC] in ?? () from /usr/lib/libgstbase-1.0.so.0
#13 0x0000ffffa7aa147c [PAC] in gst_element_change_state () from /usr/lib/libgstreamer-1.0.so.0
#14 0x0000ffffa7aa1aa8 [PAC] in ?? () from /usr/lib/libgstreamer-1.0.so.0
#15 0x0000ffffa7a79f88 [PAC] in ?? () from /usr/lib/libgstreamer-1.0.so.0
#16 0x0000ffffa7aa147c [PAC] in gst_element_change_state () from /usr/lib/libgstreamer-1.0.so.0
#17 0x0000ffffa7aa1504 [PAC] in gst_element_change_state () from /usr/lib/libgstreamer-1.0.so.0
#18 0x0000ffffa7aa1aa8 [PAC] in ?? () from /usr/lib/libgstreamer-1.0.so.0
#19 0x0000aaaad02a5e00 [PAC] in ?? ()
#20 0x0000ffffa769868c [PAC] in ?? () from /usr/lib/libc.so.6
#21 0x0000ffffa7698760 [PAC] in __libc_start_main () from /usr/lib/libc.so.6
#22 0x0000aaaad02a3930 [PAC] in ?? ()
Generated logs:
gstreamer output
root@ovp93x-a2-ff-7f (productive):~# gst-launch-1.0 nvarguscamerasrc sensor-id=0 sensor-mode=11 ! 'video/x-raw(memory:NVMM),width=(int)1296, height=(int)972, framerate=1/20' ! nvjpegenc ! fakesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Running with following settings:
Camera index = 0
Camera mode = 11
Output Stream W = 1296 H = 972
seconds to Run = 0
Frame Rate = 20.000000
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
CONSUMER: Producer has connected; continuing.
NvMMLiteBlockCreate : Block : BlockType = 1
Redistribute latency...
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 92)
CONSUMER: Done Success
Got EOS from element "pipeline0".
Execution ended after 0:07:37.965437696
Setting pipeline to NULL ...
GST_ARGUS: Cleaning up
Caught SIGSEGV
#0 0x0000ffffa7759f24 in syscall () from /usr/lib/libc.so.6
#1 0x0000ffffa797d52c in g_cond_wait () from /usr/lib/libglib-2.0.so.0
#2 0x0000ffffa74a7f2c [PAC] in ?? () from /usr/lib/gstreamer-1.0/libgstnvarguscamerasrc.so
#3 0x0000ffffa59625f8 [PAC] in ?? () from /usr/lib/libgstbase-1.0.so.0
#4 0x0000ffffa5967fbc [PAC] in ?? () from /usr/lib/libgstbase-1.0.so.0
#5 0x0000ffffa7ac6df0 [PAC] in ?? () from /usr/lib/libgstreamer-1.0.so.0
#6 0x0000ffffa7ac7978 [PAC] in gst_pad_set_active () from /usr/lib/libgstreamer-1.0.so.0
#7 0x0000ffffa7a9bf2c [PAC] in ?? () from /usr/lib/libgstreamer-1.0.so.0
#8 0x0000ffffa7ab4a94 [PAC] in gst_iterator_fold () from /usr/lib/libgstreamer-1.0.so.0
#9 0x0000ffffa7a9c844 [PAC] in ?? () from /usr/lib/libgstreamer-1.0.so.0
#10 0x0000ffffa7a9ec3c [PAC] in ?? () from /usr/lib/libgstreamer-1.0.so.0
#11 0x0000ffffa7a9ef48 [PAC] in ?? () from /usr/lib/libgstreamer-1.0.so.0
#12 0x0000ffffa5965908 [PAC] in ?? () from /usr/lib/libgstbase-1.0.so.0
#13 0x0000ffffa7aa147c [PAC] in gst_element_change_state () from /usr/lib/libgstreamer-1.0.so.0
#14 0x0000ffffa7aa1aa8 [PAC] in ?? () from /usr/lib/libgstreamer-1.0.so.0
#15 0x0000ffffa7a79f88 [PAC] in ?? () from /usr/lib/libgstreamer-1.0.so.0
#16 0x0000ffffa7aa147c [PAC] in gst_element_change_state () from /usr/lib/libgstreamer-1.0.so.0
#17 0x0000ffffa7aa1504 [PAC] in gst_element_change_state () from /usr/lib/libgstreamer-1.0.so.0
#18 0x0000ffffa7aa1aa8 [PAC] in ?? () from /usr/lib/libgstreamer-1.0.so.0
#19 0x0000aaaad02a5e00 [PAC] in ?? ()
#20 0x0000ffffa769868c [PAC] in ?? () from /usr/lib/libc.so.6
#21 0x0000ffffa7698760 [PAC] in __libc_start_main () from /usr/lib/libc.so.6
#22 0x0000aaaad02a3930 [PAC] in ?? ()
Spinning. Please run 'gdb gst-launch-1.0 1834' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
nvargus-daemon
Jan 01 05:32:26 ovp93x-a2-ff-7f systemd[1]: Started NVIDIA Argus daemon.
Jan 01 05:32:54 ovp93x-a2-ff-7f nvargus-daemon[1822]: === NVIDIA Libargus Camera Service (0.99.33)=== Listening for connections...=== gst-launch-1.0[1834]: Connection established (FFFFA0C6B8C0)OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
Jan 01 05:32:54 ovp93x-a2-ff-7f nvargus-daemon[1822]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Jan 01 05:32:54 ovp93x-a2-ff-7f nvargus-daemon[1822]: NvPclHwGetModuleList: No module data found
Jan 01 05:32:55 ovp93x-a2-ff-7f nvargus-daemon[1822]: OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
Jan 01 05:32:55 ovp93x-a2-ff-7f nvargus-daemon[1822]: ---- imager: Found override file [/var/nvidia/nvcam/settings/ar0544_centerright_ifmar0544.isp]. ----
Jan 01 05:32:58 ovp93x-a2-ff-7f nvargus-daemon[1822]: CAM: serial no file already exists, skips storing again=== gst-launch-1.0[1834]: CameraProvider initialized (0xffff9cb9f840)CAM: serial no file already exists, skips storing againPowerServiceCore:handleRequests: timePassed = 1055
Specs:
- Orin NX 8GB (P3767-0001)
- L4T 36.4.4
- gstreamer plugin version gstreamer1.0-plugins-nvarguscamerasrc_1.0.0-r36.4.4