[Cbc] Crash in postprocessing model with missing column names.

John Forrest john.forrest at fastercoin.com
Wed Apr 2 07:22:09 EDT 2014


David,

Sequence was -

names not wanted add columns
names wanted add a row - row gets a name but columns don't as size did 
not increase

Fixed in stable - will be fixed in trunk next time I update

John

On 01/04/14 16:09, David Einstein wrote:
> The attached code crashes with the following stack trace
>
> #0  0x00000031c9ebefcb in std::basic_string<char, 
> std::char_traits<char>, std::allocator<char> 
> >::basic_string(std::string const&) () from /lib64/libstdc++.so.6
> #1  0x0000000000454419 in 
> __gnu_cxx::new_allocator<std::string>::construct (this=0x7fff32c8dd10, 
> __p=0x3ea79a0,
>     __val=<error reading variable: Cannot access memory at address 
> 0xffffffffffffffe8>) at /usr/include/c++/4.8.2/ext/new_allocator.h:130
> #2  0x00000000004530fc in 
> __gnu_cxx::__alloc_traits<std::allocator<std::string> 
> >::construct<std::string> (__a=..., __p=0x3ea79a0,
>     __arg=<error reading variable: Cannot access memory at address 
> 0xffffffffffffffe8>) at /usr/include/c++/4.8.2/ext/alloc_traits.h:216
> #3  0x0000000000452600 in std::vector<std::string, 
> std::allocator<std::string> >::push_back (this=0x7fff32c8dd10,
>     __x=<error reading variable: Cannot access memory at address 
> 0xffffffffffffffe8>) at /usr/include/c++/4.8.2/bits/stl_vector.h:905
> #4  0x000000000072843f in ClpPresolve::gutsOfPresolvedModel 
> (this=0x2dbecd0, originalModel=0x285a3a0, feasibilityTolerance=1e-08, 
> keepIntegers=true, numberPasses=5,
>     dropNames=false, doRowObjective=false, prohibitedRows=0x0, 
> prohibitedColumns=0x0) at ../../../coin-Cbc/Clp/src/ClpPresolve.cpp:2418
> #5  0x000000000072049e in ClpPresolve::presolvedModel (this=0x2dbecd0, 
> si=..., feasibilityTolerance=1e-08, keepIntegers=true, numberPasses=5, 
> dropNames=false,
>     doRowObjective=false, prohibitedRows=0x0, prohibitedColumns=0x0) 
> at ../../../coin-Cbc/Clp/src/ClpPresolve.cpp:119
> #6  0x000000000069d343 in OsiClpSolverInterface::initialSolve 
> (this=0x2859910) at 
> ../../../../coin-Cbc/Clp/src/OsiClp/OsiClpSolverInterface.cpp:231
> #7  0x000000000062a8ff in CglPreProcess::postProcess 
> (this=0x7fff32c905d0, modelIn=..., deleteStuff=true) at 
> ../../../../coin-Cbc/Cgl/src/CglPreProcess/CglPreProcess.cpp:3862
> #8  0x0000000000437bef in CbcMain1 (argc=7, argv=0x7fff32c96980, 
> model=..., callBack=0x41f4aa <dummyCallBack(CbcModel*, int)>, 
> parameterData=...)
>     at ../../../coin-Cbc/Cbc/src/CbcSolver.cpp:6648
> #9  0x000000000041fe92 in CbcMain1 (argc=7, argv=0x7fff32c96980, 
> model=..., callBack=0x41f4aa <dummyCallBack(CbcModel*, int)>) at 
> ../../../coin-Cbc/Cbc/src/CbcSolver.cpp:1289
> #10 0x000000000041fb90 in CbcMain1 (argc=7, argv=0x7fff32c96980, 
> model=...) at ../../../coin-Cbc/Cbc/src/CbcSolver.cpp:1159
> #11 0x00000000004062f8 in main (argc=1, argv=0x7fff32c97c18) at 
> galton11.cpp:295
>
> Removing the #if 0 .. #endif on lines 246 and 249 makes things run 
> well.  Turning off preprocessing also works.  I suspect that I should 
> have built the model as an OsiClpSolverInterface directly instead of 
> building a ClpSimplex and constructing the OsiClpSolverInterface from 
> that.
>
>
>
> _______________________________________________
> Cbc mailing list
> Cbc at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/cbc

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/cbc/attachments/20140402/df11604e/attachment.html>


More information about the Cbc mailing list