[Cbc-tickets] Re: [COIN-OR Branch-and-Cut MIP Solver] #30: "cbc
-miplib" invalid null pointer error
COIN-OR Branch-and-Cut MIP Solver
coin-trac at coin-or.org
Sat Aug 11 09:54:22 EDT 2007
#30: "cbc -miplib" invalid null pointer error
-------------------------+--------------------------------------------------
Reporter: jpfasano | Owner: somebody
Type: defect | Status: new
Priority: major | Milestone:
Component: component1 | Version:
Resolution: | Keywords:
-------------------------+--------------------------------------------------
Old description:
> When running debug build of[[BR]]
> {{{
> cbc -miplib
> }}}
> built from trunk on Aug 10 on Windows with MS Visual Studio V8 the code
> fails with a popup window with message
> {{{
> Debug Assertion Failed
> Program: File e:\microsoft visual studio 8\vc\include\algorithm Line
> 667
> Expression: invalid pointer
> }}}
> The messages on the console are:
> {{{
> processing mps file: gesa2 (15 out of 44)
> At line 17 NAME GESA2
> At line 18 ROWS
> At line 1412 COLUMNS
> At line 4605 RHS
> At line 4738 BOUNDS
> At line 5459 ENDATA
> Problem GESA2 has 1392 rows, 1224 columns and 5064 elements
> Coin0008I GESA2 read with 0 errors
> Cgl0003I 0 fixed, 25 tightened bounds, 23 strengthened rows, 0
> substitutions
> Cgl0003I 0 fixed, 3 tightened bounds, 11 strengthened rows, 0
> substitutions
> Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0
> substitutions
> Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0
> substitutions
> Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0
> substitutions
> Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0
> substitutions
> Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0
> substitutions
> Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0
> substitutions
> Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0
> substitutions
> Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0
> substitutions
> Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0
> substitutions
> Cgl0004I processed model has 1392 rows, 1224 columns (408 integer) and
> 5064 elements
> Clp0000I Optimal - objective value 2.54765e+007
> Cbc0038I Pass 1: obj. 1.89860 --> up = 0 , down = 0 -- rand
> = 10( 13)
> Cbc0038I Pass 2: obj. 0.00000 --> up = 0 , down = 0 -- rand
> = 0( 20) - solution found of 2.60826e+007 - not improved by mini
> branch and bound
>
> Cbc0038I No solution found this major pass
> Cbc0038I Before mini branch and bound, 354 integers at bound fixed and
> 616 continuous
> Cbc0038I Mini branch and bound improved solution from 2.76675e+007 to
> 2.58124e+007 (18.50 seconds)
> Cbc0038I Freeing continuous variables gives a solution of 2.58124e+007
> Cbc0038I Round again with cutoff of 2.58124e+007
> Cbc0038I Pass 3: obj. 1.89860 --> up = 0 , down = 0 -- rand
> = 10( 13)
> Cbc0038I Pass 4: obj. 0.00000 --> up = 0 , down = 0 -- rand
> = 0( 27) - solution found of 2.58124e+007 - not improved by mini
> branch and bound
>
> Cbc0038I No solution found this major pass
> Cbc0038I Before mini branch and bound, 354 integers at bound fixed and
> 617 continuous
> Cbc0038I Mini branch and bound did not improve solution (21.18 seconds)
> Cbc0038I After 21.18 seconds - Feasibility pump exiting - took 14.82
> seconds
> Cbc0012I Integer solution of 2.58124e+007 found by feasibility pump after
> 0 iterations and 0 nodes (21.20 seconds)
> }}}
> The call stack is
> {{{
> cbcSolve.exe!std::_Debug_message(const wchar_t * message=0x007e2454,
> const wchar_t * file=0x007e2678, unsigned int line=667) Line 24 C++
> cbcSolve.exe!std::_Debug_pointer<double>(double * _First=0x00000000,
> const wchar_t * _File=0x007e2678, unsigned int _Line=667) Line 1379 +
> 0x12 bytes C++
> cbcSolve.exe!std::_Transform<double *,double
> *,std::negate<double>,std::forward_iterator_tag>(double *
> _First=0x00000000, double * _Last=0x00000000, double * _Dest=0x00000000,
> std::negate<double> _Func={...}, std::forward_iterator_tag
> __formal={...}, std::forward_iterator_tag __formal={...}) Line 667 +
> 0x13 bytes C++
> cbcSolve.exe!std::_Transform<double *,double *,std::negate<double>
> >(double * _First=0x00000000, double * _Last=0x00000000, double *
> _Dest=0x00000000, std::negate<double> _Func={...},
> std::random_access_iterator_tag __formal={...},
> std::random_access_iterator_tag __formal={...}) Line 683 + 0x34 bytes
> C++
> cbcSolve.exe!std::transform<double *,double *,std::negate<double>
> >(double * _First=0x00000000, double * _Last=0x00000000, double *
> _Dest=0x00000000, std::negate<double> _Func={...}) Line 712 + 0x50 bytes
> C++
> cbcSolve.exe!CglKnapsackCover::deriveAKnapsack(const OsiSolverInterface &
> si={...}, OsiCuts & cs={...}, CoinPackedVector & krow={...}, bool
> treatAsLRow=false, double & b=1.7976931348623157e+308, int *
> complement=0x01661b70, double * xstar=0x012ed018, int rowIndex=408, int
> numberElements=0, const int * index=0x01250698, const double *
> element=0x01039f58) Line 833 + 0x34 bytes C++
> cbcSolve.exe!CglKnapsackCover::generateCuts(const OsiSolverInterface &
> si={...}, OsiCuts & cs={...}, CglTreeInfo info={...}) Line 417 + 0x4d
> bytes C++
> cbcSolve.exe!CbcCutGenerator::generateCuts(OsiCuts & cs={...}, bool
> fullScan=true, OsiSolverInterface * solver=0x0092ece8, CbcNode *
> node=0x00000000) Line 216 C++
> cbcSolve.exe!CbcModel::solveWithCuts(OsiCuts & cuts={...}, int
> numberTries=99, CbcNode * node=0x00000000) Line 4818 + 0x2f bytes
> C++
> cbcSolve.exe!CbcModel::branchAndBound(int doStatistics=0) Line 1166 +
> 0x1b bytes C++
> cbcSolve.exe!CbcClpUnitTest(const CbcModel & saveModel={...}) Line 2032
> C++
> cbcSolve.exe!main(int argc=2, const char * * argv=0x00333870) Line 226 +
> 0xc bytes C++
> }}}
New description:
When running debug build of[[BR]]
{{{
cbc -miplib
}}}
built from trunk on Aug 10 on Windows with MS Visual Studio V8 the code
fails with a popup window with message
{{{
Debug Assertion Failed
Program: File e:\microsoft visual studio 8\vc\include\algorithm Line 667
Expression: invalid pointer
}}}
The messages on the console are:
{{{
processing mps file: gesa2 (15 out of 44)
At line 17 NAME GESA2
At line 18 ROWS
At line 1412 COLUMNS
At line 4605 RHS
At line 4738 BOUNDS
At line 5459 ENDATA
Problem GESA2 has 1392 rows, 1224 columns and 5064 elements
Coin0008I GESA2 read with 0 errors
Cgl0003I 0 fixed, 25 tightened bounds, 23 strengthened rows, 0
substitutions
Cgl0003I 0 fixed, 3 tightened bounds, 11 strengthened rows, 0
substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0
substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0
substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0
substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0
substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0
substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0
substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0
substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0
substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0
substitutions
Cgl0004I processed model has 1392 rows, 1224 columns (408 integer) and
5064 elements
Clp0000I Optimal - objective value 2.54765e+007
Cbc0038I Pass 1: obj. 1.89860 --> up = 0 , down = 0 -- rand =
10( 13)
Cbc0038I Pass 2: obj. 0.00000 --> up = 0 , down = 0 -- rand =
0( 20) - solution found of 2.60826e+007 - not improved by mini branch
and bound
Cbc0038I No solution found this major pass
Cbc0038I Before mini branch and bound, 354 integers at bound fixed and 616
continuous
Cbc0038I Mini branch and bound improved solution from 2.76675e+007 to
2.58124e+007 (18.50 seconds)
Cbc0038I Freeing continuous variables gives a solution of 2.58124e+007
Cbc0038I Round again with cutoff of 2.58124e+007
Cbc0038I Pass 3: obj. 1.89860 --> up = 0 , down = 0 -- rand =
10( 13)
Cbc0038I Pass 4: obj. 0.00000 --> up = 0 , down = 0 -- rand =
0( 27) - solution found of 2.58124e+007 - not improved by mini branch
and bound
Cbc0038I No solution found this major pass
Cbc0038I Before mini branch and bound, 354 integers at bound fixed and 617
continuous
Cbc0038I Mini branch and bound did not improve solution (21.18 seconds)
Cbc0038I After 21.18 seconds - Feasibility pump exiting - took 14.82
seconds
Cbc0012I Integer solution of 2.58124e+007 found by feasibility pump after
0 iterations and 0 nodes (21.20 seconds)
}}}
The call stack is
{{{
cbcSolve.exe!std::_Debug_message(const wchar_t * message=0x007e2454, const
wchar_t * file=0x007e2678, unsigned int line=667) Line 24 C++
cbcSolve.exe!std::_Debug_pointer<double>(double * _First=0x00000000, const
wchar_t * _File=0x007e2678, unsigned int _Line=667) Line 1379 + 0x12
bytes C++
cbcSolve.exe!std::_Transform<double *,double
*,std::negate<double>,std::forward_iterator_tag>(double *
_First=0x00000000, double * _Last=0x00000000, double * _Dest=0x00000000,
std::negate<double> _Func={...}, std::forward_iterator_tag __formal={...},
std::forward_iterator_tag __formal={...}) Line 667 + 0x13 bytes C++
cbcSolve.exe!std::_Transform<double *,double *,std::negate<double>
>(double * _First=0x00000000, double * _Last=0x00000000, double *
_Dest=0x00000000, std::negate<double> _Func={...},
std::random_access_iterator_tag __formal={...},
std::random_access_iterator_tag __formal={...}) Line 683 + 0x34 bytes
C++
cbcSolve.exe!std::transform<double *,double *,std::negate<double> >(double
* _First=0x00000000, double * _Last=0x00000000, double * _Dest=0x00000000,
std::negate<double> _Func={...}) Line 712 + 0x50 bytes C++
cbcSolve.exe!CglKnapsackCover::deriveAKnapsack(const OsiSolverInterface &
si={...}, OsiCuts & cs={...}, CoinPackedVector & krow={...}, bool
treatAsLRow=false, double & b=1.7976931348623157e+308, int *
complement=0x01661b70, double * xstar=0x012ed018, int rowIndex=408, int
numberElements=0, const int * index=0x01250698, const double *
element=0x01039f58) Line 833 + 0x34 bytes C++
cbcSolve.exe!CglKnapsackCover::generateCuts(const OsiSolverInterface &
si={...}, OsiCuts & cs={...}, CglTreeInfo info={...}) Line 417 + 0x4d
bytes C++
cbcSolve.exe!CbcCutGenerator::generateCuts(OsiCuts & cs={...}, bool
fullScan=true, OsiSolverInterface * solver=0x0092ece8, CbcNode *
node=0x00000000) Line 216 C++
cbcSolve.exe!CbcModel::solveWithCuts(OsiCuts & cuts={...}, int
numberTries=99, CbcNode * node=0x00000000) Line 4818 + 0x2f bytes
C++
cbcSolve.exe!CbcModel::branchAndBound(int doStatistics=0) Line 1166 +
0x1b bytes C++
cbcSolve.exe!CbcClpUnitTest(const CbcModel & saveModel={...}) Line 2032
C++
cbcSolve.exe!main(int argc=2, const char * * argv=0x00333870) Line 226 +
0xc bytes C++
}}}
[[BR]]
[[BR]]
The null pointer error is occurring on line 830 of !CglKnapsackCover.cpp
{{{
std::transform(leMatrixRow.getElements(),
leMatrixRow.getElements() + leMatrixRow.getNumElements(),
leMatrixRow.getElements(),
std::negate<double>());
}}}
leMatrixRow has private members indices_ and elements_ which are null.
These members were set to null on line 819
{{{
CoinPackedVector leMatrixRow(numberElements,index,element);
}}}
because numberElements is zero.
--
Ticket URL: <https://projects.coin-or.org/Cbc/ticket/30#comment:1>
COIN-OR Branch-and-Cut MIP Solver <http://projects.coin-or.org/Cbc>
An LP-based branch-and-cut MIP solver.
More information about the Cbc-tickets
mailing list