alex asergeev proj sup-flint-clone valgrind --leak-check full bin evts

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
alex@asergeev:~/proj/sup-flint-clone$ valgrind --leak-check=full ./bin/evtsched_utest
==5964== Memcheck, a memory error detector.
==5964== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==5964== Using LibVEX rev 1854, a library for dynamic binary translation.
==5964== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==5964== Using valgrind-3.3.1-Debian, a dynamic binary instrumentation framework.
==5964== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==5964== For more details, rerun with: -v
==5964==
I'm 0x612900
I'm 0x7fefff920
==5964== Invalid write of size 4
==5964== at 0x40B0B0: SUP::EventHandler::SetEventFlags(int) (EventHandler.hpp:52)
==5964== by 0x40DFF7: SUP::EventScheduler::EventDataReplacer(SUP::EventData*, SUP::EventData*) (EventScheduler.cpp:198)
==5964== by 0x40E8D6: SUP::ElemPool<SUP::EventData>::Deactivate(int) (ElemPool.hpp:71)
==5964== by 0x40EAF0: SUP::ElemPool<SUP::EventData>::~ElemPool() (ElemPool.hpp:44)
==5964== by 0x40E288: SUP::EventScheduler::~EventScheduler() (EventScheduler.cpp:82)
==5964== by 0x408678: TEST::EventSchedulerTest::tearDown() (EventSchedulerTest.cpp:88)
==5964== by 0x40B843: CppUnit::TestCaller<TEST::EventSchedulerTest>::tearDown() (TestCaller.h:182)
==5964== by 0x5067406: CppUnit::TestCaseMethodFunctor::operator()() const (in /usr/lib/libcppunit-1.12.so.1.0.0)
==5964== by 0x50597D3: CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) (in /usr/lib/libcppunit-1.12.so.1.0.0)
==5964== by 0x5063278: CppUnit::ProtectorChain::ProtectFunctor::operator()() const (in /usr/lib/libcppunit-1.12.so.1.0.0)
==5964== by 0x5062FBB: CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) (in /usr/lib/libcppunit-1.12.so.1.0.0)
==5964== by 0x506ED9F: CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::string const&) (in /usr/lib/libcppunit-1.12.so.1.0.0)
==5964== Address 0x7fefff92c is just below the stack ptr. To suppress, use: --workaround-gcc296-bugs=yes
I'm 0x7fefffa00
I'm 0x7fefff9f0
OK (4)
==5964==
==5964== ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 8 from 1)
==5964== malloc/free: in use at exit: 116,736 bytes in 30 blocks.
==5964== malloc/free: 400,194 allocs, 400,164 frees, 67,341,105 bytes allocated.
==5964== For counts of detected errors, rerun with: -v
==5964== searching for pointers to 30 not-freed blocks.
==5964== checked 306,784 bytes.
==5964==
==5964==
==5964== 87,628 (456 direct, 87,172 indirect) bytes in 3 blocks are definitely lost in loss record 9 of 15
==5964== at 0x4C20849: operator new(unsigned long) (vg_replace_malloc.c:230)
==5964== by 0x40E409: SUP::EventData::EventData() (EventScheduler.cpp:46)
==5964== by 0x40EC0D: SUP::ElemPool<SUP::EventData>::ElemPool(unsigned, void (*)(SUP::EventData*, SUP::EventData*)) (ElemPool.hpp:34)
==5964== by 0x40E4C1: SUP::EventScheduler::EventScheduler(int, unsigned long) (EventScheduler.cpp:66)
==5964== by 0x40AFAB: TEST::EventSchedulerTest::setUp() (EventSchedulerTest.cpp:79)
==5964== by 0x40B813: CppUnit::TestCaller<TEST::EventSchedulerTest>::setUp() (TestCaller.h:177)
==5964== by 0x5067406: CppUnit::TestCaseMethodFunctor::operator()() const (in /usr/lib/libcppunit-1.12.so.1.0.0)
==5964== by 0x50597D3: CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) (in /usr/lib/libcppunit-1.12.so.1.0.0)
==5964== by 0x5063278: CppUnit::ProtectorChain::ProtectFunctor::operator()() const (in /usr/lib/libcppunit-1.12.so.1.0.0)
==5964== by 0x5062FBB: CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) (in /usr/lib/libcppunit-1.12.so.1.0.0)
==5964== by 0x506ED9F: CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::string const&) (in /usr/lib/libcppunit-1.12.so.1.0.0)
==5964== by 0x5067008: CppUnit::TestCase::run(CppUnit::TestResult*) (in /usr/lib/libcppunit-1.12.so.1.0.0)
==5964==
==5964== LEAK SUMMARY:
==5964== definitely lost: 456 bytes in 3 blocks.
==5964== indirectly lost: 87,172 bytes in 20 blocks.
==5964== possibly lost: 0 bytes in 0 blocks.
==5964== still reachable: 29,108 bytes in 7 blocks.
==5964== suppressed: 0 bytes in 0 blocks.
==5964== Reachable blocks (those to which a pointer was found) are not shown.
==5964== To see them, rerun with: --leak-check=full --show-reachable=yes