Access Violation on Mat::deallocate() (Bug #953)


Added by Phil Freeman almost 14 years ago. Updated almost 14 years ago.


Status:Done Start date:
Priority:High Due date:
Assignee:Vadim Pisarevsky % Done:

0%

Category:core
Target version:-
Affected version: Operating System:
Difficulty: HW Platform:
Pull request:

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

Revision 7f9675bc
Added by Roman Donchenko almost 12 years ago

Merge pull request #953 from jet47:fix-bug-3069

Revision 3bfc6974
Added by Roman Donchenko almost 12 years ago

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

Also available in: Atom PDF