NvBufSurfTransform error -3

• Hardware Platform (Jetson / GPU) Jetson
• DeepStream Version 6.2
• JetPack Version (valid for Jetson only) 5.1.1
• TensorRT Version 8.5.2

Hello. I am facing an issue with my current pipeline which looks like the following:

pipeline_flowchart(1)

The error I face is:

0:03:46.580216288 34282     0x3c861d20 WARN                 nvinfer gstnvinfer.cpp:1668:convert_batch_and_push_to_input_thread:<sgie_classification1> error: NvBufSurfTransform failed with error -3 while converting buffer
0:03:46.580458464 34282     0x3c861d20 WARN                 nvinfer gstnvinfer.cpp:2638:gst_nvinfer_output_loop:<sgie_detection> error: Internal data stream error.
0:03:46.580494240 34282     0x3c861d20 WARN                 nvinfer gstnvinfer.cpp:2638:gst_nvinfer_output_loop:<sgie_detection> error: streaming stopped, reason error (-5)
Error: gst-stream-error-quark: NvBufSurfTransform failed with error -3 while converting buffer (1): gstnvinfer.cpp(1668): convert_batch_and_push_to_input_thread (): /GstPipeline:pipeline0/GstNvInfer:sgie_classification1
 info ~ Exiting system

Playing with minimum input width & height values for the secondary models didn’t help out much. I tried the solution mentioned on this thread but it didn’t seem to match my case. Occurrence for the error isn’t consistent – sometimes i will rerun the video and it results in no issues, sometimes the same position, at times a number of frames before or after.

Any suggestions or pointers would be very appreciated, thanks in advance.

Is the “sgie_classification1” the first SGIE in your pipeline?

Seems the bbox from PGIE exceeds the boundary of the video frame. Please check the PGIE output bboxes.

Hello Fiona, thank you for your response.
I tried to edit my initial post to better illustrate the pipeline but the option isn’t available anymore, here’s the new diagram:

le_pipelinec

The issue occurs in the classification models following the secondary detection model, the first model to be specific (SGIE3) I tried disabling it, but the error would continue to show in SGIE4. When removing all the secondary classification models (SGIE3, SGIE4, SGIE5) the error does not appear.

I’ve tried checking the bounding boxes as it was one of the suspect causes, but only noticed values very rarely that the SGIE bounding box max x is outside the frame width boundary – tbf I only came across this case once, and it was by .8.

If it is the case that the cause of my issue is the bounding boxes resulting from the secondary detection model; wouldn’t it be more logical for the error to occur in the same position, with the same object? That isn’t the case with me, the error will occur at different timestamps even when not changing anything in the code.
Another case this issue occurred in was where the secondary detection bounding box exceeds the primary object’s (its parent) bounding box. Another case happened where no abnormalities (at least those related to dimensions & bounding boxes) occurred.

Any further insight you can share is appreciated, thank you.

What does this mean? The gst-nvinfer and its library are all open source, you can debug with the source code to check whether the failure happens in the fixed place or random places.

Yes, that’s what I meant: the error does not occur at a fixed place.

What would you suggest next?

Do you mean the error happens in random places even with the same app, the same video and the sample configurations?

Yes, they occur after the first minute but not in a consistent place. With the same code & same configuration, same video.

Is the error always NvBufSurfTransform failure even the place is random?

Yes, the same error.

Seems your detection model output random bboxes even with the same model and the same video input. Is there any customized preprocessing or postprocessing with your detection models?

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.