`nvdsosd` element may crash when added dynamically

  • Both Jetson and GPU
  • DeepStream 6.2 & 6.3, probably other versions too
  • JetPack Version - Not Applicable
  • TensorRT Version - Not Applicable
  • NVIDIA GPU Driver Version - Not Applicable
  • Issue Type: bug
  • How to reproduce the issue: dynamically append / remove nvdsosd element into GStreamer pipeline many times.

I want to dynamically insert and remove nvdsosd elements when needed. Sometimes I have segfault in nvll_osd_set_params when GStreamer’s GstBaseTransform (parent class of nvdsosd) tries to set up children caps before invoking children start virtual method (which is completely okay for GstBaseTransform): in
deepstream-6.2/sources/gst-plugins/gst-nvdsosd/gstnvdsosd.c if gst_nvds_osd_transform_caps is called before gst_nvds_osd_start, application will crash because nvll_osd context may not be initialized.

Possible solutions (up to you):

  • initialize OSD context earlier and refrain from releasing it in gst_nvds_osd_stop, keeping it longer.
  • store width, height but postpone call to nvll_osd_set_params if context is not yet initialized.

Thanks. Could you provide your simplified demo that dynamically insert and remove nvdsosd elements?

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. Thanks

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