Memory leaks in C++ broker
--------------------------
Key: QPID-1317
URL: https://issues.apache.org/jira/browse/QPID-1317
Project: Qpid
Issue Type: Bug
Components: C++ Broker
Affects Versions: M3
Environment: Fedora 9, GCC 4.2.4
Reporter: Rajika Kumarasiri
Priority: Minor
Here is the valigrind log. Most of the errors occurs due to uninitialized
arguments which pass to system calls. The proper initialization of the
arguments would fix the problem.
[EMAIL PROTECTED] sbin]$ valgrind ./qpidd --auth no
==16853== Memcheck, a memory error detector.
==16853== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==16853== Using LibVEX rev 1804, a library for dynamic binary translation.
==16853== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==16853== Using valgrind-3.3.0, a dynamic binary instrumentation framework.
==16853== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==16853== For more details, rerun with: -v
==16853==
==16853== Syscall param epoll_ctl(event) points to uninitialised byte(s)
==16853== at 0xB809BE: epoll_ctl (in /lib/libc-2.8.so)
==16853== by 0x430DA8F:
qpid::sys::DispatchHandle::startWatch(boost::shared_ptr<qpid::sys::Poller>)
(Dispatcher.cpp:84)
==16853== by 0x42C4E74:
qpid::sys::AsynchAcceptor::start(boost::shared_ptr<qpid::sys::Poller>)
(AsynchIO.cpp:79)
==16853== by 0x414E97B:
qpid::sys::AsynchIOProtocolFactory::accept(boost::shared_ptr<qpid::sys::Poller>,
qpid::sys::ConnectionCodec::Factory*) (TCPIOPlugin.cpp:115)
==16853== by 0x409D620: qpid::broker::Broker::accept() (Broker.cpp:375)
==16853== by 0x409DC1E: qpid::broker::Broker::run() (Broker.cpp:273)
==16853== by 0x804FF00: main (qpidd.cpp:251)
==16853== Address 0xbe842dec is on thread 1's stack
==16853==
==16853== Syscall param epoll_ctl(event) points to uninitialised byte(s)
==16853== at 0xB809BE: epoll_ctl (in /lib/libc-2.8.so)
==16853== by 0x430DA8F:
qpid::sys::DispatchHandle::startWatch(boost::shared_ptr<qpid::sys::Poller>)
(Dispatcher.cpp:84)
==16853== by 0x42C4F51:
qpid::sys::AsynchIO::start(boost::shared_ptr<qpid::sys::Poller>)
(AsynchIO.cpp:198)
==16853== by 0x414D87E:
qpid::sys::AsynchIOProtocolFactory::established(boost::shared_ptr<qpid::sys::Poller>,
qpid::sys::Socket const&, qpid::sys::ConnectionCodec::Factory*, bool)
(TCPIOPlugin.cpp:99)
==16853== by 0x414FE03:
boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void,
boost::_mfi::mf4<void, qpid::sys::AsynchIOProtocolFactory,
boost::shared_ptr<qpid::sys::Poller>, qpid::sys::Socket const&,
qpid::sys::ConnectionCodec::Factory*, bool>,
boost::_bi::list5<boost::_bi::value<qpid::sys::AsynchIOProtocolFactory*>,
boost::_bi::value<boost::shared_ptr<qpid::sys::Poller> >, boost::arg<1> (*)(),
boost::_bi::value<qpid::sys::ConnectionCodec::Factory*>,
boost::_bi::value<bool> > >, void, qpid::sys::Socket
const&>::invoke(boost::detail::function::function_buffer&, qpid::sys::Socket
const&) (mem_fn_template.hpp:494)
==16853== by 0x42CB1C1: boost::function1<void, qpid::sys::Socket const&,
std::allocator<boost::function_base> >::operator()(qpid::sys::Socket const&)
const (function_template.hpp:692)
==16853== by 0x42C761E:
qpid::sys::AsynchAcceptor::readable(qpid::sys::DispatchHandle&)
(AsynchIO.cpp:94)
==16853== by 0x42CA3DC:
boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void,
boost::_mfi::mf1<void, qpid::sys::AsynchAcceptor, qpid::sys::DispatchHandle&>,
boost::_bi::list2<boost::_bi::value<qpid::sys::AsynchAcceptor*>, boost::arg<1>
(*)()> >, void,
qpid::sys::DispatchHandle&>::invoke(boost::detail::function::function_buffer&,
qpid::sys::DispatchHandle&) (mem_fn_template.hpp:162)
==16853== by 0x430F1A6: boost::function1<void, qpid::sys::DispatchHandle&,
std::allocator<boost::function_base> >::operator()(qpid::sys::DispatchHandle&)
const (function_template.hpp:692)
==16853== by 0x430DE7A:
qpid::sys::DispatchHandle::processEvent(qpid::sys::Poller::EventType)
(Dispatcher.cpp:383)
==16853== by 0x430D59A: qpid::sys::Dispatcher::run() (Poller.h:105)
==16853== by 0x409DDE5: qpid::broker::Broker::run() (Broker.cpp:284)
==16853== Address 0xbe8429dc is on thread 1's stack
==16853==
==16853== Syscall param epoll_ctl(event) points to uninitialised byte(s)
==16853== at 0xB809BE: epoll_ctl (in /lib/libc-2.8.so)
==16853== by 0x430DC81:
qpid::sys::DispatchHandle::processEvent(qpid::sys::Poller::EventType)
(Dispatcher.cpp:411)
==16853== by 0x430D59A: qpid::sys::Dispatcher::run() (Poller.h:105)
==16853== by 0x409DDE5: qpid::broker::Broker::run() (Broker.cpp:284)
==16853== by 0x804FF00: main (qpidd.cpp:251)
==16853== Address 0xbe842edc is on thread 1's stack
==16853==
==16853== Thread 6:
==16853== Syscall param epoll_ctl(event) points to uninitialised byte(s)
==16853== at 0xB809BE: epoll_ctl (in /lib/libc-2.8.so)
==16853== by 0x430DDAF:
qpid::sys::DispatchHandle::processEvent(qpid::sys::Poller::EventType)
(Dispatcher.cpp:419)
==16853== by 0x430D59A: qpid::sys::Dispatcher::run() (Poller.h:105)
==16853== by 0x42CBC90: qpid::sys::(anonymous namespace)::runRunnable(void*)
(Thread.cpp:35)
==16853== by 0xC4532E: start_thread (in /lib/libpthread-2.8.so)
==16853== by 0xB8027D: clone (in /lib/libc-2.8.so)
==16853== Address 0x7ae22bc is on thread 6's stack
==16853==
==16853== Thread 1:
==16853== Syscall param epoll_ctl(event) points to uninitialised byte(s)
==16853== at 0xB809BE: epoll_ctl (in /lib/libc-2.8.so)
==16853== by 0x430DDAF:
qpid::sys::DispatchHandle::processEvent(qpid::sys::Poller::EventType)
(Dispatcher.cpp:419)
==16853== by 0x430D59A: qpid::sys::Dispatcher::run() (Poller.h:105)
==16853== by 0x409DDE5: qpid::broker::Broker::run() (Broker.cpp:284)
==16853== by 0x804FF00: main (qpidd.cpp:251)
==16853== Address 0xbe842edc is on thread 1's stack
==16853==
==16853== Thread 5:
==16853== Syscall param epoll_ctl(event) points to uninitialised byte(s)
==16853== at 0xB809BE: epoll_ctl (in /lib/libc-2.8.so)
==16853== by 0x430DC81:
qpid::sys::DispatchHandle::processEvent(qpid::sys::Poller::EventType)
(Dispatcher.cpp:411)
==16853== by 0x430D59A: qpid::sys::Dispatcher::run() (Poller.h:105)
==16853== by 0x42CBC90: qpid::sys::(anonymous namespace)::runRunnable(void*)
(Thread.cpp:35)
==16853== by 0xC4532E: start_thread (in /lib/libpthread-2.8.so)
==16853== by 0xB8027D: clone (in /lib/libc-2.8.so)
==16853== Address 0x70e12bc is on thread 5's stack
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.