Nvarguscamera crashes after frequent restarts

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) - Jetson
• DeepStream Version - 6.0
• JetPack Version (valid for Jetson only) - 4.6
• TensorRT Version - 8.0
• NVIDIA GPU Driver Version (valid for GPU only)
• Issue Type( questions, new requirements, bugs) - bugs

In my deepstream app, I had to switch between different deepstream pipelines. After few restarts of the deepstream pipeline, the nvarguscamera plugin fails to capture frames and throws the below error:
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:736 Failed to create CaptureSession

The issue is not frequent though. I had to restart the daemon using sudo systemctl restart nvargus-daemon and start the application again.
May I know the resolution for this issue.

Team,

Any lead on this please.

Hello @arivarasan.e , Sorry for the late reply, we are checking but it seems not to be relevant with deepstream, may move this topic to other forum later.

Hi,
Please share which Jetson platform you are using, such as Xavier or TX2.

Jetson Nano

Hi,
It looks like the camera is not stable and is not successfully launched in the error condition. Please share information about the camera, such as vendor and model ID.

Arducam IMX219 Low Distortion M12 Mount Camera

Hi,
Please run this python code and check if you observe the issue:

#!/usr/bin/env python3

import gi
import time
gi.require_version('Gst', '1.0')
from gi.repository import Gst, GObject, GLib

pipeline = None
bus = None
message = None

# initialize GStreamer
Gst.init(None)

for i in range(1, 5566):
    print("loop =",i," ")
    # build the pipeline
    pipeline = Gst.parse_launch(
        "nvarguscamerasrc ! fakesink "
    )

    # start playing
    print("Switch to PLAYING state")
    pipeline.set_state(Gst.State.PLAYING)

    time.sleep(8)
    print("Send EoS")
    Gst.Element.send_event(pipeline, Gst.Event.new_eos())
    # wait until EOS or error
    bus = pipeline.get_bus()
    msg = bus.timed_pop_filtered(
        Gst.CLOCK_TIME_NONE, Gst.MessageType.EOS)

    # free resources
    print("Switch to NULL state")
    pipeline.set_state(Gst.State.NULL)
    time.sleep(2)

Hi,

I’m unable to see the display, but the script runs without any error:
loop = 16
Switch to PLAYING state
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected…
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 3264 x 2464 FR = 21.000000 fps Duration = 47619048 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 3264 x 1848 FR = 28.000001 fps Duration = 35714284 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1920 x 1080 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1640 x 1232 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1280 x 720 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1280 x 720 FR = 120.000005 fps Duration = 8333333 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: Running with following settings:
Camera index = 0
Camera mode = 2
Output Stream W = 1920 H = 1080
seconds to Run = 0
Frame Rate = 29.999999
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
Send EoS
Switch to NULL state
GST_ARGUS: Cleaning up
CONSUMER: Done Success
GST_ARGUS: Done Success
loop = 17
Switch to PLAYING state

Hi,
It nvarguscamerasrc ! fakesink can pass 5566 times in loop, the source looks fine and the issue probably is somewhere else. Please try to apply the whole pipeline to the sample and check if the issue happens. You can make sure the pipeline is good in gst-launch-1.0 command first and then apply the same to Gst.parse_launch()

Here is a gst-launch-1.0 command for reference:
Could not link nvarguscamerasrc0 to nvstreammux0 - #10 by DaneLLL

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