NvBufferTransform Failed on Jetson AGX Xavier

Hello, sometimes get this message while running a gstreamer pipeline with nvvideo4linux2 elements on Jetson AGX Xavier with Jetpacks 4.4 and 4.6:

SYNC_IOC_FENCE_INFO ioctl failed with 9
NvDdkVicExecute Failed
nvbuffer_transform Failed
NvDdkVicExecute Failed
nvbuffer_transform Failed
gst_nvvconv_transform: NvBufferTransform Failed 
gst_nvvconv_transform: NvBufferTransform Failed 
SYNC_IOC_FENCE_INFO ioctl failed with 9
NvDdkVicExecute Failed
nvbuffer_transform Failed
gst_nvvconv_transform: NvBufferTransform Failed 

It looks like something bad happens while transferring DMA buffer:

NvBufferTransformParams transform_params;

memset(&transform_params, 0, sizeof(NvBufferTransformParams));

if (!gst_buffer_map (src, &inmap, GST_MAP_READ))
  goto invalid_buffer;

retn = ExtractFdFromNvBuffer (inmap.data, &input_dmabuf_fd);
if (retn != 0) {
  GST_ERROR_OBJECT(src, "ExtractFdFromNvBuffer Failed");
  gst_buffer_unmap(src, &inmap);
  return GST_FLOW_ERROR;
}

inmemory = (GstV4l2Memory *)gst_buffer_peek_memory (dest, 0);

retn = NvBufferTransform (input_dmabuf_fd, (gint)inmemory->dmafd, &transform_params);
if (retn != 0) {
  GST_ERROR_OBJECT(src, "NvBufferTransform Failed");
  gst_buffer_unmap(src, &inmap);
  return GST_FLOW_ERROR;
}

Didn’t get this part clearly, but supposedly it happens due some lack of memory or something.

Is it possible somehow handle this issue without breaking a pipeline?

I can’t provide any gst-launch command, because this issue can’t be reproduced without an app which creates this pipeline and use it some complex scenarios (actually there are multiple pipelines created for a multiple streams).

Sorry for the late response, is this still an issue to support? Thanks

Yes, the issue is still present, didn’t get much progress on it.

Hi
There is a sample code for accessing NvBuffer in appsink. Please take a look at
How to run RTP Camera in deepstream on Nano - #29 by DaneLLL

See if you can resolve the issue by referring to it.

Thanks, but the code above is from gst-v4l2 which is a part of sources provided by Nvidia. And the app I’m talking about just use nvvideo4linux2 as it is.

And for now it looks like some resources race for me. I get SYNC_IOC_FENCE_INFO ioctl failed with some code in different scenarios sometimes.

Are there any chances to get info what these codes literally mean?

Hi,
There is a python sample in
Nvv4l2decoder sometimes fails to negotiate with downstream after several pipeline re-launches - #16 by DaneLLL

Please check if you can modify to fit your use-case and we can run it to replicate the issue. For further investigation, we would need to reproduce it first.

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