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.