[SCIP] Multiple SCIP_ConsData cause heap corruption

Horváth Markó marko.horvath at sztaki.hu
Thu Oct 22 10:37:55 CEST 2020


Dear All,

I am working on a branch-and-price project using SCIP, but I got stuck 
on something. Actually, I reduced my problem to a "simple" C++ issue, 
but due to the design of SCIP maybe you have already run into this 
problem and know the solution.

So, my problem is that I have three different user-defined constraints 
and thus three different user-defined constraint data, that is, three 
different structures in three different .cpp files with the same name: 
SCIP_ConsData. (Due to the design of SCIP, I must use this name for all 
structures). Everything was fine when I used only the first two 
constraints (it was also a luck, I guess), however, the third one ruined 
everything. The problem is that in runtime these structures are mixed up 
which causes a heap corruption.

More precisely, I have three SCIP_ConsData structures in different .cpp 
files (say, one.cpp, two.cpp, three.cpp) and when I want to create a new 
instance of the corresponding SCIP_ConsData in file two.cpp, the 
structure in file one.cpp is going to be created. Later, it will cause a 
heap corruption.

What should I do to fix this issue?

I attach a very minimal working example for this phenomenon. I use 
Visual Studio 2019 under Windows 10 with C++17 Standard.

Best Regards,
Marko
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mwe.zip
Type: application/x-zip-compressed
Size: 1290 bytes
Desc: not available
URL: <http://listserv.zib.de/pipermail/scip/attachments/20201022/75e4e311/attachment.bin>


More information about the Scip mailing list