CvEM read issue, Assertion failed in the clear() method (Patch #1570)


Added by mr.pppoe - about 13 years ago. Updated almost 13 years ago.


Status:Done Start date:
Priority:Normal Due date:
Assignee:Maria Dimashova % Done:

0%

Category:ml
Target version:2.4.0
Affected version: Operating System:
Difficulty: HW Platform:
Pull request:

Description

A sample program is attached.

After CvEM read from a file, when the lifetime of the instance of CvEM terminated, the program crashes.

The reason is, when CvEM reads the covs and rotated_cov_mats, covs is allocated the whole memory block required by covs and rotated_cov_mats, and rotated_cov_mats = covs + [some offset]

This leads to a "double delete" in the destructor of CvEM, since when the memory pointed by covs is released, rotated_cov_mats becomes a wild pointer, so a "delete rotated_cov_mats" crash the program.


em_read.diff (2.3 kB) mr.pppoe -, 2012-01-27 05:18 pm

em_bug.cpp (952 Bytes) mr.pppoe -, 2012-01-27 05:18 pm


Associated revisions

Revision 8d9d9645
Added by Maria Dimashova almost 13 years ago

added smoke test on EM, fixed EM reading #1570 (thanks to mr.pppoe),

Revision 95b3a344
Added by Roman Donchenko over 11 years ago

Merge pull request #1570 from ilya-lavrenov:ipp_warn_fix

Revision e8451848
Added by Alexander Alekhin over 11 years ago

Merge remote-tracking branch 'upstream/2.4' into merge-2.4

  • #1538 from StevenPuttemans:bugfix_3283
  • #1545 from alalek:ocl_test_fix_rng
  • #1551 from alalek:cmake_install_win
  • #1570 from ilya-lavrenov:ipp_warn_fix
  • #1573 from alalek:perf_simple_strategy
  • #1574 from alalek:svm_workaround
  • #1576 from alalek:ocl_fix_cl_double
  • #1577 from ilya-lavrenov:ocl_setto_opencl12
  • #1578 from asmorkalov:android_fd_cp_fix
  • #1579 from ilya-lavrenov:ocl_norm
  • #1582 from sperrholz:ocl-arithm-additions
  • #1586 from ilya-lavrenov:ocl_setto_win_fix
  • #1589 from ilya-lavrenov:pr1582_fix
  • #1591 from alalek:ocl_remove_cl_hpp_h
  • #1592 from alalek:ocl_program_cache_update
  • #1593 from ilya-lavrenov:ocl_war_on_double
  • #1594 from ilya-lavrenov:ocl_perf
  • #1595 from alalek:cl_code_cleanup
  • #1596 from alalek:test_fix_run_py
  • #1597 from alalek:ocl_fix_cleanup
  • #1598 from alalek:ocl_fix_build_mac
  • #1599 from ilya-lavrenov:ocl_mac_kernel_warnings
  • #1601 from ilya-lavrenov:ocl_fix_tvl1_and_sparse
  • #1602 from alalek:ocl_test_dump_info
  • #1603 from ilya-lavrenov:ocl_disable_svm_noblas
  • #1605 from alalek:ocl_fixes
  • #1606 from ilya-lavrenov:ocl_imgproc
  • #1607 from ilya-lavrenov:ocl_fft_cleanup
  • #1608 from alalek:fix_warn_upd_haar
  • #1609 from ilya-lavrenov:ocl_some_optimization
  • #1610 from alalek:ocl_fix_perf_kalman
  • #1612 from alalek:ocl_fix_string_info
  • #1614 from ilya-lavrenov:ocl_svm_misprint
  • #1616 from ilya-lavrenov:ocl_cvtColor
  • #1617 from ilya-lavrenov:ocl_info
  • #1622 from a0byte:2.4
  • #1625 from ilya-lavrenov:to_string

Conflicts:
cmake/OpenCVConfig.cmake
cmake/OpenCVDetectPython.cmake
cmake/OpenCVGenConfig.cmake
modules/core/CMakeLists.txt
modules/nonfree/src/surf.ocl.cpp
modules/ocl/include/opencv2/ocl/ocl.hpp
modules/ocl/include/opencv2/ocl/private/util.hpp
modules/ocl/perf/main.cpp
modules/ocl/src/arithm.cpp
modules/ocl/src/cl_operations.cpp
modules/ocl/src/cl_programcache.cpp
modules/ocl/src/color.cpp
modules/ocl/src/fft.cpp
modules/ocl/src/filtering.cpp
modules/ocl/src/gemm.cpp
modules/ocl/src/haar.cpp
modules/ocl/src/imgproc.cpp
modules/ocl/src/matrix_operations.cpp
modules/ocl/src/pyrlk.cpp
modules/ocl/src/split_merge.cpp
modules/ocl/src/svm.cpp
modules/ocl/test/main.cpp
modules/ocl/test/test_fft.cpp
modules/ocl/test/test_moments.cpp
modules/ocl/test/test_objdetect.cpp
modules/ocl/test/test_optflow.cpp
modules/ocl/test/utility.hpp
modules/python/CMakeLists.txt
modules/ts/include/opencv2/ts.hpp
modules/ts/src/ts_perf.cpp
samples/android/face-detection/jni/DetectionBasedTracker_jni.cpp

History

Updated by Alexander Shishkov about 13 years ago

  • Description changed from A sample program is attached. After [[CvEM]] read from a file, when the lif... to A sample program is attached. After CvEM read from a file, when the lifetim... More

Updated by Alexander Shishkov almost 13 years ago

  • Tracker changed from Feature to Patch
  • Target version deleted ()

Updated by Alexander Shishkov almost 13 years ago

  • Priority changed from High to Normal

Updated by Alexander Shishkov almost 13 years ago

  • Assignee deleted (mr.pppoe -)

Updated by Maria Dimashova almost 13 years ago

Thanks for the report. The patch was applied in r7723. Corresponding test was added in the same revision.

  • Status changed from Open to Done
  • Assignee set to Maria Dimashova

Updated by Alexander Shishkov almost 13 years ago

  • Target version set to 2.4.0

Also available in: Atom PDF