You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Craig Blake (JIRA)" <ji...@apache.org> on 2008/06/28 21:43:00 UTC

[jira] Commented: (AMQ-1829) OOM under minimal load

    [ https://issues.apache.org/activemq/browse/AMQ-1829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43770#action_43770 ] 

Craig Blake commented on AMQ-1829:
----------------------------------

After looking through the JMX console a bit, I found that most of the threads that build up and eventually crash the server look like this:

Name: JMX server connection timeout 7459
State: TIMED_WAITING on [I@6fd6306c
Total blocked: 0  Total waited: 4

Stack trace: 
java.lang.Object.wait(Native Method)
com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:150)
java.lang.Thread.run(Thread.java:637)


This appears to be similar to issue AMQ-1483 which was supposed to be fixed in ActiveMQ 5.1.0

> OOM under minimal load
> ----------------------
>
>                 Key: AMQ-1829
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1829
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.1.0
>         Environment: Grails w/ JMS Plugin, JDK 1.6, OSX Leopard
>            Reporter: Craig Blake
>            Priority: Critical
>
> Under load of 70 messages per minute, ActiveMQ fails with an OutOfMemory exception after 1.5 hours.  VM information available via JMX indicates that over 2,500 live threads exist at time of failure, with 116MB of memory committed out of 490MB available.
> The netstat command shows several thousand connections in CLOSE_WAIT status at the time of failure.
> WARNING: RMI TCP Accept-0: accept loop for ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=65276] throws
> java.lang.OutOfMemoryError: unable to create new native thread
> 	at java.lang.Thread.start0(Native Method)
> 	at java.lang.Thread.start(Thread.java:615)
> 	at java.util.concurrent.ThreadPoolExecutor.addIfUnderMaximumPoolSize(ThreadPoolExecutor.java:727)
> 	at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:657)
> 	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:384)
> 	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
> 	at java.lang.Thread.run(Thread.java:637)
> Exception in thread "InactivityMonitor WriteCheck" java.lang.OutOfMemoryError: unable to create new native thread
> 	at java.lang.Thread.start0(Native Method)
> 	at java.lang.Thread.start(Thread.java:615)
> 	at java.util.concurrent.ThreadPoolExecutor.addIfUnderMaximumPoolSize(ThreadPoolExecutor.java:727)
> 	at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:657)
> 	at org.apache.activemq.transport.InactivityMonitor.writeCheck(InactivityMonitor.java:128)
> 	at org.apache.activemq.transport.InactivityMonitor$2.run(InactivityMonitor.java:103)
> 	at org.apache.activemq.thread.SchedulerTimerTask.run(SchedulerTimerTask.java:33)
> 	at java.util.TimerThread.mainLoop(Timer.java:512)
> 	at java.util.TimerThread.run(Timer.java:462)
> The application sees the following error:
> javax.jms.JMSException: Wire format negotiation timeout: peer did not send his wire format.
> 	at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
> 	at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1183)
> 	at org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1262)
> 	at org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:292)
> 	at org.springframework.jms.support.JmsAccessor.createSession(JmsAccessor.java:196)
> 	at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:450)
> 	... 56 more
> Caused by: java.io.IOException: Wire format negotiation timeout: peer did not send his wire format.
> 	at org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:85)
> 	at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
> 	at org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:70)
> 	at org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:75)
> 	at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1172)
> 	... 60 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.