I have done a fresh install on my jetson : I have compiled opencv 4.5 myself, same as before. When starting a capture with nvarguscamerasrc, this happens :
robotronik@damnson:~/jetsonMV/build$ ./Robotronikaruco -c
/dev/gpiochip0 at 5;� is attached to
/dev/tegra_camera_ctrl
vi-output, imx219 7-0010 at platform:54080000.vi:0 is attached to
/dev/video0
[ERROR:0@0.477] global /home/robotronik/opencv/modules/core/src/persistence.cpp (505) open Can't open file: '../calibration//dev/gpiochip0.yaml' in read mode
Failed to read camera parameters for ../calibration//dev/gpiochip0
[ERROR:0@0.477] global /home/robotronik/opencv/modules/core/src/persistence.cpp (505) open Can't open file: '../calibration/vi-output, imx219 7-0010.yaml' in read mode
Failed to read camera parameters for ../calibration/vi-output, imx219 7-0010
Starting calibration of camera index0
Opening device at "nvarguscamerasrc ! nvvidconv ! videoconvert ! appsink" with API id 1800
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 3264 x 2464 FR = 21.000000 fps Duration = 47619048 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 3264 x 1848 FR = 28.000001 fps Duration = 35714284 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1920 x 1080 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1640 x 1232 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1280 x 720 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1280 x 720 FR = 120.000005 fps Duration = 8333333 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: Running with following settings:
Camera index = 0
Camera mode = 2
Output Stream W = 1920 H = 1080
seconds to Run = 0
Frame Rate = 29.999999
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
[ WARN:0@1.857] global /home/robotronik/opencv/modules/videoio/src/cap_gstreamer.cpp (1412) open OpenCV | GStreamer warning: Cannot query video position: status=0, value=-1, duration=-1
CONSUMER: Done Success
(Argus) Error InvalidState: Argus client is exiting with 2 outstanding client threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 357)
WARNING Argus: 6 client objects still exist during shutdown:
548155724480 (0x7f24000ee0)
548160724704 (0x7f24000c70)
548160725056 (0x7f24000fe0)
548160730736 (0x7f240010f0)
548160732032 (0x7f24002fe0)
548160740120 (0x7f240030f8)
robotronik@damnson:~/jetsonMV/build$ ./Robotronikaruco -c
/dev/gpiochip0 at �p� is attached to
/dev/tegra_camera_ctrl
vi-output, imx219 7-0010 at platform:54080000.vi:0 is attached to
/dev/video0
[ERROR:0@0.380] global /home/robotronik/opencv/modules/core/src/persistence.cpp (505) open Can't open file: '../calibration//dev/gpiochip0.yaml' in read mode
Failed to read camera parameters for ../calibration//dev/gpiochip0
[ERROR:0@0.380] global /home/robotronik/opencv/modules/core/src/persistence.cpp (505) open Can't open file: '../calibration/vi-output, imx219 7-0010.yaml' in read mode
Failed to read camera parameters for ../calibration/vi-output, imx219 7-0010
Starting calibration of camera index0
Opening device at "nvarguscamerasrc ! nvvidconv ! videoconvert ! appsink" with API id 1800
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 3264 x 2464 FR = 21.000000 fps Duration = 47619048 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 3264 x 1848 FR = 28.000001 fps Duration = 35714284 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1920 x 1080 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1640 x 1232 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1280 x 720 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1280 x 720 FR = 120.000005 fps Duration = 8333333 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: Running with following settings:
Camera index = 0
Camera mode = 2
Output Stream W = 1920 H = 1080
seconds to Run = 0
Frame Rate = 29.999999
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
nvbuf_utils: Can not get HW buffer from FD... Exiting...
CONSUMER: ERROR OCCURRED
[ WARN:0@2.552] global /home/robotronik/opencv/modules/videoio/src/cap_gstreamer.cpp (2409) handleMessage OpenCV | GStreamer warning: Embedded video playback halted; module nvarguscamerasrc0 reported: CANCELLED
GST_ARGUS: Cleaning up
^C
robotronik@damnson:~/jetsonMV/build$ systemctl restart nvargus-daemon.service
robotronik@damnson:~/jetsonMV/build$ ./Robotronikaruco -c
/dev/gpiochip0 at u_� is attached to
/dev/tegra_camera_ctrl
vi-output, imx219 7-0010 at platform:54080000.vi:0 is attached to
/dev/video0
[ERROR:0@0.377] global /home/robotronik/opencv/modules/core/src/persistence.cpp (505) open Can't open file: '../calibration//dev/gpiochip0.yaml' in read mode
Failed to read camera parameters for ../calibration//dev/gpiochip0
[ERROR:0@0.377] global /home/robotronik/opencv/modules/core/src/persistence.cpp (505) open Can't open file: '../calibration/vi-output, imx219 7-0010.yaml' in read mode
Failed to read camera parameters for ../calibration/vi-output, imx219 7-0010
Starting calibration of camera index0
Opening device at "nvarguscamerasrc ! nvvidconv ! videoconvert ! appsink" with API id 1800
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 3264 x 2464 FR = 21.000000 fps Duration = 47619048 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 3264 x 1848 FR = 28.000001 fps Duration = 35714284 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1920 x 1080 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1640 x 1232 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1280 x 720 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1280 x 720 FR = 120.000005 fps Duration = 8333333 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: Running with following settings:
Camera index = 0
Camera mode = 2
Output Stream W = 1920 H = 1080
seconds to Run = 0
Frame Rate = 29.999999
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
nvbuf_utils: Can not get HW buffer from FD... Exiting...
CONSUMER: ERROR OCCURRED
[ WARN:0@2.650] global /home/robotronik/opencv/modules/videoio/src/cap_gstreamer.cpp (2409) handleMessage OpenCV | GStreamer warning: Embedded video playback halted; module nvarguscamerasrc0 reported: CANCELLED
GST_ARGUS: Cleaning up
^C
robotronik@damnson:~/jetsonMV/build$
As you can see, and as I said before, it only runs once, then argus doesn’t recover. Restarting the daemon doesn’t help, as can be seen, and restarting the jetson doesn’t either. There seems to be something in OpenCV that doesn’t correctly call the gstreamer destructors; and that argus doesn’t like…
Fixing this would fix everything for me.
I hope the above log can help.
Regards.