coin-or / Cbc.old

This is a mirror of the subversion repository on COIN-OR
https://projects.coin-or.org/Cbc
Other
88 stars 30 forks source link

[Trac #171] Crash in OsiClpSolverInterface::unmarkHotStart() #39

Open s-c-e opened 5 years ago

s-c-e commented 5 years ago

image

Hello, I repeatedly get program crashes caused by OsiClpSolverInterface::unmarkHotStart(). The issue occurs "randomly" after many hours or days of calculation. I am using CBC 2.9.8. The error seems to occur only when using gcc/g++ 4.7 on Suse/Linux, but not when using Visual Studio 2013 (v120).

Stacktrace:

(gdb) bt 
#0  0x00007f17bdac46eb in raise () from /lib64/libpthread.so.0 
#1  0x00007f17bb692480 in skgesigOSCrash () from /opt/oracle/product/12.1/db_1/lib/libclntsh.so.12.1 
#2  0x00007f17bb95b9ee in kpeDbgSignalHandler () from /opt/oracle/product/12.1/db_1/lib/libclntsh.so.12.1 
#3  0x00007f17bb692660 in skgesig_sigactionHandler () from /opt/oracle/product/12.1/db_1/lib/libclntsh.so.12.1 
#4  <signal handler called> 
#5  0x00007f17bcd70b00 in OsiClpSolverInterface::unmarkHotStart() () from /home/k1471pn1/ext_comp/Cbc-2.9.8_gcc47_thread/lib/libOsiClp.so.1 
#6  0x00007f17bd8739a7 in CbcNode::chooseDynamicBranch(CbcModel*, CbcNode*, OsiSolverBranch*&, int) () from /home/k1471pn1/ext_comp/Cbc-2.9.8_gcc47_thread/lib/libCbc.so.3 
#7  0x00007f17bd8548c7 in CbcModel::chooseBranch(CbcNode*&, int, CbcNode*, OsiCuts&, bool&, CoinWarmStartBasis*, double const*, double const*, OsiSolverBranch*&) () 
   from /home/k1471pn1/ext_comp/Cbc-2.9.8_gcc47_thread/lib/libCbc.so.3 
#8  0x00007f17bd85c91d in CbcModel::doOneNode(CbcModel*, CbcNode*&, CbcNode*&) () from /home/k1471pn1/ext_comp/Cbc-2.9.8_gcc47_thread/lib/libCbc.so.3 
#9  0x00007f17bd8825c6 in doNodesThread(void*) () from /home/k1471pn1/ext_comp/Cbc-2.9.8_gcc47_thread/lib/libCbc.so.3 
#10 0x00007f17bdabc806 in start_thread () from /lib64/libpthread.so.0 
#11 0x00007f17b8bd164d in clone () from /lib64/libc.so.6 
#12 0x0000000000000000 in ?? () 

I assume there could be an issue with pointers that are deleted in unmarkHotStart() twice or were not initialilzed before deletion. Any suggestions how I could proceed in determining the source of the problem? Using log messages to narrow down the issue and causing an abortion on purpuse fail, because the log messages are not printed anymore (due to time delay for writting).

Thank you, David