Here is the valgrind out put. Note that the test only ran for couple of
minutes. I am going to run the valgrind against 0.8RC2 and will attach the
detail log.
Broker version: 0.6
Platform:2.6.32-24-generic #39-Ubuntu SMP Wed Jul 28 05:14:15 UTC 2010
x86_64 GNU/Linux
gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)

Rajika


On Tue, Nov 30, 2010 at 8:43 PM, Lahiru Gunathilake <[email protected]>wrote:

> Hi devs,
>
> I am running a test with Large messages up to 4MB with Java client and C++
> broker. After running the setup for about 3 hours, I am failing to send
> messages to Qpid C++ broker and getting following error,
>
>  javax.jms.JMSException: Error creating connection: sender is closed
>        at
>
> org.apache.qpid.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:286)
>        at
>
> org.apache.qpid.client.AMQConnectionFactory.createQueueConnection(AMQConnectionFactory.java:333)
>        at
>
> org.apache.axis2.transport.jms.JMSOutTransportInfo.createJMSSender(JMSOutTransportInfo.java:353)
>        at
> org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:113)
>
> I ran Qpid Java client with default set up and C++ broker with following
> configuration
>
> auth=no
> default-queue-limit=0
> staging-threshold=100000000
> data-dir=/home/lahiru/client/jkh/jkh-deployment/qpidc-0.6/build/persistent
>
> config=/home/lahiru/client/jkh/jkh-deployment/qpidc-0.6/build/etc/qpidd.conf
>
> Do I need to do anything with configuration in either side (client or
> broker) to work in this kind of a scenario. Do I have to increase the
> timeout values in Java client side ?
>
> Other than this I am having another issue with Qpid C++ broker due to a
> memory leak, memory goes high upto 170MB and virtual memory is growing
> reasonably up to 650MB. We found with valgrind there are memory leaks in
> C++
> broker.
>
> Any help would be highly useful for us, because with these issues couldn't
> go for production with Qpid.
>
> Regards
> Lahiru
>
==15346== Memcheck, a memory error detector
==15346== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==15346== Using Valgrind-3.6.0.SVN-Debian and LibVEX; rerun with -h for copyright info
==15346== Command: ./qpidd
==15346== 
2010-11-30 20:32:56 notice SASL disabled: No Authentication Performed
2010-11-30 20:32:56 notice Listening on TCP port 5672
2010-11-30 20:32:56 notice Broker running
2010-11-30 20:36:39 warning Timer callback overran by 2ms [taking 2865344ns]
^C2010-11-30 20:38:29 notice Shut down
==15346== 
==15346== HEAP SUMMARY:
==15346==     in use at exit: 6,872,599 bytes in 1,726 blocks
==15346==   total heap usage: 106,699 allocs, 104,973 frees, 46,624,742 bytes allocated
==15346== 
==15346== 65,536 bytes in 1 blocks are possibly lost in loss record 119 of 123
==15346==    at 0x4C27939: operator new[](unsigned long) (vg_replace_malloc.c:305)
==15346==    by 0x54481E1: qpid::sys::AsynchIOHandler::init(qpid::sys::AsynchIO*, int) (AsynchIOHandler.cpp:37)
==15346==    by 0x4FDC07C: qpid::sys::AsynchIOProtocolFactory::established(boost::shared_ptr<qpid::sys::Poller>, qpid::sys::Socket const&, qpid::sys::ConnectionCodec::Factory*, bool) (TCPIOPlugin.cpp:102)
==15346==    by 0x4FDEDD9: 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)
==15346==    by 0x538BD0D: qpid::sys::posix::AsynchAcceptor::readable(qpid::sys::DispatchHandle&) (function_template.hpp:1013)
==15346==    by 0x544DFB7: boost::function1<void, qpid::sys::DispatchHandle&>::operator()(qpid::sys::DispatchHandle&) const (function_template.hpp:1013)
==15346==    by 0x544D06B: qpid::sys::DispatchHandle::processEvent(qpid::sys::Poller::EventType) (DispatchHandle.cpp:278)
==15346==    by 0x539C239: qpid::sys::Poller::run() (Poller.h:123)
==15346==    by 0x53922F9: qpid::sys::(anonymous namespace)::runRunnable(void*) (Thread.cpp:35)
==15346==    by 0x6C9B9C9: start_thread (pthread_create.c:300)
==15346==    by 0x69F870C: clone (clone.S:112)
==15346== 
==15346== 3,297,331 (1,056 direct, 3,296,275 indirect) bytes in 12 blocks are definitely lost in loss record 121 of 123
==15346==    at 0x4C27CC1: operator new(unsigned long) (vg_replace_malloc.c:261)
==15346==    by 0x4FDBBEE: qpid::sys::AsynchIOProtocolFactory::established(boost::shared_ptr<qpid::sys::Poller>, qpid::sys::Socket const&, qpid::sys::ConnectionCodec::Factory*, bool) (TCPIOPlugin.cpp:84)
==15346==    by 0x4FDEDD9: 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)
==15346==    by 0x538BD0D: qpid::sys::posix::AsynchAcceptor::readable(qpid::sys::DispatchHandle&) (function_template.hpp:1013)
==15346==    by 0x544DFB7: boost::function1<void, qpid::sys::DispatchHandle&>::operator()(qpid::sys::DispatchHandle&) const (function_template.hpp:1013)
==15346==    by 0x544D06B: qpid::sys::DispatchHandle::processEvent(qpid::sys::Poller::EventType) (DispatchHandle.cpp:278)
==15346==    by 0x539C239: qpid::sys::Poller::run() (Poller.h:123)
==15346==    by 0x4F13BB9: qpid::broker::Broker::run() (Broker.cpp:319)
==15346==    by 0x40D6FD: QpiddBroker::execute(QpiddOptions*) (QpiddBroker.cpp:176)
==15346==    by 0x40A3C1: main (qpidd.cpp:80)
==15346== 
==15346== 3,504,063 (1,144 direct, 3,502,919 indirect) bytes in 13 blocks are definitely lost in loss record 123 of 123
==15346==    at 0x4C27CC1: operator new(unsigned long) (vg_replace_malloc.c:261)
==15346==    by 0x4FDBBEE: qpid::sys::AsynchIOProtocolFactory::established(boost::shared_ptr<qpid::sys::Poller>, qpid::sys::Socket const&, qpid::sys::ConnectionCodec::Factory*, bool) (TCPIOPlugin.cpp:84)
==15346==    by 0x4FDEDD9: 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)
==15346==    by 0x538BD0D: qpid::sys::posix::AsynchAcceptor::readable(qpid::sys::DispatchHandle&) (function_template.hpp:1013)
==15346==    by 0x544DFB7: boost::function1<void, qpid::sys::DispatchHandle&>::operator()(qpid::sys::DispatchHandle&) const (function_template.hpp:1013)
==15346==    by 0x544D06B: qpid::sys::DispatchHandle::processEvent(qpid::sys::Poller::EventType) (DispatchHandle.cpp:278)
==15346==    by 0x539C239: qpid::sys::Poller::run() (Poller.h:123)
==15346==    by 0x53922F9: qpid::sys::(anonymous namespace)::runRunnable(void*) (Thread.cpp:35)
==15346==    by 0x6C9B9C9: start_thread (pthread_create.c:300)
==15346==    by 0x69F870C: clone (clone.S:112)
==15346== 
==15346== LEAK SUMMARY:
==15346==    definitely lost: 2,200 bytes in 25 blocks
==15346==    indirectly lost: 6,799,194 bytes in 1,684 blocks
==15346==      possibly lost: 65,536 bytes in 1 blocks
==15346==    still reachable: 5,669 bytes in 16 blocks
==15346==         suppressed: 0 bytes in 0 blocks
==15346== Reachable blocks (those to which a pointer was found) are not shown.
==15346== To see them, rerun with: --leak-check=full --show-reachable=yes
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to