Problem:
After I stop a Gstreamer python app with CTRL-C from userspace using nvarguscamerasrc on sendor-id=0 I got always a segmentation fault.
OS:
R32 (release), REVISION: 4.2, GCID: 20074772, BOARD: t210ref, EABI: aarch64, DATE: Thu Apr 9 01:22:12 UTC 2020
Software:
openCV 4.3.0+Cuda 10.2 + cuDNN 7.6.3
Gstreamer setup:
"nvarguscamerasrc num-buffers=1024 sensor-id=%d ! video/x-raw(memory:NVMM), width=(int)%d, height=(int)%d, format=(string)NV12, framerate=(fraction)%d/1 ! nvvidconv flip-method=%d ! video/x-raw, display_width=(int)%d, display_height=(int)%d, format=(string)BGRx ! videoconvert ! video/x-raw, format=(string)BGR ! appsink "
Installed packages:
$ dpkg -l | grep -E “nvidia|cuda-nv|libnv” | awk ‘{print $1,$2,$3}’
ii cuda-nvcc-10-0 10.0.326-1
ii cuda-nvcc-10-2 10.2.89-1
ii cuda-nvdisasm-10-0 10.0.326-1
ii cuda-nvdisasm-10-2 10.2.89-1
ii cuda-nvgraph-10-0 10.0.326-1
ii cuda-nvgraph-10-2 10.2.89-1
ii cuda-nvgraph-dev-10-0 10.0.326-1
ii cuda-nvgraph-dev-10-2 10.2.89-1
ii cuda-nvml-dev-10-0 10.0.326-1
ii cuda-nvml-dev-10-2 10.2.89-1
ii cuda-nvprof-10-0 10.0.326-1
ii cuda-nvprof-10-2 10.2.89-1
ii cuda-nvprune-10-0 10.0.326-1
ii cuda-nvprune-10-2 10.2.89-1
ii cuda-nvrtc-10-0 10.0.326-1
ii cuda-nvrtc-10-2 10.2.89-1
ii cuda-nvrtc-dev-10-0 10.0.326-1
ii cuda-nvrtc-dev-10-2 10.2.89-1
ii cuda-nvtx-10-0 10.0.326-1
ii cuda-nvtx-10-2 10.2.89-1
ii libnvidia-container-tools 0.9.0~beta.1
ii libnvidia-container0:arm64 0.9.0~beta.1
ii libnvinfer-bin 7.1.0-1+cuda10.2
ii libnvinfer-dev 7.1.0-1+cuda10.2
ii libnvinfer-doc 7.1.0-1+cuda10.2
ii libnvinfer-plugin-dev 7.1.0-1+cuda10.2
ii libnvinfer-plugin6 6.0.1-1+cuda10.0
ii libnvinfer-plugin7 7.1.0-1+cuda10.2
ii libnvinfer-samples 7.1.0-1+cuda10.2
ii libnvinfer6 6.0.1-1+cuda10.0
ii libnvinfer7 7.1.0-1+cuda10.2
ii libnvonnxparsers-dev 7.1.0-1+cuda10.2
ii libnvonnxparsers6 6.0.1-1+cuda10.0
ii libnvonnxparsers7 7.1.0-1+cuda10.2
ii libnvparsers-dev 7.1.0-1+cuda10.2
ii libnvparsers6 6.0.1-1+cuda10.0
ii libnvparsers7 7.1.0-1+cuda10.2
ii nvidia-container-csv-cuda 10.2.89-1
ii nvidia-container-csv-cudnn 8.0.0.145-1+cuda10.2
ii nvidia-container-csv-tensorrt 7.1.0.16-1+cuda10.2
ii nvidia-container-csv-visionworks 1.6.0.501
ii nvidia-container-runtime 3.1.0-1
ii nvidia-container-toolkit 1.0.1-1
ii nvidia-docker2 2.2.0-1
ii nvidia-l4t-3d-core 32.4.2-20200408182156
ii nvidia-l4t-apt-source 32.4.2-20200408182156
ii nvidia-l4t-bootloader 32.4.2-20200408182156
ii nvidia-l4t-camera 32.4.2-20200408182156
rc nvidia-l4t-ccp-t210ref 32.3.1-20191209225816
ii nvidia-l4t-configs 32.4.2-20200408182156
ii nvidia-l4t-core 32.4.2-20200408182156
ii nvidia-l4t-cuda 32.4.2-20200408182156
ii nvidia-l4t-firmware 32.4.2-20200408182156
ii nvidia-l4t-graphics-demos 32.4.2-20200408182156
ii nvidia-l4t-gstreamer 32.4.2-20200423124921
ii nvidia-l4t-init 32.4.2-20200408182156
ii nvidia-l4t-initrd 32.4.2-20200408182156
ii nvidia-l4t-jetson-io 32.4.2-20200408182156
ii nvidia-l4t-jetson-multimedia-api 32.4.2-20200408182156
ii nvidia-l4t-kernel 4.9.140-tegra-32.4.2-20200408182156
ii nvidia-l4t-kernel-dtbs 4.9.140-tegra-32.4.2-20200408182156
ii nvidia-l4t-kernel-headers 4.9.140-tegra-32.4.2-20200408182156
ii nvidia-l4t-multimedia 32.4.2-20200408182156
ii nvidia-l4t-multimedia-utils 32.4.2-20200408182156
ii nvidia-l4t-oem-config 32.4.2-20200408182156
ii nvidia-l4t-tools 32.4.2-20200408182156
ii nvidia-l4t-wayland 32.4.2-20200408182156
ii nvidia-l4t-weston 32.4.2-20200408182156
ii nvidia-l4t-x11 32.4.2-20200408182156
ii nvidia-l4t-xusb-firmware 32.4.2-20200408182156
ii python-libnvinfer 7.1.0-1+cuda10.2
ii python-libnvinfer-dev 7.1.0-1+cuda10.2
ii python3-libnvinfer 7.1.0-1+cuda10.2
ii python3-libnvinfer-dev 7.1.0-1+cuda10.2
Termination error.
^C terminate called without an active exception
Aborted (core dumped)
Start error:
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:568 Failed to create CaptureSession
Question:
- Is there a fix to start the app without restarting nvargus-daemon? Keep in mind the python app runs as a docker container?
- Is there a way to talk and sniff the argus_socket (just for testing if it is running and issue a restart from the docker container itself)?
- How can I restart the daemon from the python app itself?