Nvstreammux Pad Request Triggers Hash_Table Assert After Restarting Pipeline

• Hardware Platform (Jetson / GPU) DGPU Nvidia RTX5000
• DeepStream Version 7.0
• JetPack Version (valid for Jetson only)
• TensorRT Version TensorRT 8.6.1.6-1 Cuda 12.2
• NVIDIA GPU Driver Version (valid for GPU only) 535.183.01
• Issue Type( questions, new requirements, bugs) Questions

I am restarting a known good pipeline using the below code. The pipeline restart functions as expected and is properly restarted. After restart, calling gst_element_request_pad_simple on the Pipeline’s Nvstreammux results in the errors below. It’s as if the ‘hash_table’ is NULL after a Pipeline restart. Can anyone advise on how to get around this assert after a Pipeline restart?

Thanks!

**Errors**
GLib-CRITICAL **: 16:54:41.770: g_hash_table_lookup: assertion 'hash_table != NULL' failed
GLib-CRITICAL **: 16:54:41.770: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed
**Code**
gst_element_set_state(Pipeline(), GST_STATE_NULL);

while (state != GST_STATE_NULL)
{
    gst_element_get_state(InferenceManager::Pipeline(), &state, &pendingState, 1);
    // Timeout and abort logic not shown
}
gst_element_set_state(Pipeline(), GST_STATE_PLAYING);

You need to make sure the 2 state transitions is successful. Are the return values of the 2 state transitions both GST_STATE_CHANGE_SUCCESS?

The pipeline resumes, but I don’t verify that the GST_STATE_PLAYING change is successful.

You can use the following code to check that.

GstStateChangeReturn ret = gst_element_set_state(Pipeline(), GST_STATE_PLAYING);

g_print("ret %d\n", ret);