during some tests we noticed a memory leak while using multiple gstreamer pipeline concurrently in our application. We saw memory consumption going up using tegrastats while running 20 concurrent pipelines. The memory keeps growing slowly but steadily.
Environment is Jetson Orin AGX devkit with Jetpack 5.0.2.
To reproduce the issue we ran 20 of the following simplified pipelines:
gst-launch-1.0 filesrc location=/home/va/oxford_cut.mp4 ! qtdemux ! h264parse ! nvv4l2decoder ! fakesink sync=true
and the memory leak was still happening, even outside our application. The leaks should happen even with a single pipeline, obviously it’s harder to notice because the leak is small. To confirm it we then run a single pipeline using gst leak tracer with the following command:
GST_TRACERS=“leaks(stack-traces-flags=full)” GST_DEBUG=“GST_TRACER:7” gst-launch-1.0 filesrc location=/home/va/oxford_cut.mp4 ! qtdemux ! h264parse ! nvv4l2decoder! fakesink sync=true
dump.txt (59.8 KB)
Here you can find the output, it seems the leak stack trace involves something happening in libgstnvvideo4linux2.so.
Let us know if you need something else to give us support on this issue.