[Smi-tickets] [COIN-OR Stochastic Modeling Interface] #4: valgrind reports many memory leaks in unittest

Trac ticket reflector for Smi smi-tickets at list.coin-or.org
Thu Aug 28 04:26:18 EDT 2008


#4: valgrind reports many memory leaks in unittest
-------------------------+--------------------------------------------------
  Reporter:  stefan      |       Owner:  somebody
      Type:  defect      |      Status:  new     
  Priority:  major       |   Milestone:          
 Component:  component1  |     Version:          
Resolution:              |    Keywords:          
-------------------------+--------------------------------------------------
Comment (by stefan):

 Hi,

 here is an updated list (rev 287):
 {{{
 ==19759== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 5 from 1)
 ==19759== malloc/free: in use at exit: 1,137,112 bytes in 15,148 blocks.
 ==19759== malloc/free: 53,563 allocs, 38,415 frees, 194,706,494 bytes
 allocated.
 ==19759== For counts of detected errors, rerun with: -v
 ==19759== searching for pointers to 15,148 not-freed blocks.
 ==19759== checked 173,416 bytes.
 ==19759==
 ==19759== 288 bytes in 6 blocks are indirectly lost in loss record 1 of 8
 ==19759==    at 0x4A06205: operator new(unsigned long)
 (vg_replace_malloc.c:167)
 ==19759==    by 0x421DFA: SmiScnModel::generateScenario(SmiCoreData*,
 CoinPackedMatrix*, CoinPackedVector*, CoinPackedVector*,
 CoinPackedVector*, CoinPackedVector*, CoinPackedVector*, int, int, double,
 SmiCoreCombineRule*) (SmiScnModel.cpp:85)
 ==19759==    by 0x422AFB:
 SmiScnModel::processDiscreteDistributionIntoScenarios(SmiDiscreteDistribution*,
 bool) (SmiScnModel.cpp:680)
 ==19759==    by 0x4051B5: SmiScnModelDiscreteUnitTest()
 (unitTest.cpp:1163)
 ==19759==    by 0x40B7FB: main (unitTest.cpp:1831)
 ==19759==
 ==19759==
 ==19759== 432 bytes in 2 blocks are definitely lost in loss record 2 of 8
 ==19759==    at 0x4A05EA5: operator new[](unsigned long)
 (vg_replace_malloc.c:199)
 ==19759==    by 0x650AFA: CoinPackedVectorBase::denseVector(int) const
 (CoinPackedVectorBase.cpp:24)
 ==19759==    by 0x415898: SmiNodeData::getDenseRow(int)
 (SmiScnData.cpp:573)
 ==19759==    by 0x42100B: SmiScnModel::addNode(SmiScnNode*)
 (SmiScnModel.cpp:320)
 ==19759==    by 0x42654B: SmiScnModelAddNode::operator()(SmiScnNode*)
 (SmiScnModel.hpp:270)
 ==19759==    by 0x426578: SmiScnModelAddNode
 std::for_each<__gnu_cxx::__normal_iterator<SmiScnNode**,
 std::vector<SmiScnNode*, std::allocator<SmiScnNode*> > >,
 SmiScnModelAddNode>(__gnu_cxx::__normal_iterator<SmiScnNode**,
 std::vector<SmiScnNode*, std::allocator<SmiScnNode*> > >,
 __gnu_cxx::__normal_iterator<SmiScnNode**, std::vector<SmiScnNode*,
 std::allocator<SmiScnNode*> > >, SmiScnModelAddNode) (stl_algo.h:159)
 ==19759==    by 0x421744: SmiScnModel::loadOsiSolverData()
 (SmiScnModel.cpp:242)
 ==19759==    by 0x4074C2: SmiScnModelScenarioUnitTest() (unitTest.cpp:710)
 ==19759==    by 0x40B7EC: main (unitTest.cpp:1828)
 ==19759==
 ==19759==
 ==19759== 72,288 bytes in 1,506 blocks are indirectly lost in loss record
 3 of 8
 ==19759==    at 0x4A06205: operator new(unsigned long)
 (vg_replace_malloc.c:167)
 ==19759==    by 0x421F2E: SmiScnModel::generateScenario(SmiCoreData*,
 CoinPackedMatrix*, CoinPackedVector*, CoinPackedVector*,
 CoinPackedVector*, CoinPackedVector*, CoinPackedVector*, int, int, double,
 SmiCoreCombineRule*) (SmiScnModel.cpp:111)
 ==19759==    by 0x422AFB:
 SmiScnModel::processDiscreteDistributionIntoScenarios(SmiDiscreteDistribution*,
 bool) (SmiScnModel.cpp:680)
 ==19759==    by 0x4051B5: SmiScnModelDiscreteUnitTest()
 (unitTest.cpp:1163)
 ==19759==    by 0x40B7FB: main (unitTest.cpp:1831)
 ==19759==
 ==19759==
 ==19759== 85,848 bytes in 3,028 blocks are indirectly lost in loss record
 4 of 8
 ==19759==    at 0x4A05AF7: realloc (vg_replace_malloc.c:306)
 ==19759==    by 0x416610: SmiNodeData::SmiNodeData(int, SmiCoreData*,
 CoinPackedMatrix const*, CoinPackedVector*, CoinPackedVector*,
 CoinPackedVector*, CoinPackedVector*, CoinPackedVector*)
 (SmiScnData.cpp:490)
 ==19759==    by 0x421F0C: SmiScnModel::generateScenario(SmiCoreData*,
 CoinPackedMatrix*, CoinPackedVector*, CoinPackedVector*,
 CoinPackedVector*, CoinPackedVector*, CoinPackedVector*, int, int, double,
 SmiCoreCombineRule*) (SmiScnModel.cpp:107)
 ==19759==    by 0x422AFB:
 SmiScnModel::processDiscreteDistributionIntoScenarios(SmiDiscreteDistribution*,
 bool) (SmiScnModel.cpp:680)
 ==19759==    by 0x4051B5: SmiScnModelDiscreteUnitTest()
 (unitTest.cpp:1163)
 ==19759==    by 0x40B7FB: main (unitTest.cpp:1831)
 ==19759==
 ==19759==
 ==19759== 103,680 bytes in 3,028 blocks are indirectly lost in loss record
 5 of 8
 ==19759==    at 0x4A04D1F: calloc (vg_replace_malloc.c:279)
 ==19759==    by 0x4154D5: SmiNodeData::assignMemory() (SmiScnData.cpp:588)
 ==19759==    by 0x415C92: SmiNodeData::SmiNodeData(int, SmiCoreData*,
 CoinPackedMatrix const*, CoinPackedVector*, CoinPackedVector*,
 CoinPackedVector*, CoinPackedVector*, CoinPackedVector*)
 (SmiScnData.cpp:315)
 ==19759==    by 0x421F0C: SmiScnModel::generateScenario(SmiCoreData*,
 CoinPackedMatrix*, CoinPackedVector*, CoinPackedVector*,
 CoinPackedVector*, CoinPackedVector*, CoinPackedVector*, int, int, double,
 SmiCoreCombineRule*) (SmiScnModel.cpp:107)
 ==19759==    by 0x422AFB:
 SmiScnModel::processDiscreteDistributionIntoScenarios(SmiDiscreteDistribution*,
 bool) (SmiScnModel.cpp:680)
 ==19759==    by 0x4051B5: SmiScnModelDiscreteUnitTest()
 (unitTest.cpp:1163)
 ==19759==    by 0x40B7FB: main (unitTest.cpp:1831)
 ==19759==
 ==19759==
 ==19759== 171,696 bytes in 3,028 blocks are indirectly lost in loss record
 6 of 8
 ==19759==    at 0x4A05AF7: realloc (vg_replace_malloc.c:306)
 ==19759==    by 0x4165DC: SmiNodeData::SmiNodeData(int, SmiCoreData*,
 CoinPackedMatrix const*, CoinPackedVector*, CoinPackedVector*,
 CoinPackedVector*, CoinPackedVector*, CoinPackedVector*)
 (SmiScnData.cpp:489)
 ==19759==    by 0x421F0C: SmiScnModel::generateScenario(SmiCoreData*,
 CoinPackedMatrix*, CoinPackedVector*, CoinPackedVector*,
 CoinPackedVector*, CoinPackedVector*, CoinPackedVector*, int, int, double,
 SmiCoreCombineRule*) (SmiScnModel.cpp:107)
 ==19759==    by 0x422AFB:
 SmiScnModel::processDiscreteDistributionIntoScenarios(SmiDiscreteDistribution*,
 bool) (SmiScnModel.cpp:680)
 ==19759==    by 0x4051B5: SmiScnModelDiscreteUnitTest()
 (unitTest.cpp:1163)
 ==19759==    by 0x40B7FB: main (unitTest.cpp:1831)
 ==19759==
 ==19759==
 ==19759== 629,824 bytes in 3,028 blocks are indirectly lost in loss record
 7 of 8
 ==19759==    at 0x4A06205: operator new(unsigned long)
 (vg_replace_malloc.c:167)
 ==19759==    by 0x421EAD: SmiScnModel::generateScenario(SmiCoreData*,
 CoinPackedMatrix*, CoinPackedVector*, CoinPackedVector*,
 CoinPackedVector*, CoinPackedVector*, CoinPackedVector*, int, int, double,
 SmiCoreCombineRule*) (SmiScnModel.cpp:107)
 ==19759==    by 0x422AFB:
 SmiScnModel::processDiscreteDistributionIntoScenarios(SmiDiscreteDistribution*,
 bool) (SmiScnModel.cpp:680)
 ==19759==    by 0x4051B5: SmiScnModelDiscreteUnitTest()
 (unitTest.cpp:1163)
 ==19759==    by 0x40B7FB: main (unitTest.cpp:1831)
 ==19759==
 ==19759==
 ==19759== 1,136,680 (73,056 direct, 1,063,624 indirect) bytes in 1,522
 blocks are definitely lost in loss record 8 of 8
 ==19759==    at 0x4A06205: operator new(unsigned long)
 (vg_replace_malloc.c:167)
 ==19759==    by 0x421F2E: SmiScnModel::generateScenario(SmiCoreData*,
 CoinPackedMatrix*, CoinPackedVector*, CoinPackedVector*,
 CoinPackedVector*, CoinPackedVector*, CoinPackedVector*, int, int, double,
 SmiCoreCombineRule*) (SmiScnModel.cpp:111)
 ==19759==    by 0x4234A8:
 SmiScnModel::processDiscreteDistributionIntoScenarios(SmiDiscreteDistribution*,
 bool) (SmiScnModel.cpp:777)
 ==19759==    by 0x4051B5: SmiScnModelDiscreteUnitTest()
 (unitTest.cpp:1163)
 ==19759==    by 0x40B7FB: main (unitTest.cpp:1831)
 ==19759==
 ==19759== LEAK SUMMARY:
 ==19759==    definitely lost: 73,488 bytes in 1,524 blocks.
 ==19759==    indirectly lost: 1,063,624 bytes in 13,624 blocks.
 ==19759==      possibly lost: 0 bytes in 0 blocks.
 ==19759==    still reachable: 0 bytes in 0 blocks.
 ==19759==         suppressed: 0 bytes in 0 blocks.
 }}}

-- 
Ticket URL: <https://projects.coin-or.org/Smi/ticket/4#comment:1>
COIN-OR Stochastic Modeling Interface <http://projects.coin-or.org/Smi>
An API for stochastic programming problems.



More information about the Smi-tickets mailing list