Nvstreammux, buffer pool and deadlocks

• Hardware Platform (Jetson / GPU) : TX2NX
• DeepStream Version : 6.0
• NVIDIA GPU Driver Version (valid for GPU only) : 10.2
**• BSP : GitHub - OE4T/meta-tegra: BSP layer for NVIDIA Jetson platforms, based on L4T


I’m having some random and short freezes in my pipelines (few seconds several times per day). The pipelines are using gstd, interpipes and many elements. At this stage, we failed to reproduce the freeze with a simple, short pipeline.

To summarize, the pipelines acquire video from CSI camera, infer, compress & record video, display video. A pipeline acquire & display video. Other pipelines work in parallel.

Using gst-perf and GST_DEBUG, we observe:

May 31 16:03:56 U-PT-22-03-414 gstd[4069]: 3:46:43.622674334  4069   0x7ed4001680 DEBUG            nvstreammux gstnvstreammux.c:2682:gst_nvstreammux_src_push_loop:<muxer> Pushing buffer 0x7f200067f0, batch size 1, PTS 3:45:21.089535807
... only logs from the pipeline that acquire & display
... AND 12x gst_nvstreammux_chain:<muxer> Got buffer
May 31 16:04:20 U-PT-22-03-414 gstd[4069]: 3:47:07.947752049  4069   0x7ed4001680 DEBUG            nvstreammux gstnvstreammux.c:2682:gst_nvstreammux_src_push_loop:<muxer> Pushing buffer 0x7fa4025570, batch size 1, PTS 3:45:45.414638545

The logs show us nvstreammux is stuck during about 24 seconds. During this “freeze”, we only have 12 “Got buffer” from nvstreammux (with no matching “Pushing”). Pipelines depending on nvstreammux flow are stuck too, since there is no new data. Pipelines that do not depend on nvstreammux are working fine during this “freeze”. For example, we can see the live video stream.

If we have nvstreammux → nvinfer, nvstreammux no longer push buffers, during “freeze”.
If we have nvstreammux → perf → queue → nvinfer, nvstreammux push, however, nvinfer is stuck (no longer produce logs/buffers), during “freeze”.

Could you give us some hints to understand why nvstreammux no longer push buffers?
Maybe a way to get number of available buffers in the pool during freeze? Any warning from lock or waiting allocation?

Best regards,
Richard Buchmann

Seem the downstream did not consume the buffer during “freeze”.

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.

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