Valgrind reported errors in findStereoCorrespondenceBM (Bug #2849)
Description
There are several errors of uninitialised values and conditional jumps depending on these reported by valgrind when running findStereoCorrespondenceBM(). To reproduce the issue just run the stereo_match.cpp example in samples folder with valgrind.
Some of the errors are:
==31817== Use of uninitialised value of size 4 ==31817== at 0x456DDB2: cv::FindStereoCorrespInvoker::operator()(cv::BlockedRange const&) const (in /opt/ros/fuerte/lib/libopencv_calib3d.so.2.4.3) ==31817== by 0x456F96B: cv::findStereoCorrespondenceBM(cv::Mat const&, cv::Mat const&, cv::Mat&, CvStereoBMState*) (in /opt/ros/fuerte/lib/libopencv_calib3d.so.2.4.3) ==31817== by 0x4570F02: cv::StereoBM::operator()(cv::_InputArray const&, cv::_InputArray const&, cv::_OutputArray const&, int) (in /opt/ros/fuerte/lib/libopencv_calib3d.so.2.4.3) ==31817== by 0x1: ??? ==31817== ==31817== Conditional jump or move depends on uninitialised value(s) ==31817== at 0x456DE61: cv::FindStereoCorrespInvoker::operator()(cv::BlockedRange const&) const (in /opt/ros/fuerte/lib/libopencv_calib3d.so.2.4.3) ==31817== by 0x456F96B: cv::findStereoCorrespondenceBM(cv::Mat const&, cv::Mat const&, cv::Mat&, CvStereoBMState*) (in /opt/ros/fuerte/lib/libopencv_calib3d.so.2.4.3) ==31817== by 0x4570F02: cv::StereoBM::operator()(cv::_InputArray const&, cv::_InputArray const&, cv::_OutputArray const&, int) (in /opt/ros/fuerte/lib/libopencv_calib3d.so.2.4.3) ==31817== by 0x1: ??? ==31817== ==31817== Conditional jump or move depends on uninitialised value(s) ==31817== at 0x456DEA1: cv::FindStereoCorrespInvoker::operator()(cv::BlockedRange const&) const (in /opt/ros/fuerte/lib/libopencv_calib3d.so.2.4.3) ==31817== by 0x456F96B: cv::findStereoCorrespondenceBM(cv::Mat const&, cv::Mat const&, cv::Mat&, CvStereoBMState*) (in /opt/ros/fuerte/lib/libopencv_calib3d.so.2.4.3) ==31817== by 0x4570F02: cv::StereoBM::operator()(cv::_InputArray const&, cv::_InputArray const&, cv::_OutputArray const&, int) (in /opt/ros/fuerte/lib/libopencv_calib3d.so.2.4.3) ==31817== by 0x1: ??? ==31817== ==31817== Conditional jump or move depends on uninitialised value(s) ==31817== at 0x456DED5: cv::FindStereoCorrespInvoker::operator()(cv::BlockedRange const&) const (in /opt/ros/fuerte/lib/libopencv_calib3d.so.2.4.3) ==31817== by 0x456F96B: cv::findStereoCorrespondenceBM(cv::Mat const&, cv::Mat const&, cv::Mat&, CvStereoBMState*) (in /opt/ros/fuerte/lib/libopencv_calib3d.so.2.4.3) ==31817== by 0x4570F02: cv::StereoBM::operator()(cv::_InputArray const&, cv::_InputArray const&, cv::_OutputArray const&, int) (in /opt/ros/fuerte/lib/libopencv_calib3d.so.2.4.3) ==31817== by 0x1: ???
Associated revisions
Merge pull request #2849 from ElenaGvozdeva:ocl_matchTemplate_3cn
History
Updated by Vadim Pisarevsky almost 10 years ago
I would consider this as obsolete; StereoBM has been adjusted since then and the 1:1 OpenCL branch has been created too. Hopefully, the bug has been fixed.
- Status changed from Open to Cancelled
- HW Platform set to Any
- Operating System set to Any
- Affected version changed from 2.4.3 to 2.4.0 - 2.4.8