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]