[
https://issues.apache.org/activemq/browse/AMQCPP-220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=48992#action_48992
]
Brian Roach commented on AMQCPP-220:
------------------------------------
1) compile SimpleAsyncConsumer.cpp from
activemq-cpp-2.2.3-src/src/examples/consumers
2) run
3) send millions of messages to it (ActiveMQ 5.2 and the messages in question
are JSON format text strings about 120 bytes long)
4) watch memory usage of SimpleAsyncConsumer increase ~ 2MB per million
messages received.
I suspected it was something we were doing, until I did that. It may very well
be a Solaris specific issue (some other library that activemq-cpp links to) ?
Or a problem in the Apache Runtime? That's why I noted which APR and APU we
were using, as well as the platform. Unfortunately valgrind isn't ported to
Solaris from what I read on their site, and we don't have purify.
> Memory leak in activemq-cpp
> ---------------------------
>
> Key: AMQCPP-220
> URL: https://issues.apache.org/activemq/browse/AMQCPP-220
> Project: ActiveMQ C++ Client
> Issue Type: Bug
> Components: CMS Impl
> Affects Versions: 2.2.3
> Environment: Solaris 10 x86
> GCC (g++) 3.4.6 (from www.sunfreeware.com)
> APR 1.3.3
> APR-util 1.3.4
> Reporter: Brian Roach
> Assignee: Timothy Bish
> Priority: Critical
>
> The API leaks ~ 2MB of memory for every 1 million messages consumed.
> The example consumer in activemq-cpp-2.2.3-src/src/examples/consumers can be
> used as a test bed, it exhibits the behavior.
> It's even worse if you are not using the consumer->setMessageListener( )
> method and are instead directly using the consumer->receive() method in your
> own loop. I dont' have hard numbers but it is somewhere around ten-fold.
> We have an application which is processing ~ 40 million messages per day, and
> will keep growing until the box runs out of memory.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.