Filip, if you mean on the client side, I have a thread pool configured to create max 100 threads. about -Xmx, that's the maximum amount of memory. Why are you telling me that by decreasing that value there would be more space for threads?
Michele On Thu, May 1, 2008 at 7:50 PM, Filip Hanik - Dev Lists <[EMAIL PROTECTED]> wrote: > when it happens, do a thread dump to make sure you don't have a thread leak > (too many threads) > > then lower your -Xmx setting, this will make more room in the JVM for > threads, > > Filip > > > > Michele Mazzucco wrote: > > > Hi all, > > > > I'm facing the following error while using AMQ 5.0 > > > > ERROR efaultMessageListenerContainer - Setup of JMS message listener > > invoker failed - trying to recover > > java.lang.OutOfMemoryError: unable to create new native thread > > at java.lang.Thread.start0(Native Method) > > at java.lang.Thread.start(Thread.java:574) > > at > org.apache.activemq.thread.DedicatedTaskRunner.<init>(DedicatedTaskRunner.java:42) > > at > org.apache.activemq.thread.TaskRunnerFactory.createTaskRunner(TaskRunnerFactory.java:74) > > at > org.apache.activemq.ActiveMQSessionExecutor.wakeup(ActiveMQSessionExecutor.java:92) > > at > org.apache.activemq.ActiveMQMessageConsumer.start(ActiveMQMessageConsumer.java:993) > > at > org.apache.activemq.ActiveMQMessageConsumer.<init>(ActiveMQMessageConsumer.java:222) > > at > org.apache.activemq.ActiveMQSession.createConsumer(ActiveMQSession.java:1004) > > at > org.apache.activemq.ActiveMQSession.createConsumer(ActiveMQSession.java:948) > > at > org.apache.activemq.ActiveMQSession.createConsumer(ActiveMQSession.java:861) > > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.createConsumer(AbstractPollingMessageListenerContainer.java:437) > > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.createListenerConsumer(AbstractPollingMessageListenerContainer.java:216) > > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:297) > > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:254) > > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:871) > > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:818) > > at java.lang.Thread.run(Thread.java:595) > > Exception in thread "DefaultMessageListenerContainer-29" > > java.lang.OutOfMemoryError: unable to create new native thread > > at java.lang.Thread.start0(Native Method) > > at java.lang.Thread.start(Thread.java:574) > > at > org.apache.activemq.transport.TransportThreadSupport.doStart(TransportThreadSupport.java:43)ERROR > > Service - Async error occurred: > > java.lang.OutOfMemoryError: unable to create new native thread > > java.lang.OutOfMemoryError: unable to create new native thread > > at java.lang.Thread.start0(Native Method) > > at java.lang.Thread.start(Thread.java:574) > > at > org.apache.activemq.broker.TransportConnection.processShutdown(TransportConnection.java:326) > > at > org.apache.activemq.command.ShutdownInfo.visit(ShutdownInfo.java:35) > > at > org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:281) > > at > org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178) > > at > org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:67) > > at > org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:134) > > at > org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:138) > > at > org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) > > at > org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:185) > > at > org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:172) > > at java.lang.Thread.run(Thread.java:595) > > > > at > org.apache.activemq.transport.tcp.TcpTransport.doStart(TcpTransport.java:368) > > at > org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:48) > > at > org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:56) > > at > org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:56) > > at > org.apache.activemq.transport.WireFormatNegotiator.start(WireFormatNegotiator.java:63) > > at > org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:56) > > at > org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:56) > > at > org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:256) > > at > org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:220) > > at > org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:168) > > at > org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:188) > > at > org.springframework.jms.listener.AbstractJmsListeningContainer.createSharedConnection(AbstractJmsListeningContainer.java:209) > > at > org.springframework.jms.listener.AbstractJmsListeningContainer.refreshSharedConnection(AbstractJmsListeningContainer.java:197) > > at > org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageListenerContainer.java:701) > > at > org.springframework.jms.listener.DefaultMessageListenerContainer.recoverAfterListenerSetupFailure(DefaultMessageListenerContainer.java:683) > > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:835) > > at java.lang.Thread.run(Thread.java:595) > > Exception in thread "ActiveMQ Transport Server: tcp://localhost:61616" > > java.lang.OutOfMemoryError: unable to create new native thread > > at java.lang.Thread.start0(Native Method) > > at java.lang.Thread.start(Thread.java:574) > > at > org.apache.activemq.broker.TransportConnector$1.onAccept(TransportConnector.java:160) > > at > org.apache.activemq.transport.tcp.TcpTransportServer.run(TcpTransportServer.java:213) > > at java.lang.Thread.run(Thread.java:595) > > ERROR Service - Async error occurred: > > java.lang.OutOfMemoryError: unable to create new native thread > > java.lang.OutOfMemoryError: unable to create new native thread > > at java.lang.Thread.start0(Native Method) > > at java.lang.Thread.start(Thread.java:574) > > at > org.apache.activemq.broker.TransportConnection.processShutdown(TransportConnection.java:326) > > at > org.apache.activemq.command.ShutdownInfo.visit(ShutdownInfo.java:35) > > at > org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:281) > > at > org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178) > > at > org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:67) > > at > org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:134) > > at > org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:138) > > at > org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) > > at > org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:185) > > at > org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:172) > > at java.lang.Thread.run(Thread.java:595) > > INFO BrokerService - ActiveMQ Message Broker > > (localhost, ID:giga06.ncl.ac.uk-41771-1209660890412-0:0) is shutting > > down > > INFO NetworkConnector - Network Connector > > > [EMAIL PROTECTED] > > Stopped > > INFO TransportConnector - Connector openwire Stopped > > INFO TransportConnector - Connector vm://localhost Stopped > > WARN ActiveMQConnection - Async exception with no > > exception listener: > > org.apache.activemq.transport.TransportDisposedIOException: Peer > > (vm://localhost#1) disposed. > > org.apache.activemq.transport.TransportDisposedIOException: Peer > > (vm://localhost#1) disposed. > > at > org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:200) > > at > org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98) > > at > org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36) > > INFO BrokerService - ActiveMQ JMS Message Broker > > (localhost, ID:giga06.ncl.ac.uk-41771-1209660890412-0:0) stopped > > INFO AdvisoryConsumer - Failed to send remove command: > > javax.jms.JMSException: Peer (vm://localhost#1) disposed. > > javax.jms.JMSException: Peer (vm://localhost#1) disposed. > > at > org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62) > > at > org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1154) > > at > org.apache.activemq.AdvisoryConsumer.dispose(AdvisoryConsumer.java:56) > > at > org.apache.activemq.ActiveMQConnection.cleanup(ActiveMQConnection.java:1326) > > at > org.apache.activemq.ActiveMQConnection.transportFailed(ActiveMQConnection.java:2027) > > at > org.apache.activemq.ActiveMQConnection$4.run(ActiveMQConnection.java:1663) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > > at java.lang.Thread.run(Thread.java:595) > > Caused by: org.apache.activemq.transport.TransportDisposedIOException: > > Peer (vm://localhost#1) disposed. > > at > org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:87) > > at > org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40) > > at > org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:59) > > at > org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1152) > > ... 7 more > > > > > > My broker is running on a linux box with kernel 2.6 (I've read about > > some similar issues when running on a kernel 2.4). > > I'm using the following options when starting AMQ: > > -Xms512m -Xmx1024m -Xmn500m > > > > I'm using the default configuration (no persistence). > > I don't know whether it can help to diagnose the problem, my clients > > are creating a lot of temporary queues (everything is cleaned up after > > use), but their lifetime is very short (a few seconds, they are just > > used to receive a response message). > > A similar problem occurs on my test client too (maybe it's related to > > the error on the broker), but not on the server. > > > > > > Any help would be appreciated, > > Michele > > > > > > > >