[Cbc] Segfault dealing with infeasible lp

John Forrest john.forrest at fastercoin.com
Mon Jan 9 12:35:29 EST 2017


Will look at it.

John Forrest
On 09/01/17 17:20, Haroldo Gambini Santos wrote:
>
> Hi All,
>
> I confirm this bug, happens in the stable branch with this problem:
>
> cbc: ClpSimplex.cpp:550: int ClpSimplex::gutsOfSolution(double*, const 
> double*, bool): Assertion `nonLinearCost_' failed
>
> the backtrace is:
>
> #0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:58
> #1  0x00007ffff6c443ea in __GI_abort () at abort.c:89
> #2  0x00007ffff6c3abb7 in __assert_fail_base (fmt=<optimized out>, 
> assertion=assertion at entry=0x7ffff66c6842 "nonLinearCost_",
>     file=file at entry=0x7ffff66c65f4 "ClpSimplex.cpp", line=line at entry=550,
>     function=function at entry=0x7ffff66c77e0 
> <ClpSimplex::gutsOfSolution(double*, double const*, 
> bool)::__PRETTY_FUNCTION__> "int ClpSimplex::gutsOfSolution(double*, 
> const double*, bool)") at assert.c:92
> #3  0x00007ffff6c3ac62 in __GI___assert_fail 
> (assertion=assertion at entry=0x7ffff66c6842 "nonLinearCost_", 
> file=file at entry=0x7ffff66c65f4 "ClpSimplex.cpp",
>     line=line at entry=550,
>     function=function at entry=0x7ffff66c77e0 
> <ClpSimplex::gutsOfSolution(double*, double const*, 
> bool)::__PRETTY_FUNCTION__> "int ClpSimplex::gutsOfSolution(double*, 
> const double*, bool)") at assert.c:101
> #4  0x00007ffff663e0b3 in ClpSimplex::gutsOfSolution 
> (this=this at entry=0x555555784970, givenDuals=givenDuals at entry=0x0, 
> givenPrimals=givenPrimals at entry=0x0,
>     valuesPass=true) at ClpSimplex.cpp:550
> #5  0x00007ffff668e8a5 in ClpSimplexPrimal::statusOfProblemInPrimal 
> (this=this at entry=0x555555784970, lastCleaned=@0x7fffffff49bc: 0, 
> type=type at entry=0,
>     progress=progress at entry=0x555555784f00, 
> doFactorization=doFactorization at entry=true, 
> ifValuesPass=ifValuesPass at entry=1, originalModel=0x0)
>     at ClpSimplexPrimal.cpp:1363
> #6  0x00007ffff6692243 in ClpSimplexPrimal::primal 
> (this=this at entry=0x555555784970, ifValuesPass=ifValuesPass at entry=1,
>     startFinishOptions=startFinishOptions at entry=2) at 
> ClpSimplexPrimal.cpp:361
> #7  0x00007ffff662efaa in ClpSimplex::dual 
> (this=this at entry=0x555555784970, ifValuesPass=ifValuesPass at entry=0, 
> startFinishOptions=2,
>     startFinishOptions at entry=0) at ClpSimplex.cpp:5656
> #8  0x00007ffff66a2920 in ClpSimplex::initialSolve 
> (this=this at entry=0x555555784970, options=...) at ClpSolve.cpp:1881
> #9  0x00007ffff75a8044 in OsiClpSolverInterface::initialSolve 
> (this=0x555555783ef0) at OsiClpSolverInterface.cpp:731
> #10 0x00007ffff78639fe in CbcModel::initialSolve 
> (this=this at entry=0x7fffffffd730) at CbcModel.cpp:5359
> #11 0x00007ffff7b6dc31 in CbcMain1 (argc=<optimized out>, 
> argv=<optimized out>, model=..., callBack=<optimized out>, 
> parameterData=...)
>     at CbcSolver.cpp:3669
> #12 0x0000555555554c4d in main (argc=2, argv=0x7fffffffdd58) at 
> CoinSolve.cpp:336
>
>
> Em 09/01/2017 14:25, Luís Borges de Oliveira escreveu:
>> Hello,
>>
>> We've come across an infeasible lp that causes CBC to segfault:
>>
>>     Welcome to the CBC MILP Solver
>>     Version: 2.9
>>     Build Date: Jan  5 2017
>>     Revision Number: 2315
>>
>>     command line - Z:\siscog\sc-cbc\coin-or-cbc\build\bin\cbc.exe
>>     infeasible.lp (default strategy 1)
>>
>>     Program received signal SIGSEGV, Segmentation fault.
>>     0x0000000000737f80 in
>>     ClpNonLinearCost::checkInfeasibilities(double) ()
>>
>> An attempt to minimise the lp size made the problem go away, so here 
>> is the full lp: 
>> https://drive.google.com/open?id=0B4aZo5-t5mnHQUlFWU1BRHRMRDA (4.5 MB).
>>
>> In case it helps, the infeasibility stems from following constraints 
>> and binary variables:
>>
>>     cnd(R51,16): + a(R51,16,D141) + a(R51,17,D1093) + a(R51,19,D513) <= 2
>>     s_a(R51,16): + a(R51,16,D141) = 1
>>     s_a(R51,17): + a(R51,17,D1093) = 1
>>     s_a(R51,19): + a(R51,19,D513) = 1
>>
>>
>> Cheers,
>> Luís
>>
>>
>> _______________________________________________
>> Cbc mailing list
>> Cbc at list.coin-or.org
>> https://urldefense.proofpoint.com/v2/url?u=http-3A__list.coin-2Dor.org_mailman_listinfo_cbc&d=CwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=pLOfVNEEHf-xhIqn1-uzYcZ6Q7UefG6Bg6rXCKTMiAA&m=094IZaNMengJ9eeuVPgqbxlGj4L26TDNRKmRuNmk-xs&s=ukkY4q-PJ8T7GzvmD7n6OfD97Q3B6mqBWQXXK8MFTn0&e=  
>
> -- 
> ==================================================
> Haroldo Gambini Santos
> D.Sc, Computer Science
> Universidade Federal de Ouro Preto
> http://www.decom.ufop.br/haroldo/
>
>
> _______________________________________________
> 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/20170109/674245ab/attachment.html>


More information about the Cbc mailing list