[Cgl-tickets] [COIN-OR Cut Generator Library] #41: Some issues on Windows [Cgl-0.59.10]

COIN-OR Cut Generator Library coin-trac at coin-or.org
Tue Jul 25 19:31:56 EDT 2017


#41: Some issues on Windows [Cgl-0.59.10]
-----------------------------------+----------------------
 Reporter:  niuys                  |      Owner:  somebody
     Type:  defect                 |     Status:  new
 Priority:  major                  |  Milestone:
Component:  Cgl                    |    Version:
 Keywords:  Crashed, VS 2017, Cgl  |
-----------------------------------+----------------------
 There are some issues I've encountered, fixed or still unfixed during my
 test with VS 2017.
 Here are some issues:
 1. Some header files are not included in unitTest.cpp
 The following two files CglRedSplit2.hpp and CglZeroHalf.hpp can not be
 located. This can be fixed by adding in including path of the project
 CglUnitTest: ..\..\..\src\CglRedSplit2 and ..\..\..\src\CglZeroHalf

 2. "CglLandPUnitTest" crashed
 It is crashed at line 144 in CglLandPTest.cpp

 {{{
 test.generateCuts(*siP,cuts);
 }}}

 Debug of the issue gives the following call stack:
 {{{
         CglUnitTest.exe!CoinIndexedVector::clear() line 40      C++
         CglUnitTest.exe!OsiClpSolverInterface::getBInvARow(int row, double
 * z, double * slack) line 6981       C++
         CglUnitTest.exe!LAP::CglLandPSimplex::pullTableauRow(LAP::TabRow &
 row) line 3131       C++
         CglUnitTest.exe!LAP::CglLandPSimplex::optimize(int row, OsiRowCut
 & cut, const CglLandP::CachedData & cached, const CglLandP::Parameters &
 params) line 674     C++
 >       CglUnitTest.exe!CglLandP::generateCuts(const OsiSolverInterface &
 si, OsiCuts & cs, const CglTreeInfo info) line 622    C++
         CglUnitTest.exe!CglLandPUnitTest(OsiSolverInterface * si, const
 std::basic_string<char,std::char_traits<char>,std::allocator<char> > &
 mpsDir) line 145 C++
         CglUnitTest.exe!main(int argc, const char * * argv) line 240
 C++
 }}}

 But it works fine on Linux or with MinGW.

 3. CglZeroHalfUnitTest crashed
 It is also crashed when calling generateCuts at line 57 in
 CglZeroHalfTest.cpp

 {{{
     cg.generateCuts(*siP,cuts);
 }}}

 Here is the debug call stack:
 {{{
 >       CglUnitTest.exe!std::_Debug_heap<cgl_node * __ptr64 * __ptr64,bool
 (__cdecl*)(cgl_node * __ptr64,cgl_node * __ptr64)>(cgl_node * * _First,
 cgl_node * * _Last, bool(*)(cgl_node *, cgl_node *) & _Pred) line 2096
 C++
 CglUnitTest.exe!std::pop_heap<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<cgl_node
 * __ptr64> > >,bool (__cdecl*)(cgl_node * __ptr64,cgl_node *
 __ptr64)>(std::_Vector_iterator<std::_Vector_val<std::_Simple_types<cgl_node
 *> > > _First,
 std::_Vector_iterator<std::_Vector_val<std::_Simple_types<cgl_node *> > >
 _Last, bool(*)(cgl_node *, cgl_node *) _Pred) line 2226     C++
         CglUnitTest.exe!cglShortestPath(auxiliary_graph * graph, int
 source, int maximumLength) line 544        C++
         CglUnitTest.exe!get_shortest_odd_cycle_list(int j,
 separation_graph * s_graph, auxiliary_graph * a_graph) line 1238     C++
         CglUnitTest.exe!Cgl012Cut::basic_separation() line 2233 C++
         CglUnitTest.exe!Cgl012Cut::sep_012_cut(int mr, int mc, int mnz,
 int * mtbeg, int * mtcnt, int * mtind, int * mtval, int * vlb, int * vub,
 int * mrhs, char * msense, const double * xstar, bool aggressive, int *
 cnum, int * cnzcnt, int * * cbeg, int * * ccnt, int * * cind, int * *
 cval, int * * crhs, char * * csense) line 3630  C++
         CglUnitTest.exe!CglZeroHalf::generateCuts(const OsiSolverInterface
 & si, OsiCuts & cs, const CglTreeInfo info) line 57  C++
         CglUnitTest.exe!CglZeroHalfUnitTest(const OsiSolverInterface *
 baseSiP, const
 std::basic_string<char,std::char_traits<char>,std::allocator<char> >
 mpsDir) line 61      C++
         CglUnitTest.exe!main(int argc, const char * * argv) line 305
 C++
 }}}

 It works also on Linux and MinGW.[[BR]]
 Concerning on the last two issues, I still have no idea why it crashed on
 Windows with VS 2017. I would appreciate any suggestion. Thanks in
 advance!

--
Ticket URL: <https://projects.coin-or.org/Cgl/ticket/41>
COIN-OR Cut Generator Library <http://projects.coin-or.org/Cgl>
A library of mixed-integer programming cutting plane generators.



More information about the Cgl-tickets mailing list