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.

Reply via email to