NvBufferCreateEx and NvJPEGDecoder problem

Hi all.
In my application I constantly creating and destroying dmabuf_fd via NvBufferCreateEx. And I detect that NvBufferCreateEx can return dmabuf_fd that used inside NvJPEGDecoder::decodeToFd. After I destroy my buffer via NvBufferDestroy I get this error into dmesg

arm-smmu 12000000.iommu: Unhandled context fault: iova=0x14c3c0c00, fsynr=0x20003, cb=7, sid=56(0x38 - Unassigned SID), pgd=225fbe003, pud=225fbe003, pmd=206548003, pte=0

and this error into application output

nvbuf_utils: dmabuf_fd 1148 mapped entry NOT found
nvbuf_utils: Can not get HW buffer from FD... Exiting...
nvbuf_utils: dmabuf_fd 1148 mapped entry NOT found
nvbuf_utils: Can not get HW buffer from FD... Exiting...
NvBufferGetParams failed for src_dmabuf_fd

Anyone knows it’s a bug or a feature? And can anyone help with this strage behaviour?

The problem was found on the jetpack 4.3, with jetpack 4.2 all works fine except for memory leaks in NvJPEGDecoder.

Hi,
It creates an NvBuffer in decodeToFd(). You should call NvBufferTransfom() to copy to self-allocated NvBuffer. Please refer to the code in 12_camera_v4l2_cuda:

/* Decoding MJPEG frame */
if (ctx->jpegdec->decodeToFd(fd, ctx->g_buff[v4l2_buf.index].start,
    bytesused, pixfmt, width, height) < 0)
    ERROR_RETURN("Cannot decode MJPEG");

/* Convert the decoded buffer to YUV420P */
if (-1 == NvBufferTransform(fd, ctx->render_dmabuf_fd,
        &transParams))
    ERROR_RETURN("Failed to convert the buffer");

Hi, DaneLLL

I know that it’s create NvBuffer, I get parts of code from 12_camera_v4l2_cuda. In my code I create a shared_ptr wrapper that contains dmabuf_fd. And I pass the wrapped dmabuf_fd to NvBufferTransform
nvBufferTransform(jpedDecodedFd, convertI420Buffer->bufFd(), &ctx->transformParams);

NvJPEGDecoder::decodeToFd always use the same buffer after creation. When I create my wrapped buffer via NvBufferCreateEx I noticed that it can return already used fd by NvJPEGDecoder. And when the my wrapped dmabuf_fd destroy, it destroy NvJPEGDecoder buffer too.

Hi,
We suggest you follow 12_camera_v4l2_cuda. Once you get the decoded data through decodeToFd(), copy it to another NvBuffer right away.

Hi DaneLLL

Thank you for your answer, but it seems this is not quite my case.

Here is my debug output:

NvBufferCreateEx return dmabuf_fd: 1027
NvBufferCreateEx return dmabuf_fd: 1028
NvBufferCreateEx return dmabuf_fd: 1029
NvBufferCreateEx return dmabuf_fd: 1030
~ NvBufferDestroy dmabuf_fd 1029
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1064
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1064
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1064
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1064
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1064
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1064
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1064
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1064
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1064
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1064
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1064
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1064
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1064
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1064
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1064
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1064
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1064
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1064
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
NvBufferCreateEx return dmabuf_fd: 1064
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
NvBufferCreateEx return dmabuf_fd: 1064
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
-- jpegdec->decodeToFd: 1062
NvBufferCreateEx return dmabuf_fd: 1064
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
NvBufferCreateEx return dmabuf_fd: 1064
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
NvBufferCreateEx return dmabuf_fd: 1064
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
NvBufferCreateEx return dmabuf_fd: 1064
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
NvBufferCreateEx return dmabuf_fd: 1064
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
NvBufferCreateEx return dmabuf_fd: 1064
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
NvBufferCreateEx return dmabuf_fd: 1064
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1064
~ NvBufferDestroy dmabuf_fd 1063
NvBufferCreateEx return dmabuf_fd: 1063
NvBufferCreateEx return dmabuf_fd: 1064
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1063
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
NvBufferCreateEx return dmabuf_fd: 1062	<----------------------- Here is error
~ NvBufferDestroy dmabuf_fd 1062	 <----------------------- After that jpegdec or NvBufferTransform can no longer work normally
-- jpegdec->decodeToFd: 1062
~ NvBufferDestroy dmabuf_fd 1035
NvBufferCreateEx return dmabuf_fd: 1035
NVMAP_IOC_FREE failed: Bad file descriptor
nvbuf_utils: dmabuf_fd 1062 mapped entry NOT found
nvbuf_utils: Can not get HW buffer from FD... Exiting...
nvbuf_utils: dmabuf_fd 1062 mapped entry NOT found
nvbuf_utils: Can not get HW buffer from FD... Exiting...
NvBufferGetParams failed for src_dmabuf_fd
nvbuffer_transform Failed

I do not fully understand how this can happen if a function should return a free buffer, and it returns a buffer that is already used to decode jpeg.
Now I think the error is that buffers are created in one thread and destroyed in another.

Hi,
Your usecase look similar to 12_camera_v4l2_cuda. If the sample works, it is very likely something wrong in your implementation.

Os you may share a patch on 12_camera_v4l2_cuda so that we can reproduce the issue.

Hi, DaneLLL

Your usecase look similar to 12_camera_v4l2_cuda . If the sample works, it is very likely something wrong in your implementation.

Os you may share a patch on 12_camera_v4l2_cuda so that we can reproduce the issue.

I think that this is the most likely option, but still it is not clear why the same code works fine with the jetpack 4.2 and on 4.3 it produces errors.