I found problem.
syncSensor from samples crashed when resolution is 3840x2160 after 3-5 seconds. RAM is over too.
Cameras are 2x LI imx274.
argus_daemon errorlog:
Growing thread pool to 1 threads
NvRmChannelSubmit: NvError_IoctlFailed with error code 22
NvRmPrivFlush: NvRmChannelSubmit failed (err = 196623, SyncPointIdx = 18, SyncPointValue = 0)
SCF: Error IoctlFailed: (propagating from src/services/capture/CaptureServiceDeviceIsp.cpp, function startCapture(), line 461)
SCF: Error IoctlFailed: (propagating from src/services/capture/CaptureServiceCore.cpp, function doMEMtoISPCapture(), line 538)
SCF: Error IoctlFailed: (propagating from src/services/capture/CaptureServiceCore.cpp, function issueCapture(), line 346)
SCF: Error IoctlFailed: (propagating from src/services/capture/CaptureServiceDevice.cpp, function issueCaptures(), line 1087)
SCF: Error IoctlFailed: (propagating from src/services/capture/CaptureServiceDevice.cpp, function issueCaptures(), line 913)
SCF: Error IoctlFailed: (propagating from src/common/Utils.cpp, function workerThread(), line 183)
SCF: Error IoctlFailed: Worker function failed (in src/common/Utils.cpp, function workerThread(), line 199)
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
On 1920x1080 syncSensor works fine.
2x argus_camera works fine at full res in the same time.
From argus_camera MultiSession 3x cameras on 3840x2160@60 are working, but from syncSensor(2x cameras) are not.
But i think capture to gl buffer from sensors is not the same as in syncSensor EGLfarme capturing:
I wrote to LeopardImaging support too.
Summary:
syncSensor with 1920x1080 and LI imx274 - OK
syncSensor with 3840x2160(any fps) and LI imx274 - Crashed after few seconds due to a memory leaks up to 100%.
It is Nvidia libargus bug or camera/driver provider bug?
Yes, of course. But it is already done.
2x constructor ScopedCudaEGLStreamFrameAcquire left(m_cuStreamLeft); execute in while loop. After 50-100 calls the Tx1 RAM ends.
If i remove frame accuire constructors then all is ok. And it is only at 4k.
I am right?
I wrote to LI support too.
@vsw
I am not understand “If i remove frame accuire constructors then all is ok. And it is only at 4k.”
Could you have more explanation and post what you modify here.