Pyds.get_nvds_buf_surface segmenation fault

In the nvvideoconvert step i changed the format from RGBA to NV12 and it did not immediatly crash - I’m now running a longer test

nvstreammux has compatibility issue with RGBA input, tracking on ticket - DeepStream 5.0.1 nvstreamdemux core dump after RGBA conversion

The ticket are for different environmnets . I have a problem with the Jetson Architecture but RGBA nvvideoconvert worked without problem on Intel.

Ok, @dnewton, how about the test result?

Thanks!

With NV12 instead of RGBA we have been running none stop for 2 days on 4 AGX devices.
Looks good.
Regards
David

1 Like

Thanks, @dnewton!

Hi @Aref, @niboshi000,
Could you leverage the solution for your case?

Thanks!

Hi,

Yes, adding “nvvideoconvert ! video/x-raw(memory:NVMM), format=RGBA” to the pipeline before my own element solved the issue.

Thanks a lot!

Not to reopen this issue or anything, but what fixed it for me was changing the memory management to cuda_unified. NVIDIA mentions this in the documentation for pyds.get_nvds_buf_surface:

For x86_64, only CUDA unified memory is supported.

This was achieved by adding these 4 lines in my main function (remember to change it to your specific elements):

mem_type = int(pyds.NVBUF_MEM_CUDA_UNIFIED)
nvvidconv.set_property("nvbuf-memory-type", mem_type)
streammux.set_property("nvbuf-memory-type", mem_type)
nvvidconv1.set_property("nvbuf-memory-type", mem_type)
1 Like

@anas.majid Thanks, this solved my problem!