Opened 21 months ago

Closed 7 weeks ago

#41 closed defect (migrated)

Some issues on Windows [Cgl-0.59.10]

Reported by: niuys Owned by: somebody
Priority: major Milestone:
Component: Cgl Version:
Keywords: Crashed, VS 2017, Cgl Cc:

Description

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?

  1. "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.

  1. 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.
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!

Change History (1)

comment:1 Changed 7 weeks ago by stefan

  • Resolution set to migrated
  • Status changed from new to closed

This ticket has been migrated to GitHub and will be resolved there: https://github.com/coin-or/Cgl/issues/41

Note: See TracTickets for help on using tickets.