I'm having a lot of intermittent buy frequent aborts raised by this assertion:
|
CV_Assert(u->origdata == data); |
inside a loop doing face detection and tracking. It usually happens on the tracking part, FaceEngine.hpp:135
I'm not sure if it's a real bug or a miss use on my side but some sort of race condition is involved on opencv/ocl library/driver side since it is not exactly 100% reproducible (it's somewhere around 70~50%) and depends on run modes and input timming.
You can find attached the outputs of clinfo, getBuildInformation() and a sample project.
opencv-repro.tar.gz
clinfo.txt
getBuildInformation.txt
To reproduce the error, run the sample using the "StaticFrameProvider" (as provided). Plz try several times alternating between "run" and "debug" modes if using an IDE (I'm using CLion). Although it fails too if make and run from the command line.
You can also change main.cpp line 36 with the "OpenCvFrameProvider" that uses opencv::VideoCapture.
When using VideoCapture, the behavior becomes even more weird on an IDE, as launching the program in debug mode will most likely (but not always) result in an abort the first time a cv::Tracker is updated. Otoh if launch in "run" mode, it will only result in an abort if the very first frame contains a face but not if a face appears later in front of the camera.
I tried making copies and clones of the "colorFrame" variable (lenna image or frame from cv::VideoCapture over a webcam) before passing it to the Tracker but it doesn't help much.
I'm having a lot of intermittent buy frequent aborts raised by this assertion:
opencv/modules/core/src/ocl.cpp
Line 4908 in 4700722
inside a loop doing face detection and tracking. It usually happens on the tracking part, FaceEngine.hpp:135
I'm not sure if it's a real bug or a miss use on my side but some sort of race condition is involved on opencv/ocl library/driver side since it is not exactly 100% reproducible (it's somewhere around 70~50%) and depends on run modes and input timming.
You can find attached the outputs of clinfo, getBuildInformation() and a sample project.
opencv-repro.tar.gz
clinfo.txt
getBuildInformation.txt
To reproduce the error, run the sample using the "StaticFrameProvider" (as provided). Plz try several times alternating between "run" and "debug" modes if using an IDE (I'm using CLion). Although it fails too if make and run from the command line.
You can also change main.cpp line 36 with the "OpenCvFrameProvider" that uses opencv::VideoCapture.
When using VideoCapture, the behavior becomes even more weird on an IDE, as launching the program in debug mode will most likely (but not always) result in an abort the first time a cv::Tracker is updated. Otoh if launch in "run" mode, it will only result in an abort if the very first frame contains a face but not if a face appears later in front of the camera.
I tried making copies and clones of the "colorFrame" variable (lenna image or frame from cv::VideoCapture over a webcam) before passing it to the Tracker but it doesn't help much.