[Cbc] Segfault dealing with infeasible lp

Haroldo Gambini Santos haroldo.santos at gmail.com
Mon Jan 9 12:20:29 EST 2017


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/

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


More information about the Cbc mailing list