GStreamer-CRITICAL gst_mini_object_set_qdata: assertion ‘object != NULL’ failed
OR segmentation fault (core dump)
Hi, I am having issues cv2 and Gstreamer with a Raspberry PI camera (v2) on Jetson Nano
They started with ‘segmentation fault (core dump)’ for the simplist code but, in its defence, I think once its ‘core dumped’ the world is off its axis a bit and it is easy to retrigger.
This was with jetpack 4.5.1 and cv2 which was built (without qt5) using instructions at Install OpenCV 4.5 on Jetson Nano - Q-engineering
I tried it with cv2 4.5.2 and 4.5.1 and the results were the same.
As best I can tell the error occurs somewhere within
camera.release()
Often the program will work fine until that point.
In the test program it will print(“about to camera.release()”) but never gets to print("about to destroyAllWindows() ")
I then dropped back to jetpack 4.4.1 by doing a fresh flash.
I am not sure how kosher this pack is now as it immediatly went and updated, or half updated, itself and is giving ‘I am unhappy’ problem reports ever since
Again I built cv2 from the same source and instructions.
This time the test module gives an error “GStreamer-CRITICAL gst_mini_object_set_qdata: assertion ‘object != NULL’ failed”
at the same line - camera.release() but it recovers enough to continue to the end.
I also believe there is a correlation to the captured width/height vs the displayed width/height as seen in the spreadsheet.
For jetpack 4.5 the ‘fail’ means ‘segmentation fault (core dump)’ whereas for 4.4.1 it is “GStreamer-CRITICAL gst_mini_object_set_qdata: assertion ‘object != NULL’ failed”
some of these may be silly requests (like displaying more than you captured) but note it does do it, it just crashes on release.
BUT I dont think it should get so upset as to dump, eg capture at 1280x720 and display at 640x480 is not unreasonable.
The things passed with ‘nvarguscamerasrc’ are complete black magic to me. I have not been able to find an english version of what all that means so most settings are from whatever web site I started at.
Any help would be appreciated - If its just a silly parameter to ‘nvarguscamerasrc’ then its lucky I have time to spare :)
If it is a real bug then please advise where I could report it.
p.s. I have no interest in getting 4.4.1 working - I just fell back to see if that got rid of the error
video_matrix_combos.ods (14.7 KB)
test code to reproduce the problem =
cv2-seg_fault_test.py (1.5 KB)
camSet='nvarguscamerasrc ! video/x-raw(memory:NVMM), \
width='+str(captureSize[0])+', \
height='+str(captureSize[1])+', \
format=NV12, \
framerate='+str(captureSize[2])+'/1 ! nvvidconv flip-method='+str(flip)+' ! video/x-raw, \
width='+str(displaySize[0])+', \
height='+str(displaySize[1])+', \
format=BGRx ! videoconvert ! video/x-raw, \
format=BGR ! appsink'
Thanks jc