Infinite Timeout

I was told that I can enable infinite timeout using following commands:

$ sudo service nvargus-daemon stop
$ sudo enableCamInfiniteTimeout=1 nvargus-daemon

But in my system, there is no service command. May I ask if there is another way to enable infinite timeout?

hello suchao,

may I double confirm which Jetpack release version you’re working with?
besides,
you may refer to Topic 284939 to apply pre-built update to enable infinite timeout property on JP-5.1.3/r35.5.0

The version I am using is r35.4.1

~# cat /etc/nv_tegra_release
# R35 (release), REVISION: 4.1, GCID: 33958178, BOARD: t186ref, EABI: aarch64, DATE: Tue Aug  1 19:57:35 UTC 2023

I created my own application to use Libargus API. After I replaced libnvscf.so file with the patch, the createCaptureSession function failed with STATUS_INVALID_SETTINGS returned status. But the old libnvscf.so file works fine. Following is the difference in the log when I tried both .so files.

  1. With old libnvscf.so file, which is working, I got following messages.
SCF: Error BadValue: NvPHSSendThroughputHints (in src/common/CameraPowerHint.cpp, function sendCameraPowerHint(), line 56)
CAM: serial no file already exists, skips storing again
(Argus) Error InvalidState: Unknown stream deleted. (in src/api/CaptureSessionImpl.cpp, function outputStreamDeleted(), line 1104)
  1. With new libnvscf.so file coming from your patch, I got following messages.
SCF: Error IoctlFailed:  (propagating from src/services/capture/FusaCaptureViCsiHw.cpp, function openViCsi(), line 393)
SCF: Error IoctlFailed:  (propagating from src/services/capture/CaptureServiceDeviceViCsi.cpp, function open(), line 336)
SCF: Error IoctlFailed:  (propagating from src/services/capture/CaptureServiceDevice.cpp, function openSource(), line 398)
SCF: Error IoctlFailed:  (propagating from src/services/capture/CaptureService.cpp, function openSource(), line 501)
SCF: Error IoctlFailed:  (propagating from src/api/Session.cpp, function initialize(), line 294)
SCF: Error IoctlFailed:  (propagating from src/api/CameraDriver.cpp, function createSession(), line 645)
(Argus) Error IoctlFailed:  (propagating from src/api/CaptureSessionImpl.cpp, function initialize(), line 177)
(Argus) Error IoctlFailed:  (propagating from src/api/CameraProviderImpl.cpp, function createCaptureSessionInternal(), line 305)
(NvCameraUtils) Error InvalidState: Mutex not initialized (/dvs/git/dirty/git-master_linux/camera/argus/src/api/CaptureSessionImpl.cpp:266) (in Mutex.cpp, function lock(), line 79)
(Argus) Error InvalidState: Element not found (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamerautils/inc/Vector.h, function remove(), line 172)
(NvCameraUtils) Error InvalidState: Mutex has not been initialized (in Mutex.cpp, function unlock(), line 88)
Error: Argus device initialization failed with message: Failed to configure the Argus device. Detailed message: Failed to initialize the capture session and request. Detailed message: Failed to create capture session, and status: -2, err: -1
(Argus) Objects still active during exit: [CameraProvider (0x3098f7d0): refs: 1, cref: 1]
SCF: Error NotSupported: ▒ (in src/services/cuda/CudaService.cpp, function shutdown(), line 126)
SCF: Error NotSupported:  (propagating from src/services/cuda/CudaService.cpp, function stopService(), line 54)
SCF: Error NotSupported:  (propagating from src/components/ServiceHost.cpp, function stopServicesInternal(), line 211)
Error: Argus device initialization failed with message: Failed to configure the Argus device. Detailed message: Failed to initialize the capture session and request. Detailed message: Failed to create capture session, and status: -2, err: -1

Above message is what I added in my application to track the errors. status: -2 is STATUS_INVALID_SETTINGS = 2 error.

Is there any change in terms of creating the capture session? The code related to the creation of the capture session is as follows.

// Get camera provider
// Based on the badge information, get the camera device (m_cameraDevice)

    // Create the capture session
    Argus::Status argus_status;
    m_captureSession = Argus::UniqueObj<Argus::CaptureSession>(
        i_camera_provider->createCaptureSession(m_cameraDevice, &argus_status));
    if (argus_status != Argus::STATUS_OK) {
        return { -argus_status, -1, "Failed to create capture session" };
    }

hello suchao,

as you can see, Topic 284939, it’s pre-built update based-on JP-5.1.3/r35.5.0
please moving to the latest JP-5 release version if that’s possible.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.