Deepstream 6.2 is stopped with set_state(Gst.State.NULL)

• Hardware Platform (Jetson / GPU) : GPU
• DeepStream Version : 6.2
• JetPack Version (valid for Jetson only)
• TensorRT Version : 8.5.2
• NVIDIA GPU Driver Version (valid for GPU only) 525.60.11 => 550.78

Hello.

I’m testing the (nvcr.io - Docker image based) Deepstream 6.2 version Python application.

In order to dynamically reconnect the camera(rtspsrc) without restarting the process,
the c code related to that link was transformed into python and used.

This function works fine in normal cases. However, the process sometimes stops when do “source_bin.set_state(Gst.State.NULL)” for the disconnected camera during long-term testing. It is difficult to debug because it does not occur frequently.

def reset_source_pipeline(source_bin, source_id) -> bool:
    Logger().logger.debug("reset_source_pipeline")
    current_time = int(datetime.now().strftime("%s"))

    SourceController().update_source_info(
        source_id,
        {"last_buffer_time": current_time, "last_reconnect_time": current_time},
    )
    # mutex_unlock bin_lock
    Logger().logger.info("State Null operation Start")
    #That's where the process stops
    change_state = source_bin.set_state(Gst.State.NULL)
    Logger().logger.info("State Null operation Done")
    if change_state == Gst.StateChangeReturn.FAILURE:
        # Gst.error("Can't set source bin to NULL")  # sourcebin
        Logger().logger.error("Can't set source bin to NULL")
        return False

    Logger().logger.info("Resetting source")

    if not Gst.Element.sync_state_with_parent(source_bin):
        # Gst.error("Couldn't sync state with parent")  # sourcebin
        Logger().logger.error("Couldn't sync state with parent")

    parser = source_bin.parent.get_by_name(f"parse_elem_{source_id}")
    if parser:
        if not pyds.gst_element_send_nvevent_new_stream_reset(hash(parser), 0):
            # Gst.error("Interrupted, Reconnection event not sent")  # parser
            Logger().logger.error("Interrupted, Reconnection event not sent")
    ...

  • process is stopped after last line.

This time, when we test on the gpu server, it seems that even the gpu error occurred when the deepstream-python application stopped.



After the server stopped and rebooted with this error, the gpu driver was not recognized. Usually, I reinstalled the same version of the GPU driver, but this time the same version was not installed and an error occurred. So I installed the updated version of the gpu driver, and it was installed well at this time.

  1. I also find cases in jetson device that sometimes stop with set_state(Gst.State.NULL), and I want to know why. (Unfortunately, I don’t have the gst_debug log in this case)

  2. I wonder why the gpu-related kernel/install error occurred.

What is the specific model of your GPU?


I am using RTX A6000.

Can you confirm that it was Gstreamer set_state that caused the final GPU kernel problem? Or maybe there was a problem with the GPU that caused the deepstream stop.

About dynamiclly add and remove source, you can refer to our demo runtime_source_add_delete.

About the gpu-related kernel/install error, you can file a topic on our GPU related forum. Thanks

There is no update from you for a period, assuming this is not an issue anymore. Hence we are closing this topic. If need further support, please open a new one. Thanks

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