activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Strachan" <james.strac...@gmail.com>
Subject Re: Peer Transport memory leak
Date Mon, 21 Aug 2006 08:52:07 GMT
I don't know why the incorrect DNS entry blows the heap - am not sure
if its ActiveMQ or Mule. I wonder could you try running in profiler to
find out where the memory hog is taking place?

On 8/18/06, Jeff Wysong <jeff@roundboxmedia.com> wrote:
> Hello All!
>
> I am experiencing a memory leak when using the peer transport protocol.
> The leak occurs when a broker has an incorrect or no DNS entry for it's
> peer.  To experiment with this, I hooked up JProfiler to the app.  When
> running the app in a controlled environment overnight, I saw normal
> expected use of the Java Heap space.  When I started another peer with
> the same group name, but the first peer had an incorrect DNS entry for
> the new peer, it took less than 13 minutes to use over 155MB of Heap
> space, until finally there was no more Heap space to use.   Below I have
> attached the catalina.out and my spring configuration file.  Why does
> this memory leak occur?
>
> Thanks!!!
>
> -Jeff
>
> PS  I am using Spring 1.2.4, Apache ActiveMQ 4.1 snapshot (Aug.3.2006)
>
> *********  catalina.out   *********
>
> 2006-08-18 08:10:16,281  WARN
> [org.apache.activemq.network.NetworkConnector] - Could not start network
> bridge between: vm://linux?network=true and: tcp://kramden:35904 due to:
> java.net.UnknownHostException: kramden
> 2006-08-18 08:10:16,783  WARN
> [org.apache.activemq.network.NetworkConnector] - Could not start network
> bridge between: vm://linux?network=true and: tcp://kramden:35904 due to:
> java.net.UnknownHostException: kramden
> 2006-08-18 08:10:17,284  WARN
> [org.apache.activemq.network.NetworkConnector] - Could not start network
> bridge between: vm://linux?network=true and: tcp://kramden:35904 due to:
> java.net.UnknownHostException: kramden
> 2006-08-18 08:10:17,786  WARN
> [org.apache.activemq.network.NetworkConnector] - Could not start network
> bridge between: vm://linux?network=true and: tcp://kramden:35904 due to:
> java.net.UnknownHostException: kramden
> 2006-08-18 08:10:18,287  WARN
> [org.apache.activemq.network.NetworkConnector] - Could not start network
> bridge between: vm://linux?network=true and: tcp://kramden:35904 due to:
> java.net.UnknownHostException: kramden
> Exception in thread "Multicast Discovery Agent Notifier"
> java.lang.OutOfMemoryError: Java heap space
> 2006-08-18 08:10:23,379  WARN
> [org.apache.activemq.network.NetworkConnector] - Could not start network
> bridge between: vm://linux?network=true and: tcp://kramden:35904 due to:
> java.net.UnknownHostException: kramden
> 2006-08-18 08:10:23,604  WARN
> [org.apache.activemq.network.NetworkConnector] - Could not start network
> bridge between: vm://linux?network=true and: tcp://kramden:35904 due to:
> java.net.UnknownHostException: kramden
> Exception in thread "Multicast Discovery Agent Notifier"
> java.lang.OutOfMemoryError: Java heap space
> 2006-08-18 08:10:27,571  WARN
> [org.apache.activemq.network.NetworkConnector] - Could not start network
> bridge between: vm://linux?network=true and: tcp://kramden:35904 due to:
> java.net.UnknownHostException: kramden
> Exception in thread "Multicast Discovery Agent Notifier"
> java.lang.OutOfMemoryError: Java heap space
> Exception in thread "Multicast Discovery Agent Notifier"
> java.lang.OutOfMemoryError: Java heap space
> <snip...due to repetition>
> Exception in thread "Multicast Discovery Agent Notifier"
> java.lang.OutOfMemoryError: Java heap space
> Exception in thread "Multicast Discovery Agent Notifier"
> java.lang.OutOfMemoryError: Java heap space
> Exception in thread "MulticastDiscovery: null"
> java.lang.OutOfMemoryError: Java heap space
> Exception in thread "DefaultQuartzScheduler_Worker-5"
> java.lang.OutOfMemoryError: Java heap space
> Exception in thread "DefaultQuartzScheduler_QuartzSchedulerThread"
> java.lang.OutOfMemoryError: Java heap space
> Exception in thread "DefaultQuartzScheduler_Worker-4"
> java.lang.OutOfMemoryError: Java heap space
> 2006-08-18 08:28:33,895 ERROR [org.mule.impl.model.seda.SedaComponent] -
> Work caused exception on 'workCompleted'. Work being executed was:
> linuxPreDeliveranceUMO
> Exception in thread "linuxPreDeliveranceUMO.1"
> org.mule.MuleRuntimeException: Component that caused exception is:
> linuxPreDeliveranceUMO
>     at
> org.mule.impl.model.seda.SedaComponent.handleWorkException(SedaComponent.java:560)
>     at
> org.mule.impl.model.seda.SedaComponent.workCompleted(SedaComponent.java:537)
>     at org.mule.impl.work.WorkerContext.run(WorkerContext.java:337)
>     at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>     at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>     at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.OutOfMemoryError: Java heap space
> 2006-08-18 08:31:14,773 ERROR [org.mule.impl.model.seda.SedaComponent] -
> Work caused exception on 'workCompleted'. Work being executed was:
> _muleManagerComponent
> 2006-08-18 08:31:30,374 ERROR [org.mule.impl.model.seda.SedaComponent] -
> Work caused exception on 'workCompleted'. Work being executed was:
> classCreationUMO
> Exception in thread "classCreationUMO.1" org.mule.MuleRuntimeException:
> Component that caused exception is: classCreationUMO
>     at
> org.mule.impl.model.seda.SedaComponent.handleWorkException(SedaComponent.java:560)
>     at
> org.mule.impl.model.seda.SedaComponent.workCompleted(SedaComponent.java:537)
>     at org.mule.impl.work.WorkerContext.run(WorkerContext.java:337)
> Exception in thread "_muleManagerComponent.1" 2006-08-18 08:32:07,590
> ERROR [org.mule.impl.model.seda.SedaComponent] - Work caused exception
> on 'workCompleted'. Work being executed was: linuxPostDeliveranceUMO
> Exception in thread "linuxPostDeliveranceUMO.1"     at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>     at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>     at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.OutOfMemoryError: Java heap space
> org.mule.MuleRuntimeException: Component that caused exception is:
> linuxPostDeliveranceUMO
>     at
> org.mule.impl.model.seda.SedaComponent.handleWorkException(SedaComponent.java:560)
>     at
> org.mule.impl.model.seda.SedaComponent.workCompleted(SedaComponent.java:537)
>     at org.mule.impl.work.WorkerContext.run(WorkerContext.java:337)
>     at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>     at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>     at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.OutOfMemoryError: Java heap space
> org.mule.MuleRuntimeException: Component that caused exception is:
> _muleManagerComponent
>     at
> org.mule.impl.model.seda.SedaComponent.handleWorkException(SedaComponent.java:560)
>     at
> org.mule.impl.model.seda.SedaComponent.workCompleted(SedaComponent.java:537)
>     at org.mule.impl.work.WorkerContext.run(WorkerContext.java:337)
>     at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>     at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>     at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.OutOfMemoryError: Java heap space
> 2006-08-18 08:34:01,501 ERROR [org.mule.impl.model.seda.SedaComponent] -
> Work caused exception on 'workCompleted'. Work being executed was:
> muleEventMulticasterDescriptor
> Exception in thread "muleEventMulticasterDescriptor.1"
> org.mule.MuleRuntimeException: Component that caused exception is:
> muleEventMulticasterDescriptor
>     at
> org.mule.impl.model.seda.SedaComponent.handleWorkException(SedaComponent.java:560)
>     at
> org.mule.impl.model.seda.SedaComponent.workCompleted(SedaComponent.java:537)
>     at org.mule.impl.work.WorkerContext.run(WorkerContext.java:337)
>     at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>     at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>     at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.OutOfMemoryError: Java heap space
> Exception in thread "DefaultQuartzScheduler_Worker-1"
> java.lang.OutOfMemoryError: Java heap space
> Exception in thread "MulticastDiscovery:
> tcp://localhost.localdomain:45850" java.lang.OutOfMemoryError: Java heap
> space
>
>
> ********  mule.spring.xml      *******
>
> <beans>
>     <bean id="muleManager"
> class="org.mule.extras.spring.config.AutowireUMOManagerFactoryBean"/>
>
>     <!-- Used to set mule object names to their corresponding bean id -->
>     <bean id="muleNameProcessor"
> class="org.mule.extras.spring.config.MuleObjectNameProcessor"/>
>
>     <bean id="applicationEventMulticaster"
> class="org.mule.extras.spring.events.MuleEventMulticaster">
>         <property name="asynchronous" value="true"/>
>     </bean>
>
>     <bean id="jmsConnector" class="org.mule.providers.jms.JmsConnector">
>         <property name="specification" value="1.1"/>
>         <property name="connectionFactory" ref="connectionFactory"/>
>         <property name="maxRedelivery" value="4"/>
>         <property name="durable" value="true"/>
>     </bean>
>
>     <bean id="connectionFactory"
> class="org.apache.activemq.ActiveMQConnectionFactory">
>         <property name="brokerURL" value="peer://fpgroup/linux"/>
>         <property name="useAsyncSend" value="true"/>
>     </bean>
>
>     <bean id="defaultInterceptorStack" singleton="false"
> class="java.util.ArrayList">
>         <constructor-arg>
>             <list>
>                 <bean id="loggingInterceptor"
> class="org.mule.interceptors.LoggingInterceptor"/>
>                 <bean id="timerInterceptor"
> class="org.mule.interceptors.TimerInterceptor"/>
>             </list>
>         </constructor-arg>
>     </bean>
>
>     <bean id="linuxPreDeliveranceUMO" class="org.mule.impl.MuleDescriptor">
>         <property name="inboundEndpoint">
>             <bean class="org.mule.impl.endpoint.MuleEndpoint">
>                 <property name="endpointURI">
>                     <bean class="org.mule.impl.endpoint.MuleEndpointURI">
>                         <constructor-arg>
>                             <value>vm://begin.conversion</value>
>                         </constructor-arg>
>                     </bean>
>                 </property>
>             </bean>
>         </property>
>         <property name="outboundEndpoint">
>             <bean class="org.mule.impl.endpoint.MuleEndpoint">
>                 <property name="endpointURI">
>                     <bean class="org.mule.impl.endpoint.MuleEndpointURI">
>                         <constructor-arg>
>                             <value>jms://receive.queue</value>
>                         </constructor-arg>
>                     </bean>
>                 </property>
>             </bean>
>         </property>
>         <property name="implementation">
>             <value>dummyString</value>
>         </property>
>         <property name="interceptors">
>                 <ref local="defaultInterceptorStack"/>
>         </property>
>     </bean>
>
>     <bean id="linuxPostDeliveranceUMO" class="org.mule.impl.MuleDescriptor">
>         <property name="inboundEndpoint">
>             <bean class="org.mule.impl.endpoint.MuleEndpoint">
>                 <property name="endpointURI">
>                     <bean class="org.mule.impl.endpoint.MuleEndpointURI">
>                         <constructor-arg>
>
> <value>jms://finished.queue?MULE_SERVICE_METHOD=addSwfResource</value>
>                         </constructor-arg>
>                     </bean>
>                 </property>
>             </bean>
>         </property>
>         <property name="implementation">
>             <value>classroomResourceManager</value>
>         </property>
>         <property name="interceptors">
>                 <ref local="defaultInterceptorStack"/>
>         </property>
>     </bean>
>
>     <bean id="dummyString" class="com.rbx.deliverance.DummyString"/>
>
> </beans>
>
>


-- 

James
-------
http://radio.weblogs.com/0112098/

Mime
View raw message