<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Needs 36000 nodes when I try - but it
does get assert.<br>
<br>
Will look into it.<br>
<br>
John Forrest<br>
On 22/10/12 19:36, Haroldo Santos wrote:<br>
</div>
<blockquote
cite="mid:CACO7Fp2E-oso8bGt_fZ7GsMBz65i=Cg_TWswDSDqGbcbh0p_wg@mail.gmail.com"
type="cite">
<meta http-equiv="Context-Type" content="text/html; charset=UTF-8">
I confirm this bug - it also exists in the sequential version of
CBC.<br>
<br>
There is a simple way to reproduce it, using the last CBC
revision (1792).<br>
<br>
Just run in instance glass4 from miplib<br>
<a moz-do-not-send="true"
href="http://miplib.zib.de/miplib2003/miplib2003/glass4.php">http://miplib.zib.de/miplib2003/miplib2003/glass4.php</a>
<br>
<br>
After 6000 nodes it crashes:<br>
<br>
<span>Cbc0010I After 6000 nodes, 2633 on tree, 1.9500178e+09 best
solution, best possible 8.0000498e+08 (64.08 seconds)<br>
Cbc0038I Full problem 392 rows 317 columns, reduced to 311 rows
67 columns - too large<br>
cbc: CbcSOS.cpp:303: virtual double CbcSOS::infeasibility(const
OsiBranchingInformation*, int&) const: Assertion `pi[iRow]
>= -1.0e-3' failed.<br>
</span><br>
<br>
<br>
<div class="gmail_quote">On Mon, Oct 22, 2012 at 4:14 PM, vladimir
voloshinov <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:vladimir.voloshinov@gmail.com" target="_blank">vladimir.voloshinov@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote">Dear Сbc team,<br>
can you help with the following problem.<br>
=====================<br>
Short description:<br>
A few days ago, I compiled and installed OS package (on Linux
Ubuntu 12.*)<br>
(from svn co <a moz-do-not-send="true"
href="https://projects.coin-or.org/svn/OS/releases/2.6.0"
target="_blank">https://projects.coin-or.org/svn/OS/releases/2.6.0</a>
and<br>
I replaced COIN-OS/Cbc with Cbc 2.7,7 "manually").<br>
<br>
We have a MILP problem which causes multi-threaded running of
Cbc<br>
(with more than 4 threads, release build without debugging
symbols) to<br>
throw "Segmentation fault" after long run period (hundred of
thousands<br>
nodes) in CbcModel::addCuts1(...)<br>
/* $Id: CbcModel.cpp 1783 2012-06-06 13:33:48Z stefan $ */).<br>
But on running debug build of the same COIN-OS at the same
problem<br>
caused "Assertion failed" in<br>
CbcSOS.cpp:303: virtual double CbcSOS::infeasibility() ...<br>
Assertion `pi[iRow] >= -1.0e-3' failed.<br>
So, two questions:<br>
1. Are there any recommendation to set compilation or running
options<br>
to avoid segmentation fault for multi-threaded Cbc running?<br>
2. What about that mysterious problem with assertion in
CbcSOS.cpp ?<br>
(It looks like a check of dual variables sign, but why with
double<br>
const ?!)<br>
=====================<br>
<br>
Detailed description.<br>
We are working with some job-shop schedule problem formulated
as a<br>
MILP. After some experiments with LP_SOLVE (it works too long)
and<br>
Glpk (much faster) I decided to use COIN Cbc as MILP solver.<br>
"make" and "make test" finished OK.<br>
<br>
It was everything ok until I tried to solve some MILP problem
(AMPL<br>
stub file is uploaded to<br>
<a moz-do-not-send="true"
href="http://dcs.isa.ru/%7Evladimirv/coin-or/cbc/w6_t30_shuffledDyn.nl"
target="_blank">http://dcs.isa.ru/~vladimirv/coin-or/cbc/w6_t30_shuffledDyn.nl</a>).<br>
It become a hard one and I tried to run Cbc with
multiple-threads<br>
(COIN-OS/configure had been run with --enable-cbc-parallel).<br>
After a number of running<br>
./OSSolverService -nl w6_t30_shuffledDyn.nl -osol cbc.osol<br>
(a number of threads has been set in <solverOption
name="threads"<br>
solver="cbc" value="nnn" /> tag of cbc.osol, uploaded to<br>
<a moz-do-not-send="true"
href="http://dcs.isa.ru/%7Evladimirv/coin-or/cbc/cbc.osol"
target="_blank">http://dcs.isa.ru/~vladimirv/coin-or/cbc/cbc.osol</a>)<br>
I got "Segmentation fault" error for 4, 6, 8 threads,<br>
(2-threaded sample is still running), it is worth to mention
that the SIGSEGV<br>
signal appeared after long run period (after check of hundred
thousands and<br>
even million B&B tree nodes).<br>
When I tried to detect source of error by gdb:<br>
gdb --args ./OSSolverService -nl w6_t30_shuffledDyn.nl -osol
cbc.osol<br>
I've got (see the end of sysout, after ~40000 nodes ):<br>
Program received signal SIGSEGV, Segmentation fault.<br>
[Switching to Thread 0x7ffff5e93700 (LWP 22249)]<br>
0x0000000000796a63 in CbcModel::addCuts1(CbcNode*,
CoinWarmStartBasis*&) ()<br>
(gdb) bt<br>
#0 0x0000000000796a63 in CbcModel::addCuts1(CbcNode*,
CoinWarmStartBasis*&) ()<br>
#1 0x0000000000796ea2 in CbcModel::addCuts(CbcNode*,<br>
CoinWarmStartBasis*&, bool) ()<br>
#2 0x00000000007a46fa in CbcModel::doOneNode(CbcModel*,
CbcNode*&,<br>
CbcNode*&) ()<br>
#3 0x00000000007c1c1a in doNodesThread(void*) ()<br>
#4 0x00007ffff79bce9a in start_thread () from<br>
/lib/x86_64-linux-gnu/libpthread.so.0<br>
#5 0x00007ffff69bedbd in clone () from
/lib/x86_64-linux-gnu/libc.so.6<br>
#6 0x0000000000000000 in ?? ()<br>
<br>
To get more info I compiled debug build:<br>
./configure
--prefix=/home/vladimirv/coin-or/COIN-OS/build.debug<br>
--disable-shared --enable-cbc-parallel --enable-debug<br>
"make" and "make test" finished OK.<br>
<br>
BUT, after that, the run of single thread debug version
permanently<br>
throws another<br>
[New Thread 0x7ffff6694700 (LWP 4629)]<br>
Cbc0010I After 0 nodes, 1 on tree, 17.666667 best solution,
best<br>
possible 5.5506109 (5.32 seconds)<br>
Cbc0038I Full problem 2664 rows 210 columns, reduced to 2083
rows 93<br>
columns - too large<br>
OSSolverService: CbcSOS.cpp:303: virtual double<br>
CbcSOS::infeasibility(const OsiBranchingInformation*,
int&) const:<br>
Assertion `pi[iRow] >= -1.0e-3' failed.<br>
<br>
The further check revealed that "suspicious" pi[iRow] is about
-0.005. ??!!<br>
<br>
Sincerely yours,<br>
--<br>
Vladimir V. Voloshinov,<br>
Ph.D, head of lab. C-3 "Distributed computing algorithms"<br>
Center of Grid-technologies & Distributed Computing, <a
moz-do-not-send="true" href="http://dcs.isa.ru"
target="_blank">http://dcs.isa.ru</a>,<br>
web: <a moz-do-not-send="true"
href="http://dcs.isa.ru/drupal/ru/staff/vladimirv"
target="_blank">http://dcs.isa.ru/drupal/ru/staff/vladimirv</a><br>
<br>
_______________________________________________<br>
Cbc mailing list<br>
<a moz-do-not-send="true" href="mailto:Cbc@list.coin-or.org">Cbc@list.coin-or.org</a><br>
<a moz-do-not-send="true"
href="http://list.coin-or.org/mailman/listinfo/cbc"
target="_blank">http://list.coin-or.org/mailman/listinfo/cbc</a><br>
</blockquote>
</div>
<br>
<br>
<br>
-- <br>
=============================================================<br>
Haroldo Gambini Santos<br>
Computing Department - Universidade Federal de Ouro Preto - UFOP<br>
email: haroldo [at ] <a moz-do-not-send="true"
href="http://iceb.ufop.br" target="_blank">iceb.ufop.br</a><br>
home/research page: <a moz-do-not-send="true"
href="http://www.decom.ufop.br/haroldo/" target="_blank">www.decom.ufop.br/haroldo/</a><br>
<br>
"Computer science is no more about computers than astronomy <br>
is about telescopes." Edsger Dijkstra<br>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Cbc mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Cbc@list.coin-or.org">Cbc@list.coin-or.org</a>
<a class="moz-txt-link-freetext" href="http://list.coin-or.org/mailman/listinfo/cbc">http://list.coin-or.org/mailman/listinfo/cbc</a>
</pre>
</blockquote>
<br>
</body>
</html>