[Clp-tickets] [COIN-OR Linear Programming Solver] #33: https://projects.coin-or.org/Clp/newticket

COIN-OR Linear Programming Solver coin-trac at coin-or.org
Wed Sep 9 15:37:22 EDT 2009


#33: https://projects.coin-or.org/Clp/newticket
------------------------+---------------------------------------------------
 Reporter:  mgalati     |       Owner:  somebody
     Type:  defect      |      Status:  new     
 Priority:  major       |   Milestone:          
Component:  component1  |     Version:          
 Keywords:              |  
------------------------+---------------------------------------------------
 {{{


 [E] ABR: Array bounds read in ClpSimplex::deleteRim(int) {6 occurrences}
         Reading 8 bytes from 0x03fb0cd0 (8 bytes at 0x03fb0cd0 illegal)
         Address 0x03fb0cd0 is 1 byte past the end of a 520 byte block at
 0x03fb0ac8
         Address 0x03fb0cd0 points to a C++ new block in heap 0x03f70000
         Thread ID: 0x1ae0
         Error location
             ClpSimplex::deleteRim(int) [c:\cygwin\home\magala\coin\coin-
 decomp\clp\src\clpsimplex.cpp:4322]
                     reducedCost_[i] = reducedCostWork_[i];
                       }
                       for (i=0;i<numberRows;i++) {
              =>     double value = rowActivityWork_[i];
                     double lower = rowLowerWork_[i];
                     double upper = rowUpperWork_[i];
                     if (lower>-1.0e20||upper<1.0e20) {
             ClpSimplex::finish(int) [c:\cygwin\home\magala\coin\coin-
 decomp\clp\src\clpsimplex.cpp:8125]
                   } else {
                     whatsChanged_ &= ~0xffff;
                   }
              =>   deleteRim(getRidOfData);
                   // Skip message if changing algorithms
                   if (problemStatus_!=10) {
                     if (problemStatus_==-1)
             OsiClpSolverInterface::disableSimplexInterface(void)
 [c:\cygwin\home\magala\coin\coin-
 decomp\osi\src\osiclp\osiclpsolverinterface.cpp:5331]
                   // message will not appear anyway
                   int
 saveMessageLevel=modelPtr_->messageHandler()->logLevel();
                   modelPtr_->messageHandler()->setLogLevel(0);
              =>   modelPtr_->finish();
 modelPtr_->messageHandler()->setLogLevel(saveMessageLevel);
                   modelPtr_->restoreData(saveData_);
                   modelPtr_->scaling(saveData_.scalingFlag_);
             OsiClpSolverInterface::resolve(void)
 [c:\cygwin\home\magala\coin\coin-
 decomp\osi\src\osiclp\osiclpsolverinterface.cpp:851]
                   int saveSolveType=modelPtr_->solveType();
                   bool doingPrimal = modelPtr_->algorithm()>0;
                   if (saveSolveType==2) {
              =>     disableSimplexInterface();
                   }
                   int saveOptions = modelPtr_->specialOptions();
                   int startFinishOptions=0;
             DecompAlgo::solutionUpdate(DecompPhase,int,int)
 [c:\cygwin\home\magala\coin\coin-decomp\decomp\src\decompalgo.cpp:1846]
             DecompAlgo::processNode(int,double,double)
 [c:\cygwin\home\magala\coin\coin-decomp\decomp\src\decompalgo.cpp:1452]
             AlpsDecompTreeNode::process(bool,bool)
 [c:\cygwin\home\magala\coin\coin-
 decomp\decomp\src\alpsdecomptreenode.cpp:220]
 AlpsSubTree::exploreUnitWork(bool,int,double,AlpsExitStatus&,int&,int&,int&,int&,bool&)
 [c:\cygwin\home\magala\coin\coin-decomp\alps\src\alpssubtree.cpp:1288]
             AlpsSubTree::exploreSubTree(AlpsTreeNode
 *,int,double,int&,int&,int&,int&) [c:\cygwin\home\magala\coin\coin-
 decomp\alps\src\alpssubtree.cpp:495]
             AlpsKnowledgeBrokerSerial::rootSearch(AlpsTreeNode *)
 [c:\cygwin\home\magala\coin\coin-
 decomp\alps\src\alpsknowledgebrokerserial.cpp:226]
         Allocation location
             new(UINT)
 [f:\dd\vctools\crt_bld\self_x86\crt\src\new.cpp:57]
             <>=(UINT)
 [f:\dd\vctools\crt_bld\self_x86\crt\src\newaop.cpp:7]
             ClpSimplex::createRim(int,bool,int)
 [c:\cygwin\home\magala\coin\coin-decomp\clp\src\clpsimplex.cpp:3257]
                       delete [] dj_;
                       dj_ = new double[numberTotal];
                       delete [] solution_;
              =>       solution_ = new double[numberTotal];
                     }
                     reducedCostWork_ = dj_;
                     rowReducedCost_ = dj_+numberColumns_;
             ClpSimplex::startup(int,int) [c:\cygwin\home\magala\coin\coin-
 decomp\clp\src\clpsimplex.cpp:7962]

                   // put in standard form (and make row copy)
                   // create modifiable copies of model rim and do optional
 scaling
              =>   bool
 goodMatrix=createRim(7+8+16+32,true,startFinishOptions);

                   if (goodMatrix) {
                     // switch off factorization if bad
             OsiClpSolverInterface::enableSimplexInterface(bool)
 [c:\cygwin\home\magala\coin\coin-
 decomp\osi\src\osiclp\osiclpsolverinterface.cpp:5312]
                 #ifdef NDEBUG
                   modelPtr_->startup(0);
                 #else
              =>   int returnCode=modelPtr_->startup(0);
                   assert (!returnCode||returnCode==2);
                 #endif
                   modelPtr_->specialOptions_=saveOptions;
             OsiClpSolverInterface::resolve(void)
 [c:\cygwin\home\magala\coin\coin-
 decomp\osi\src\osiclp\osiclpsolverinterface.cpp:1219]
             DecompAlgo::solutionUpdate(DecompPhase,int,int)
 [c:\cygwin\home\magala\coin\coin-decomp\decomp\src\decompalgo.cpp:1846]
             DecompAlgo::processNode(int,double,double)
 [c:\cygwin\home\magala\coin\coin-decomp\decomp\src\decompalgo.cpp:1191]
             AlpsDecompTreeNode::process(bool,bool)
 [c:\cygwin\home\magala\coin\coin-
 decomp\decomp\src\alpsdecomptreenode.cpp:220]
 AlpsSubTree::exploreUnitWork(bool,int,double,AlpsExitStatus&,int&,int&,int&,int&,bool&)
 [c:\cygwin\home\magala\coin\coin-decomp\alps\src\alpssubtree.cpp:1288]
 }}}

-- 
Ticket URL: <https://projects.coin-or.org/Clp/ticket/33>
COIN-OR Linear Programming Solver <http://projects.coin-or.org/Clp>
A linear programming solver.



More information about the Clp-tickets mailing list