Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

https://projects.coin-or.org/Clp/newticket #33

Closed
svigerske opened this issue Mar 2, 2019 · 1 comment
Closed

https://projects.coin-or.org/Clp/newticket #33

svigerske opened this issue Mar 2, 2019 · 1 comment

Comments

@svigerske
Copy link
Member

Issue created by migration from Trac.

Original creator: @mgalati13

Original creation time: 2009-09-09 19:37:22

Assignee: somebody

Version:

CC: @mgalati13



[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]
@svigerske svigerske added bug and removed component1 labels Mar 2, 2019
@svigerske
Copy link
Member Author

No way this could still be handled nowadays with only this bit of information. Some code to reproduce this issue would be useful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant