Failed to set buffer pool to active on python sample app

Setup Info:
Platform: Jetson Xavier
Deepstream Version: 6.1
Jetpack Version: 5.0.1
TensorRT Version: 8.4.0
Issue Type: question

Hi everyone,

I am trying to get the python sample app rtsp_in_rtsp_out to work on a jetson xavier and ran into a problem with the nvinfer element:

nvinfer gstnvinfer.cpp:943:gst_nvinfer_start:<primary-inference> error: Failed to set buffer pool to active
Error: gst-resource-error-quark: Failed to set buffer pool to active (1): /dvs/git/dirty/git-master_linux/deepstream/sdk/src/gst-plugins/gst-nvinfer/gstnvinfer.cpp(943): gst_nvinfer_start (): /GstPipeline:pipeline0/GstNvInfer:primary-inference

I’ve been following the installation instructions to this point.
On top of that I’ve had to comment out model-engine-file in dstest1_pgie_config.txt and give write permissions to /samples/models/Primary_Detector
I ran the app with:
python3 deepstream_test1_rtsp_in_rtsp_out.py -i rtsp://sample_1.mp4 rtsp://sample_2.mp4 rtsp://sample_N.mp4 -g nvinfer

Thanks in advance for your answers

It seems like your env’s problems. Could you try to use the real rtsp source?

I’ve tried using my own RTSP camera source now and got the same error. What are you referring to by “the real source”?

Yes, you are right. I mean the camera source instead of “rtsp://sample_N.mp4”. Could you attach more log with the cli below:

GST_DEBUG=3 python3 deepstream_test1_rtsp_in_rtsp_out.py -i rtsp://sample_1.mp4 rtsp://sample_2.mp4 rtsp://sample_N.mp4 -g nvinfer

Using a file as input now:

/opt/nvidia/deepstream/deepstream/sources/deepstream_python_apps/apps/deepstream-rtsp-in-rtsp-out$ GST_DEBUG=3 python3 deepstream_test1_rtsp_in_rtsp_out.py -i rtsp://SampleVideo_1280x720_5mb.mp4 -g nvinfer

Output:

Creating Pipeline

Creating streamux

Creating source_bin  0

Creating source bin
source-bin-00
Creating Pgie

Creating tiler

Creating nvvidconv

Creating nvosd

Creating H264 Encoder
Creating H264 rtppay
Adding elements to Pipeline


 *** DeepStream: Launched RTSP Streaming at rtsp://localhost:8554/ds-test ***


Starting pipeline

Opening in BLOCKING MODE
0:00:00.930908417  4134       0xf406f0 WARN                    v4l2 gstv4l2object.c:2394:gst_v4l2_object_add_interlace_mode:0x197a870 Failed to determine interlace mode
0:00:00.931058242  4134       0xf406f0 WARN                    v4l2 gstv4l2object.c:2394:gst_v4l2_object_add_interlace_mode:0x197a870 Failed to determine interlace mode
0:00:00.931148130  4134       0xf406f0 WARN                    v4l2 gstv4l2object.c:2394:gst_v4l2_object_add_interlace_mode:0x197a870 Failed to determine interlace mode
0:00:00.931389219  4134       0xf406f0 WARN                    v4l2 gstv4l2object.c:2394:gst_v4l2_object_add_interlace_mode:0x197a870 Failed to determine interlace mode
0:00:00.931621188  4134       0xf406f0 WARN                    v4l2 gstv4l2object.c:4477:gst_v4l2_object_probe_caps:<encoder:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Unknown error -1
0:00:01.049464718  4134       0xf406f0 WARN                 nvinfer gstnvinfer.cpp:643:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Warning from NvDsInferContextImpl::initialize() <nvdsinfer_context_impl.cpp:1161> [UID = 1]: Warning, OpenCV has been deprecated. Using NMS for clustering instead of cv::groupRectangles with topK = 20 and NMS Threshold = 0.5
0:00:01.051493270  4134       0xf406f0 INFO                 nvinfer gstnvinfer.cpp:646:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::buildModel() <nvdsinfer_context_impl.cpp:1914> [UID = 1]: Trying to create engine from model files
0:01:11.425521471  4134       0xf406f0 INFO                 nvinfer gstnvinfer.cpp:646:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::buildModel() <nvdsinfer_context_impl.cpp:1946> [UID = 1]: serialize cuda engine to file: /opt/nvidia/deepstream/deepstream-6.1/samples/models/Primary_Detector/resnet10.caffemodel_b1_gpu0_int8.engine successfully
INFO: [Implicit Engine Info]: layers num: 3
0   INPUT  kFLOAT input_1         3x368x640
1   OUTPUT kFLOAT conv2d_bbox     16x23x40
2   OUTPUT kFLOAT conv2d_cov/Sigmoid 4x23x40

nvbufsurface: Failed to create EGLImage.
0:01:11.572509379  4134       0xf406f0 ERROR       nvinferallocator gstnvinfer_allocator.cpp:102:gst_nvinfer_allocator_alloc: Error: Could not map EglImage from NvBufSurface for nvinfer
0:01:11.572608836  4134       0xf406f0 WARN              GST_BUFFER gstbuffer.c:948:gst_buffer_new_allocate: failed to allocate 88 bytes
0:01:11.572694533  4134       0xf406f0 WARN              bufferpool gstbufferpool.c:305:do_alloc_buffer:<bufferpool0> alloc function failed
0:01:11.572742918  4134       0xf406f0 WARN              bufferpool gstbufferpool.c:338:default_start:<bufferpool0> failed to allocate buffer
0:01:11.572797830  4134       0xf406f0 ERROR             bufferpool gstbufferpool.c:559:gst_buffer_pool_set_active:<bufferpool0> start failed
0:01:11.572850375  4134       0xf406f0 WARN                 nvinfer gstnvinfer.cpp:943:gst_nvinfer_start:<primary-inference> error: Failed to set buffer pool to active
0:01:11.578325737  4134       0xf406f0 WARN                GST_PADS gstpad.c:1142:gst_pad_set_active:<primary-inference:sink> Failed to activate pad
Error: gst-resource-error-quark: Failed to set buffer pool to active (1): /dvs/git/dirty/git-master_linux/deepstream/sdk/src/gst-plugins/gst-nvinfer/gstnvinfer.cpp(943): gst_nvinfer_start (): /GstPipeline:pipeline0/GstNvInfer:primary-inference

nvbufsurface: Failed to create EGLImage.

It seems that there’s something wrong with your env’s display system. Could you have a check?

I currently use the Xavier over SSH with X11. When the device was set up yesterday the desktop worked on a monitor as well.
In an hour I could use the device directly again with a monitor to see if something is wrong. Is there something else I could do to check what might be wrong with the display system?

Unfortunately I cannot access the Xavier today. Is there anything else I can do to check the display system?

If so, you need to configure the display system in your x11 device to connect the Xavier device display system. Also You can use some softwares like vncviewer.

I can access the Xavier directly today. On this setup the pipeline works. I might try to fix the x11 setup later but for now I will mark the issue as solved.
Thanks for your help

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