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 <[EMAIL PROTECTED]> 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/

Reply via email to