activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Wysong <j...@roundboxmedia.com>
Subject Peer Transport memory leak
Date Fri, 18 Aug 2006 15:57:52 GMT
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>


Mime
View raw message