Access Violation on Mat::deallocate() (Bug #953)
Description
Error can be reproduced with following code.
int _tmain(int argc, _TCHAR* argv[])
{
Mat image;
Mat scaledImage;
image.create(1000,1000,CV_8UC3);
resize(image, scaledImage, Size(), 0.33, 0.33, INTER_CUBIC);
scaledImage.release();
return 0;
}
Upon returning from resize(), scaledImage is correct. When deallocate() is called from within release() it causes an access violation. It seems to have something to do with scaledImage being allocated by resize(), but I can't sort it out.
If I allocate scaledImage and call resize with scaledImage.size() and fx=fy=0, then scaledImage.release() works fine.
I am using Visual C++ Express 2010 on Windows 7. Compiling as 32 bit code.
Associated revisions
Merge pull request #953 from jet47:fix-bug-3069
Merge remote-tracking branch 'origin/2.4' into merge-2.4
Merged pull requests:
#890 from caorong:patch-1
#893 from jet47:gpu-arm-fixes
#933 from pengx17:2.4_macfix_cont
#935 from pengx17:2.4_filter2d_fix
#936 from bitwangyaoyao:2.4_perf
#937 from bitwangyaoyao:2.4_fixPyrLK
#938 from pengx17:2.4_surf_sample
#939 from pengx17:2.4_getDevice
#940 from SpecLad:autolock
#941 from apavlenko:signed_char
#946 from bitwangyaoyao:2.4_samples2
#947 from jet47:fix-gpu-arm-build
#948 from jet47:cuda-5.5-support
#952 from SpecLad:jepg
#953 from jet47:fix-bug-3069
#955 from SpecLad:symlink
#957 from pengx17:2.4_fix_corner_detector
#959 from SpecLad:qt4-build
#960 from SpecLad:extra-modules
Conflicts:
modules/core/include/opencv2/core/core.hpp
modules/gpu/CMakeLists.txt
modules/gpu/include/opencv2/gpu/device/vec_math.hpp
modules/gpu/perf/perf_video.cpp
modules/gpuimgproc/src/cuda/hough.cu
modules/ocl/include/opencv2/ocl/ocl.hpp
modules/ocl/src/pyrlk.cpp
samples/gpu/driver_api_multi.cpp
samples/gpu/driver_api_stereo_multi.cpp
samples/ocl/surf_matcher.cpp
History
Updated by Vadim Pisarevsky almost 14 years ago
The problem can not be reproduced on my machine. Make sure you link debug version of opencv to debug version of your application and release version of opencv to release version of your application.
- Status changed from Open to Done
- (deleted custom field) set to worksforme