Restarting deepstream pipeline after failure

I have modifications to the deepstream-reference app to run it via live multiple rtsp sources. I wish to run the whole pipeline in a loop i.e if the app goes to the done state and tries to quit, I will again call the main loop.The issue is I am unable to get this pipeline to restart properly. How to fix this ?

I have found it better to have a python controller/management program. It will start my deepstream C apps and monitor that they are up and the memory usage. If it’s not up or available memory is getting low I kill the app and restart it.
Works pretty well.
(There are leaks in some of the low level components so I find memory gets used up when running for long periods or if you are dynamically changing the pipeline.)

Till now, I have been doing something similar. But, I still wish to know whether there is a way to restart the pipeline in a safe manner.

Please share a test application that we can reproduce the issue. Would be great to share a patch on default samples.

This looks similar to Deepstream crashes when rtsp fails.
Please explain what the deviation is between the two topics.

In the above given link, it was specific to rtsp failures and handling just it would have solved the problem.
In this case, its about any kind of failure and I wish to restart the whole pipeline instead of just handling the rtsp streams.

Lastly, my query in the above mentioned link is also still partially unresolved as the patch provided there doesn’t work properly(as can be seen by my further comments)

We have file-loop in test group. By enabling it, loop test is performed.

With different sources being configured, there might be different failure cases and not easy to give out a general solution of handling all cases. The patch we have shared will be in next release and we are still trying to reproduce the reported following-up failure.

NvMapMemCacheMaint:1075334668 failed  [14]