<font face="arial,helvetica,sans-serif">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 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 style="font-family:courier new,monospace">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&amp;) const: Assertion `pi[iRow] &gt;= -1.0e-3&#39; failed.<br>
</span><br><br></font><br><div class="gmail_quote">On Mon, Oct 22, 2012 at 4:14 PM, vladimir voloshinov <span dir="ltr">&lt;<a href="mailto:vladimir.voloshinov@gmail.com" target="_blank">vladimir.voloshinov@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">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 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 &quot;manually&quot;).<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 &quot;Segmentation fault&quot; 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 &quot;Assertion failed&quot; in<br>
CbcSOS.cpp:303: virtual double CbcSOS::infeasibility() ...<br>
Assertion `pi[iRow] &gt;= -1.0e-3&#39; 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>
&quot;make&quot; and &quot;make test&quot; 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 href="http://dcs.isa.ru/~vladimirv/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 &lt;solverOption name=&quot;threads&quot;<br>
solver=&quot;cbc&quot; value=&quot;nnn&quot; /&gt; tag of cbc.osol, uploaded to<br>
<a href="http://dcs.isa.ru/~vladimirv/coin-or/cbc/cbc.osol" target="_blank">http://dcs.isa.ru/~vladimirv/coin-or/cbc/cbc.osol</a>)<br>
I got &quot;Segmentation fault&quot; 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&amp;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&#39;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*&amp;) ()<br>
(gdb) bt<br>
#0  0x0000000000796a63 in CbcModel::addCuts1(CbcNode*, CoinWarmStartBasis*&amp;) ()<br>
#1  0x0000000000796ea2 in CbcModel::addCuts(CbcNode*,<br>
CoinWarmStartBasis*&amp;, bool) ()<br>
#2  0x00000000007a46fa in CbcModel::doOneNode(CbcModel*, CbcNode*&amp;,<br>
CbcNode*&amp;) ()<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>
&quot;make&quot; and &quot;make test&quot; 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&amp;) const:<br>
Assertion `pi[iRow] &gt;= -1.0e-3&#39; failed.<br>
<br>
The further check revealed that &quot;suspicious&quot; pi[iRow] is about -0.005. ??!!<br>
<br>
Sincerely yours,<br>
--<br>
Vladimir V. Voloshinov,<br>
Ph.D, head of lab. C-3 &quot;Distributed computing algorithms&quot;<br>
Center of Grid-technologies &amp; Distributed Computing, <a href="http://dcs.isa.ru" target="_blank">http://dcs.isa.ru</a>,<br>
web: <a 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 href="mailto:Cbc@list.coin-or.org">Cbc@list.coin-or.org</a><br>
<a 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 clear="all"><br>-- <br>=============================================================<br>Haroldo Gambini Santos<br>Computing Department - Universidade Federal de Ouro Preto - UFOP<br>email: haroldo [at ] <a href="http://iceb.ufop.br" target="_blank">iceb.ufop.br</a><br>
home/research page: <a href="http://www.decom.ufop.br/haroldo/" target="_blank">www.decom.ufop.br/haroldo/</a><br> <br>&quot;Computer science is no more about computers than astronomy <br>is about telescopes.&quot; Edsger Dijkstra<br>
 <br>