Skip to content

Error freeing memory LibSVM when exiting sample application #5115

@spiovesan

Description

@spiovesan

I build shogun master on Windows 10 x64, VisualStudio 2019.
I built the sample classifier_minimal_svm, it works but I get this error exiting the application

Critical error detected c0000374
classifier_minimal_svm.exe has triggered a breakpoint.

Exception thrown at 0x00007FFC395DB0B9 (ntdll.dll) in classifier_minimal_svm.exe: 0xC0000374: A heap has been corrupted 
(parameters: 0x00007FFC396427F0).
Unhandled exception at 0x00007FFC395DB0B9 (ntdll.dll) in classifier_minimal_svm.exe: 0xC0000374: A heap has been corrupted (parameters: 0x00007FFC396427F0).

This is the stack trace:

ntdll.dll!00007ffc395db0b9()	Unknown
ntdll.dll!00007ffc395db083()	Unknown
ntdll.dll!00007ffc395e390e()	Unknown
ntdll.dll!00007ffc395e3c1a()	Unknown
ntdll.dll!00007ffc3957ecb1()	Unknown
ntdll.dll!00007ffc3958ce62()	Unknown
ucrtbase.dll!00007ffc357ec7eb()	Unknown
classifier_minimal_svm.exe!shogun::sg_free(void * ptr) Line 186	C++
classifier_minimal_svm.exe!shogun::sg_generic_free<int,0>(int * ptr) Line 124	C++
classifier_minimal_svm.exe!shogun::SGVector<int>::free_data() Line 405	C++
classifier_minimal_svm.exe!shogun::SGReferencedData::unref() Line 102	C++
classifier_minimal_svm.exe!shogun::SGVector<int>::~SGVector<int>() Line 173	C++
classifier_minimal_svm.exe!shogun::KernelMachine::~KernelMachine() Line 79	C++
classifier_minimal_svm.exe!shogun::SVM::~SVM() Line 40	C++
classifier_minimal_svm.exe!shogun::LibSVM::~LibSVM() Line 37	C++
classifier_minimal_svm.exe!shogun::LibSVM::`scalar deleting destructor'(unsigned int)	C++
classifier_minimal_svm.exe!std::_Destroy_in_place<shogun::LibSVM>(shogun::LibSVM & _Obj) Line 269	C++
classifier_minimal_svm.exe!std::_Ref_count_obj2<shogun::LibSVM>::_Destroy() Line 1446	C++
classifier_minimal_svm.exe!std::_Ref_count_base::_Decref() Line 542	C++
classifier_minimal_svm.exe!std::_Ptr_base<shogun::LibSVM>::_Decref() Line 776	C++
classifier_minimal_svm.exe!std::shared_ptr<shogun::LibSVM>::~shared_ptr<shogun::LibSVM>() Line 1034	C++
classifier_minimal_svm.exe!main(int argc, char * * argv) Line 41	C++
[Inline Frame] classifier_minimal_svm.exe!invoke_main() Line 78	C++
classifier_minimal_svm.exe!__scrt_common_main_seh() Line 288	C++

I see in previous release there was this line of code now removed

// free up memory
SG_UNREF(svm);

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions