Pyds import crashes/freezes app

• Hardware Platform
GPU
• DeepStream Version
7.0
• TensorRT Version
provider by nvcr.io/nvidia/deepstream:7.0-gc-triton-devel
**• NVIDIA GPU Driver Version **
535.183.01
• Issue Type
bug
• How to reproduce the issue ?
Dockerfile:

FROM nvcr.io/nvidia/deepstream:7.0-gc-triton-devel

RUN chmod ag+rw /opt/nvidia/deepstream/deepstream/sources
RUN apt install -y apt-transport-https ca-certificates \
    python3-gi python3-dev python3-gst-1.0 python-gi-dev git meson \
    python3 python3-pip python3.10-dev cmake g++ build-essential libglib2.0-dev \
    libglib2.0-dev-bin libgstreamer1.0-dev libtool m4 autoconf automake libgirepository1.0-dev libcairo2-dev
RUN update-ca-certificates
RUN cd /opt/nvidia/deepstream/deepstream/sources
RUN wget https://github.com/NVIDIA-AI-IOT/deepstream_python_apps/releases/download/v1.1.11/pyds-1.1.11-py3-none-linux_x86_64.whl && \
    pip3 install ./pyds-1.1.*.whl && \
    rm ./pyds-1.1.*

Build docker with:

docker build -t pyds .

Run docker with:

docker container run -it --gpus=all pyds bash

Inside docker, run following python script:

import gi

gi.require_version("Gst", "1.0")
from gi.repository import GLib, Gst

import pyds 

def main():
    Gst.init(None)
    pipe_str = "videotestsrc name=videotestsrc1 ! fakesink"
    pipe = Gst.parse_launch(pipe_str)
    child = pipe.get_by_name("videotestsrc1")
    
if __name__ == "__main__":
    main()

Program crashe with:

Fatal Python error: _PyGILState_NoteThreadState: Couldn't create autoTSSkey mapping
Python runtime state: initialized

Thread 0x00007ff26ad604c0 (most recent call first):
  File "/opt/nvidia/deepstream/deepstream-7.0/main.py", line 16 in main
  File "/opt/nvidia/deepstream/deepstream-7.0/main.py", line 20 in <module>

Extension modules: gi._gi, gi.overrides._gi_gst (total: 2)
Aborted (core dumped)

With

pipe_str = "nvinfer name=primary-inference ! fakesink"

program freezes on

child = pipe.get_by_name("primary-inference")

After deleting ‘pyds’ import, both versions works good.

1 Like

Please add the --privileged parameter, which is already explained in the documentation

This is a invaild pipeline.

1 Like

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