Getting Segmentation Fault (Core Dumped) while trying to create docker for deepstream python app

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) NVIDIA RTX A5000
• DeepStream Version 6.2
• JetPack Version (valid for Jetson only)
• TensorRT Version 8.5
• NVIDIA GPU Driver Version (valid for GPU only) 515.57
• Issue Type( questions, new requirements, bugs) questions
I am trying to create docker to run my deepstream app. For the same i followed deepstream tutorials and examples to create my app. App run fine as expected. Then i created docker first for jetson devices then now while trying to run same application but with docker compatible with and architecture i am getting Segmentation fault. In my app i am trying to get frame from nvds buffer using

n_frame = pyds.get_nvds_buf_surface(hash(buffer), frame_meta.batch_id).
frame_image = np.array(n_frame, copy=True, order='C')
frame_image = cv2.cvtColor(n_frame, cv2.COLOR_RGBA2BGR)

And because of these lines i am getting Segmentation Fault. Please help.

Any help would be appreciated.

Could you use our demo first to check if there are same issues? deepstream_imagedata-multistream.py

I have checked ds_nvdsanalytics demo it worked fine there. Do you want me to run imagedata-multistream demo as well?

Yes. This demo has similar API get_nvds_buf_surface for using as you can refer to.

We needed to change memory if pipeline is not running on aarch64.
Solution to add if not is_aarch64():

# Use CUDA unified memory in the pipeline so frames
# can be easily accessed on CPU in Python.
     if not is_aarch64():
        mem_type = int(pyds.NVBUF_MEM_CUDA_UNIFIED)
        streammux.set_property("nvbuf-memory-type", mem_type)
        nvvidconv.set_property("nvbuf-memory-type", mem_type)
        nvvidconv1.set_property("nvbuf-memory-type", mem_type)
        tiler.set_property("nvbuf-memory-type", mem_type)

I have few more question regarding my pipeline should I add them here or create new post.
Thanks a lot again.

If it is a different type of issue, we recommend to open a new topic.

As what you said, you mean the app you used runs well in the RTX A5000. But it crashed when running on the Jetson platform? Did you use the docker we provided? deepstream docker
Could you try to add your patches to our demo and check if it is crash? deepstream_imagedata-multistream.py

It is working now on both architecture.
I had to just add

if not is_aarch64():
        mem_type = int(pyds.NVBUF_MEM_CUDA_UNIFIED)
        streammux.set_property("nvbuf-memory-type", mem_type)
        nvvidconv.set_property("nvbuf-memory-type", mem_type)
        nvvidconv1.set_property("nvbuf-memory-type", mem_type)
        tiler.set_property("nvbuf-memory-type", mem_type)

The issue is how I can restart a single or n stream if they are stopped because of network issues and then reconnects. But my pipeline returns EOS for them and doesn’t restart them.

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