Hi all,
I am running 2 simple GStreamer pipelines (just capture with nvarguscamerasrc and display) and both pipelines crash after ~ 40 minutes. I tested several times and the crash happens after 40 minutes.
gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! nvvidconv ! queue ! xvimagesink sync=false
I tested with 3 cameras and the issue happens after ~5 minutes, always.
My hardware setup:
- Xavier AGX running JetPack 4.2.0
- 2x IMX390RCM cameras using FPD Link III
- 2x Octo camera interface board from D3
I tested NVarguscamerasrc capture to fakesink and the pipelines still fail.
I captured frames using V4L2 Utils from both cameras and the crash did not appear, so It must be related only to NVargus.
Check log from NVargus-daemon when the issue happens:
=== gst-launch-1.0[7337]: CameraProvider initialized (0x7fa8add240)LSC: LSC surface is not based on full res!
=== gst-launch-1.0[7414]: Connection established (7F637FE1D0)=== gst-launch-1.0[7414]: CameraProvider initialized (0x7f00000be0)LSC: LSC surface is not based on full res!
PowerServiceCore:handleRequests: timePassed = 2432
NvCaptureStatusErrorDecode Stream 0.0 failed: sof_ts 0 eof_ts 1041307540672 frame 0 error 3 data 0x00000002
NvCaptureStatusErrorDecode Capture-Error: CSIMUX_STREAM (0x00000003)
CsimuxStreamError : 0x00000002
FIFO overflow stream 0 [ 1]: 1
(NvCapture) Error InvalidState: Channel is in error state, reset required (in /dvs/git/dirty/git-master_linux/camera/capture/nvcapture/capture.c, function NvCaptureRequestGetAttribute(), line 1863)
SCF: Error InvalidState: (propagating from src/services/capture/NvCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 904)
SCF: Error InvalidState: Capture error with status 0 (channel 0) (in src/services/capture/NvCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 913)
SCF: Error InvalidState: Sequence order error (52642 received, 0 expected, channel 0) (in src/services/capture/NvCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 920)
(NvCapture) Error InvalidState: Channel in error state, reset required (in /dvs/git/dirty/git-master_linux/camera/capture/nvcapture/capture.c, function NvCaptureReleaseRequest(), line 644)
SCF: Error InvalidState: (propagating from src/services/capture/NvCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 930)
SCF: Error InvalidState: Sending critical error event (in src/api/Session.cpp, function sendErrorEvent(), line 990)
SCF: Error InvalidState: Something went wrong with waiting on frame end (in src/services/capture/NvCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 972)
NvCaptureStatusErrorDecode Stream 4.0 failed: sof_ts 0 eof_ts 1041507332160 frame 0 error 3 data 0x00020000
NvCaptureStatusErrorDecode Capture-Error: CSIMUX_STREAM (0x00000003)
CsimuxStreamError : 0x00020000
FIFO overflow stream 4 [17]: 1
(NvCapture) Error InvalidState: Channel is in error state, reset required (in /dvs/git/dirty/git-master_linux/camera/capture/nvcapture/capture.c, function NvCaptureRequestGetAttribute(), line 1863)
SCF: Error InvalidState: (propagating from src/services/capture/NvCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 904)
SCF: Error InvalidState: Capture error with status 0 (channel 0) (in src/services/capture/NvCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 913)
SCF: Error InvalidState: Sequence order error (51159 received, 0 expected, channel 0) (in src/services/capture/NvCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 920)
(NvCapture) Error InvalidState: Channel in error state, reset required (in /dvs/git/dirty/git-master_linux/camera/capture/nvcapture/capture.c, function NvCaptureReleaseRequest(), line 644)
SCF: Error InvalidState: (propagating from src/services/capture/NvCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 930)
SCF: Error InvalidState: Sending critical error event (in src/api/Session.cpp, function sendErrorEvent(), line 990)
SCF: Error InvalidState: Something went wrong with waiting on frame end (in src/services/capture/NvCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 972)
Is there any hint to avoid the crash after 40 minutes?
I know that some parameters can be set with nvargus-daemon but I am not sure if this issue can be avoided by setting a special configuration to nvargus. I already tested enableCamInfiniteTimeout=1 but pipelines still crash.
Any help with this issue will be appreciated.
Greivin F.