Failed to find free syncpt error with OSD and dynamic pipeline

I’ve used dynamic pipeline to write stream to new file every n seconds. Everything works fine, but if I enable OSD in that pipeline, I’ve got the following kernel error after about 10 minutes of execution:

host1x 50000000.host1x: nvhost_get_syncpt: failed to find free syncpt
falcon 54340000.vic: nvhost_get_syncpt_host_managed: failed to get syncpt

I’ve tried a patch from this solution but it doesn’t work for me.

My system parameters:

  • Jetson Nano 2Gb
  • JetPack 4.5.1-b17

Yeah, I can use smart video record to write a stream in a new file, but it has some limitation and is not suitable in my case.

I’ve wrote reproducible case consisting of a pipeline: source->streammux->demuxer->OSD->sink.
Code is based on DeepStream Reference Application - deepstream-app.

OSD_bug.zip (16.8 KB)

What is the version of deepstream? Could you update to the latest version and have a try?
We have fixed some similar memory problems in the latest version.

Version of deepstream is 5.1.
Ok, I’ll try latest version of deepstream and come back.

1.You can try to update to deepstream 6.0 version first cause your board may not support the latest version.
2.You can try to increase the limit of fd with ulimit -n number cli.

I’ve tried to decrease number of fd to set it to ulimit -n 128 (default value is 1024) and it crashes much faster.
Then I’ve installed Jetpack 4.6.1 on Jetson Nano with Deepstream 6.0.1 and such problem is gone. Also I did the same trick with fd, but everything is fine also. Thank you!

1 Like