Hello!
I have noticed a problem which sometimes occurs, when I’m calling:
UniqueObj<Frame> frame(raw_consumer->acquireFrame(15000000000, &capture_status));
Basically sometimes I get capture_status return as 6, which means timeout. I’ve been trying to debug this but on literally all logs - following Jetson/l4t/Camera BringUp - eLinux.org , I received timeout with no more information. I am calling the function when Argus CaptureSession is idle. The worst thing is that it happens completely at random - and sometimes after that only device restart helps to fix it. I have tried acquiring low exposures, high exposure frames. I have tried calling the exact same Request for 200 times - and it failed on 80th try, being unable to recover until I restart. Here is the log from nvargus-daemon
when I managed to get it stuck. How can I debug this? I am becoming desperate.
PowerServiceCore:handleRequests: timePassed = 3031
SCF: Error Timeout: (propagating from src/services/capture/CaptureServiceEvent.cpp, function wait(), line 59)
Error: Camera HwEvents wait, this may indicate a hardware timeout occured,abort current/incoming cc
Error: waitCsiFrameEnd timeout guid 1
VI Stream Id = 4 Virtual Channel = 0
************VI Debug Registers**********
VI_CSIMUX_STAT_FRAME_16 = 0x00000000
VI_CSIMUX_FRAME_STATUS_0 = 0x00000000
VI_CFG_INTERRUPT_STATUS_0 = 0x3f000000
VI_ISPBUFA_ERROR_0 = 0x00000000
VI_FMLITE_ERROR_0 = 0x00000000
VI_NOTIFY_ERROR_0 = 0x00000000
*****************************************
CSI Stream Id = 4 Brick Id = 2
************CSI Debug Registers**********
CILA_INTR_STATUS_CILA[0x30400] = 0x00000089
CILB_INTR_STATUS_CILB[0x30c00] = 0x00000088
INTR_STATUS[0x300a4] = 0x00000000
INTR_STATUS[0x300a4] = 0x00000000
ERR_INTR_STATUS[0x300ac] = 0x00000000
ERROR_STATUS2VI_VC0[0x30094] = 0x00000000
ERROR_STATUS2VI_VC1[0x30098] = 0x00000000
ERROR_STATUS2VI_VC2[0x3009c] = 0x00000000
ERROR_STATUS2VI_VC3[0x300a0] = 0x00000000
*****************************************
SCF: Error BadValue: timestamp cannot be 0 (in src/services/capture/NvViCsiHw.cpp, function waitCsiFrameEnd(), line 733)
SCF: Error BadValue: (propagating from src/common/Utils.cpp, function workerThread(), line 116)
SCF: Error BadValue: Worker thread ViCsiHw frameComplete failed (in src/common/Utils.cpp, function workerThread(), line 133)
Error: waitCsiFrameStart timeout guid 1
VI Stream Id = 4 Virtual Channel = 0
************VI Debug Registers**********
VI_CSIMUX_STAT_FRAME_16 = 0x00000000
VI_CSIMUX_FRAME_STATUS_0 = 0x00000000
VI_CFG_INTERRUPT_STATUS_0 = 0x3f000000
VI_ISPBUFA_ERROR_0 = 0x00000000
VI_FMLITE_ERROR_0 = 0x00000000
VI_NOTIFY_ERROR_0 = 0x00000000
*****************************************
CSI Stream Id = 4 Brick Id = 2
************CSI Debug Registers**********
CILA_INTR_STATUS_CILA[0x30400] = 0x00000089
CILB_INTR_STATUS_CILB[0x30c00] = 0x00000088
INTR_STATUS[0x300a4] = 0x00000000
INTR_STATUS[0x300a4] = 0x00000000
ERR_INTR_STATUS[0x300ac] = 0x00000000
ERROR_STATUS2VI_VC0[0x30094] = 0x00000000
ERROR_STATUS2VI_VC1[0x30098] = 0x00000000
ERROR_STATUS2VI_VC2[0x3009c] = 0x00000000
ERROR_STATUS2VI_VC3[0x300a0] = 0x00000000
*****************************************
SCF: Error BadValue: timestamp cannot be 0 (in src/services/capture/NvViCsiHw.cpp, function waitCsiFrameStart(), line 637)
SCF: Error BadValue: (propagating from src/common/Utils.cpp, function workerThread(), line 116)
SCF: Error BadValue: Worker thread ViCsiHw frameStart failed (in src/common/Utils.cpp, function workerThread(), line 133)
waitForIdleLocked remaining request 214
SCF: Error Timeout: waitForIdle() timed out (in src/api/Session.cpp, function waitForIdleLocked(), line 927)
SCF: Error Timeout: (propagating from src/api/Session.cpp, function abortCaptures(), line 893)
^[[5~^[[5~^[[5~waitForIdleLocked remaining request 214
SCF: Error Timeout: waitForIdle() timed out (in src/api/Session.cpp, function waitForIdleLocked(), line 927)
SCF: Error Timeout: (propagating from src/api/Session.cpp, function abortCaptures(), line 893)