C++ qmf console shows memory leaks under valgrind.
--------------------------------------------------

                 Key: QPID-2885
                 URL: https://issues.apache.org/jira/browse/QPID-2885
             Project: Qpid
          Issue Type: Bug
          Components: Qpid Managment Framework
            Reporter: Ken Giusti
            Assignee: Ken Giusti
            Priority: Trivial


Running the ping example from the qmf-console under valgrind reveals memory 
leaks on shutdown:

[kgiu...@localhost qmf-console]$ 
LD_LIBRARY_PATH="/home/kgiusti/Desktop/work/qpid/cpp/src/.libs" valgrind 
--leak-check=yes ./.libs/ping 
==26672== Memcheck, a memory error detector
==26672== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==26672== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
==26672== Command: ./.libs/ping
==26672== 
Ping Broker: localhost:5672... Result: code=0 text=OK seq=0
Ping Broker: localhost:5672... Result: code=0 text=OK seq=1
Ping Broker: localhost:5672... Result: code=0 text=OK seq=2
Ping Broker: localhost:5672... Result: code=0 text=OK seq=3
Ping Broker: localhost:5672... Result: code=0 text=OK seq=4
==26672== 
==26672== HEAP SUMMARY:
==26672==     in use at exit: 38,479 bytes in 801 blocks
==26672==   total heap usage: 13,032 allocs, 12,231 frees, 2,849,889 bytes 
allocated
==26672== 
==26672== 60 (24 direct, 36 indirect) bytes in 1 blocks are definitely lost in 
loss record 4 of 32
==26672==    at 0x4A05974: operator new(unsigned long) (vg_replace_malloc.c:220)
==26672==    by 0x4C1EF97: qpid::console::Broker::resetAgents() (Broker.cpp:132)
==26672==    by 0x4C1FA81: qpid::console::Broker::ConnectionThread::run() 
(Broker.cpp:192)
==26672==    by 0x5241FA9: qpid::sys::(anonymous namespace)::runRunnable(void*) 
(Thread.cpp:35)
==26672==    by 0x3B42807760: start_thread (in /lib64/libpthread-2.12.so)
==26672==    by 0x3B420E14EC: clone (in /lib64/libc-2.12.so)
==26672== 
==26672== 38,387 (56 direct, 38,331 indirect) bytes in 1 blocks are definitely 
lost in loss record 32 of 32
==26672==    at 0x4A05974: operator new(unsigned long) (vg_replace_malloc.c:220)
==26672==    by 0x4C30B79: 
qpid::console::SessionManager::handlePackageInd(qpid::console::Broker*, 
qpid::framing::Buffer&, unsigned int) (SessionManager.cpp:314)
==26672==    by 0x4C210F5: 
qpid::console::Broker::received(qpid::client::Message&) (Broker.cpp:108)
==26672==    by 0x4ED7B3E: 
qpid::client::SubscriptionImpl::received(qpid::client::Message&) 
(SubscriptionImpl.cpp:132)
==26672==    by 0x4EB9B3F: qpid::client::Dispatcher::run() (Dispatcher.cpp:88)
==26672==    by 0x4C1FABB: qpid::console::Broker::ConnectionThread::run() 
(Broker.cpp:198)
==26672==    by 0x5241FA9: qpid::sys::(anonymous namespace)::runRunnable(void*) 
(Thread.cpp:35)
==26672==    by 0x3B42807760: start_thread (in /lib64/libpthread-2.12.so)
==26672==    by 0x3B420E14EC: clone (in /lib64/libc-2.12.so)
==26672== 
==26672== LEAK SUMMARY:
==26672==    definitely lost: 80 bytes in 2 blocks
==26672==    indirectly lost: 38,367 bytes in 798 blocks
==26672==      possibly lost: 0 bytes in 0 blocks
==26672==    still reachable: 32 bytes in 1 blocks
==26672==         suppressed: 0 bytes in 0 blocks
==26672== Reachable blocks (those to which a pointer was found) are not shown.
==26672== To see them, rerun with: --leak-check=full --show-reachable=yes
==26672== 
==26672== For counts of detected and suppressed errors, rerun with: -v
==26672== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 47 from 9)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to