AttributeError: 'NoneType' object has no attribute 'set_property'

Hardware Platform : Jetson TX2 NX
**• DeepStream Version: 6.0.1
**• JetPack Version : 4.6.3
**• Issue Type( questions, new requirements, bugs): Bugs
**• How to reproduce the issue ?
Run the below app
deepstream-test1

I have used deepstream-test1 (v1.1.1 branch tag) and ran it inside Deepstream docker container, and getting the following error

(Argus) Error FileOperationFailed: Connecting to nvargus-daemon failed: No such file or directory (in src/rpc/socket/client/SocketClientDispatch.cpp, function openSocketConnection(), line 205)
(Argus) Error FileOperationFailed: Cannot create camera provider (in src/rpc/socket/client/SocketClientDispatch.cpp, function createCameraProvider(), line 106)

(gst-plugin-scanner:7656): GStreamer-WARNING **: 13:24:19.097: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_udp.so': librivermax.so.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:7656): GStreamer-WARNING **: 13:24:19.114: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_inferaudio.so': libcufft.so.10: cannot open shared object file: No such file or directory

(gst-plugin-scanner:7656): GStreamer-WARNING **: 13:24:19.118: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_infer.so': libnvparsers.so.8: cannot open shared object file: No such file or directory

(gst-plugin-scanner:7656): GStreamer-WARNING **: 13:24:19.125: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_osd.so': libnvinfer.so.8: cannot open shared object file: No such file or directory

(gst-plugin-scanner:7656): GStreamer-WARNING **: 13:24:19.171: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_deepstream_bins.so': libnvparsers.so.8: cannot open shared object file: No such file or directory

(gst-plugin-scanner:7656): GStreamer-WARNING **: 13:24:19.173: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_inferserver.so': libtritonserver.so: cannot open shared object file: No such file or directory
Creating Pipeline 
 
Creating Source 
 
Creating H264Parser 

Creating Decoder 

 Unable to create pgie 
 Unable to create nvosd 
Creating nv3dsink 

Playing file test.h264 
Traceback (most recent call last):
  File "deepstream_test_1.py", line 258, in <module>
    sys.exit(main(sys.argv))
  File "deepstream_test_1.py", line 201, in main
    pgie.set_property('config-file-path', "/workspace/deepstream_python_apps/apps/deepstream-test1/dstest1_pgie_config.txt")
AttributeError: 'NoneType' object has no attribute 'set_property'

Can you share the full command?

Command to run the app

python3 deepstream_test_1.py test.h264

Seems nvinfer plugin is not created correctly, are you able to run deepstream-test1 in C (/opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-test1)? If the C samples works, it may be related with python plugin installation.

I have installed the jetpack 4.6.3 BSP, didn’t installed Jetson SDK components by using SDK manager.
Once after the OS is installed, logged into the jetson and installed nvidia-docker and pull the container. Is this the right way ? or should i install the nvidia-container-toolkit? (Its mentioned Deepstream Tutorial that nvidia-container-toolkit is a prerequisite for deepstream container)

I tried installing the nvidia-container-toolkit in the jetson before creating the deepstream container, but getting the below error when i try to start the container after installing the nvidia-container-toolkit.

Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: Running hook #0:: error running hook: exit status 1, stdout: , stderr: Auto-detected mode as 'csv'
invoking the NVIDIA Container Runtime Hook directly (e.g. specifying the docker --gpus flag) is not supported. Please use the NVIDIA Container Runtime (e.g. specify the --runtime=nvidia flag) instead.: unknown

How do you run the docker on Jetson ? Can you share the command ?

Just like below ?

sudo docker run -it --rm --net=host --runtime nvidia  -e DISPLAY=$DISPLAY -w /opt/nvidia/deepstream/deepstream-6.2 -v /tmp/.X11-unix/:/tmp/.X11-unix nvcr.io/nvidia/deepstream-l4t:6.2-base

This is deepstream-l4t docker refer document

I’m using docker-compose
Is it mandatory to install the nvidia-container-toolkit in the jetson to work the deepstream container ?

Tried deepstream c app.

command ran :
deepstream-app -c dstest1_pgie_config.txt

error:
deepstream-app: error while loading shared libraries: libnvinfer.so.8: cannot open shared object file: No such file or directory

Yes. The driver and CUDA are shared between the host and docker.so when you ran docker, need add parameters --runtime nvidia on Jetson.

You can run deepstream-app in host first, make sure driver and cuda is installed successfully.

Thanks.

I have added runtime: nvidia into the docker-compose file and installed the cuda 10.2 by using bash script mentioned here.

nvcc --vesion
image

Also installed nvidia-container toolkit by sudo apt-get install -y nvidia-container-toolkit

When i try running the c app, getting the same error which i was getting earlier.

Error:
deepstream-app: error while loading shared libraries: libnvinfer.so.8: cannot open shared object file: No such file or directory

I have used jetpack 4.6.3, and the Deepstream 6.0.1. In this doc it’s mentioned that Jetpack 4.6.1 GA is compatible with Deepstream 6.0.1.
I tried by downgraded the jetson version 4.6.3 to 4.6.1 . Still getting the same error.

image

Jetson SDK is necessary.

TensorRT is part of Jetson SDK and DeepStream uses TensorRT for inference.

This error means tensorrt is not installed correctly

try

sudo apt install tensorrt

I have installed the tensorrt in the jetson device (not inside the deepstream docker container). But still getting the same error.

Which docker image do you use ?

If you run this command following in docker, can you got output ?

find /usr/lib -name "libnvinfer*"

If you only use nvcr.io/nvidia/deepstream:6.0.1-triton image no use docker-compose,
can you run successfully ?

Using the below mentioned docker container

nvcr.io/nvidia/deepstream-l4t:6.0.1-samples

Not getting any output for find /usr/lib -name "libnvinfer*" command

You can try mount plugin mentioned here
Map the libnvinfer*.so from host to Docker

The latest version doesn’t have to do this,so I think it’s a bug.

The issue is solved when i install the Jetson SDK components by using SDK manager. But while installing this Developer tools and Multimedia under Jetson SDK components not installed due to some error, hence i got more free space in the device. Once after logged into the machine , i have uninstalled some unwanted softwares to make more free space for Deepstream docker. FInally got enough space for the docker container.

Can you tell me how to install specific packages from Jetson SDK components? ex: I want to install only the below packages
CUDA
CUDA-X AI
NVIDIA Container Runtime

No additional action required. Jetson SDK include all of them

Here is documention for NVIDIA SDK Manager , You can refer it.

There is no update from you for a period,
assuming this is not an issue anymore.
Hence we are closing this topic.
If need further support, please open a new one. Thanks

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