[Coin-discuss] valgrind invalid free in ClpModel::returnModel

Matthew Galati magh at lehigh.edu
Tue May 27 12:11:05 EDT 2008


FYI. Repeatable driver program posted as CLP ticket #21.
 
> Hi - I am going to work on an independent driver that is repeatable to 
> show the following issue -- but it might take some work.
>
> In the mean time, does this valgrind trace tell anyone anything? So far 
> I can't find anything wrong in how I build the model, but something goes 
> wrong in ClpModel after an "initialSolve".
>
> Thanks,
> Matt
>
>
>
>
> magh at shark:~/COIN/coin-Decomp/build-g/Decomp/examples/AP3$ valgrind 
> --tool=memcheck --leak-check=yes ./alps_ap3 --param ap3.parm 
> --AP3:Instance ap3.30.1 > t
>
> ==5409== Memcheck, a memory error detector.
> ==5409== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
> ==5409== Using LibVEX rev 1804, a library for dynamic binary translation.
> ==5409== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
> ==5409== Using valgrind-3.3.0-Debian, a dynamic binary instrumentation 
> framework.
> ==5409== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
> ==5409== For more details, rerun with: -v
> ==5409==
> ==5409== Invalid free() / delete / delete[]
> ==5409==    at 0x4023ECC: operator delete[](void*) (vg_replace_malloc.c:364)
> ==5409==    by 0x814E12D: ClpModel::returnModel(ClpModel&) 
> (ClpModel.cpp:997)
> ==5409==    by 0x81AF071: ClpSimplex::returnModel(ClpSimplex&) 
> (ClpSimplex.cpp:8033)
> ==5409==    by 0x8142462: OsiClpSolverInterface::initialSolve() 
> (OsiClpSolverInterface.cpp:365)
> ==5409==    by 0x80646CE: DecompAlgo2::solutionUpdate(DecompPhase, int, 
> int) (DecompAlgo2.cpp:856)
> ==5409==    by 0x806A34B: DecompAlgo2::phaseInit() (DecompAlgo2.cpp:460)
> ==5409==    by 0x806A7E2: DecompAlgo2::processNode(int, double, double) 
> (DecompAlgo2.cpp:538)
> ==5409==    by 0x808EA00: AlpsDecompTreeNode::process(bool, bool) 
> (AlpsDecompTreeNode.cpp:194)
> ==5409==    by 0x80A7110: AlpsSubTree::exploreUnitWork(bool, int, 
> double, AlpsExitStatus&, int&, int&, bool&) 
> (AlpsSubTree.cpp                                                                                       
> :1209)
> ==5409==    by 0x80A7DBD: AlpsSubTree::exploreSubTree(AlpsTreeNode*, 
> int, double, int&, int&) (AlpsSubTree.cpp:443)
> ==5409==    by 0x80AEBBB: 
> AlpsKnowledgeBrokerSerial::rootSearch(AlpsTreeNode*) 
> (AlpsKnowledgeBrokerSerial.cpp:224)
> ==5409==    by 0x808C1D7: AlpsKnowledgeBroker::search(AlpsModel*) 
> (AlpsKnowledgeBroker.h:259)
> ==5409==  Address 0x7747958 is 0 bytes inside a block of size 27,090 free'd
> ==5409==    at 0x4023ECC: operator delete[](void*) (vg_replace_malloc.c:364)
> ==5409==    by 0x81A8AF8: ClpSimplex::moveInfo(ClpSimplex const&, bool) 
> (ClpSimplex.cpp:9541)
> ==5409==    by 0x820F1EA: ClpSimplex::initialSolve(ClpSolve&) 
> (ClpSolve.cpp:1802)
> ==5409==    by 0x8142329: OsiClpSolverInterface::initialSolve() 
> (OsiClpSolverInterface.cpp:355)
> ==5409==    by 0x80646CE: DecompAlgo2::solutionUpdate(DecompPhase, int, 
> int) (DecompAlgo2.cpp:856)
> ==5409==    by 0x806A34B: DecompAlgo2::phaseInit() (DecompAlgo2.cpp:460)
> ==5409==    by 0x806A7E2: DecompAlgo2::processNode(int, double, double) 
> (DecompAlgo2.cpp:538)
> ==5409==    by 0x808EA00: AlpsDecompTreeNode::process(bool, bool) 
> (AlpsDecompTreeNode.cpp:194)
> ==5409==    by 0x80A7110: AlpsSubTree::exploreUnitWork(bool, int, 
> double, AlpsExitStatus&, int&, int&, bool&) 
> (AlpsSubTree.cpp                                                                                       
> :1209)
> ==5409==    by 0x80A7DBD: AlpsSubTree::exploreSubTree(AlpsTreeNode*, 
> int, double, int&, int&) (AlpsSubTree.cpp:443)
> ==5409==    by 0x80AEBBB: 
> AlpsKnowledgeBrokerSerial::rootSearch(AlpsTreeNode*) 
> (AlpsKnowledgeBrokerSerial.cpp:224)
> ==5409==    by 0x808C1D7: AlpsKnowledgeBroker::search(AlpsModel*) 
> (AlpsKnowledgeBroker.h:259)
>
>
> _______________________________________________
> Coin-discuss mailing list
> Coin-discuss at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-discuss
>   





More information about the Coin-discuss mailing list