Jetpack verison 4.5.1
Hey there,
I am running inference on a Jetson Nano using a CSI camera and it works well. I am using a setup similar to the detect-net tutorial here: jetson-inference/detectnet-example-2.md at master · dusty-nv/jetson-inference · GitHub
However, when the camera is not plugged in and when I call “.Capture()” I go into a sort of deadlock state where the python is unresponsive as it waits for the “.Capture()” call to return. The capture call fails and prints the following error to stdout.
(python3:15801): GStreamer-CRITICAL **: 14:13:55.198: gst_mini_object_set_qdata: assertion 'object != NULL' failed
[gstreamer] gstCamera -- end of stream (EOS)
(Argus) Error EndOfFile: Unexpected error in reading socket (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 266)
(Argus) Error EndOfFile: Receiving thread terminated with error (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadWrapper(), line 368)
Weirdly this does not crash the program but rather causes the program to hang and not even respond to ^C.
I am aware that the Jetson.utils C++ interface returns a boolean when Capture() fails but it seems the python call just hangs.
My goal is to exit the process when the camera fails and retry later using systemd. Any input on how I can detect that my camera will error out before this deadlock occurs would be great!
Thanks