Our broker is running on Linux (RHEL4 box) and after 1 or 2 days I see below error in logs. Note that, below values are set in bin/activemq in out test lab: if [ -z "$ACTIVEMQ_OPTS" ] ; then ACTIVEMQ_OPTS="-Xmx512M -Dorg.apache.activemq.UseDedicatedTaskRunner=true" fi
I tried to stress test broker by creating 200 queues and put 5000 messages (each about 1500 bytes size) in each of these queues. However I could not see any error. Below error occured when broker is idle. >From logs, only activity during this idle period I see is 'DEBUG InactivityMonitor - 30177 ms elapsed since last read check' Can someone help in pointing out what is going wrong? Note that, OutOfMemoryError is seen in our production even when heap size is bumped up to 1024 and dedicated task runner is set to false. This error usvally occurs after 2 days broker running without restart. if [ -z "$ACTIVEMQ_OPTS" ] ; then ACTIVEMQ_OPTS="-Xmx1024M -Dorg.apache.activemq.UseDedicatedTaskRunner=false" fi Stack Trace:-> JVMDUMP006I Processing Dump Event "uncaught", detail "java/lang/OutOfMemoryError" - Please Wait. JVMDUMP007I JVM Requesting Snap Dump using '/x/web/STAGE2SC5464/idimqbroker/Snap0001.20091010.015439.16581.trc' JVMDUMP010I Snap Dump written to /x/web/STAGE2SC5464/idimqbroker/Snap0001.20091010.015439.16581.trc JVMDUMP007I JVM Requesting Heap Dump using '/x/web/STAGE2SC5464/idimqbroker/heapdump.20091010.015439.16581.phd' JVMDUMP010I Heap Dump written to /x/web/STAGE2SC5464/idimqbroker/heapdump.20091010.015439.16581.phd JVMDUMP007I JVM Requesting Java Dump using '/x/web/STAGE2SC5464/idimqbroker/javacore.20091010.015439.16581.txt' JVMDUMP010I Java Dump written to /x/web/STAGE2SC5464/idimqbroker/javacore.20091010.015439.16581.txt JVMDUMP013I Processed Dump Event "uncaught", detail "java/lang/OutOfMemoryError". Exception in thread "MulticastDiscovery: null" java.lang.OutOfMemoryError: heap allocation failed at java.net.PlainDatagramSocketImpl.receive0(Native Method) at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:181) at java.net.DatagramSocket.receive(DatagramSocket.java:724) at org.apache.activemq.transport.discovery.multicast.MulticastDiscoveryAgent.run(MulticastDiscoveryAgent.java:338) at java.lang.Thread.run(Thread.java:803) JVMDUMP006I Processing Dump Event "uncaught", detail "java/lang/OutOfMemoryError" - Please Wait. JVMDUMP007I JVM Requesting Snap Dump using '/x/web/STAGE2SC5464/idimqbroker/Snap0002.20091010.034616.16581.trc' JVMDUMP010I Snap Dump written to /x/web/STAGE2SC5464/idimqbroker/Snap0002.20091010.034616.16581.trc JVMDUMP007I JVM Requesting Heap Dump using '/x/web/STAGE2SC5464/idimqbroker/heapdump.20091010.034616.16581.phd' JVMDUMP016E Aborting: Cannot create file (/x/web/STAGE2SC5464/idimqbroker/heapdump.20091010.034616.16581.phd) JVMDUMP012E Error in Heap Dump: binary dump file cannot be written JVMDUMP007I JVM Requesting Java Dump using '/x/web/STAGE2SC5464/idimqbroker/javacore.20091010.034616.16581.txt' UTE503: utsGetTracePointIterator cannot allocate iterator's buffer JVMDUMP010I Java Dump written to /x/web/STAGE2SC5464/idimqbroker/javacore.20091010.034616.16581.txt JVMDUMP013I Processed Dump Event "uncaught", detail "java/lang/OutOfMemoryError". Exception in thread "MulticastDiscovery: tcp://stage2sc5464.:61616" java.lang.OutOfMemoryError: heap allocation failed at java.net.PlainDatagramSocketImpl.receive0(Native Method) at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:181) at java.net.DatagramSocket.receive(DatagramSocket.java:724) at org.apache.activemq.transport.discovery.multicast.MulticastDiscoveryAgent.run(MulticastDiscoveryAgent.java:338) at java.lang.Thread.run(Thread.java:803) JVMDUMP006I Processing Dump Event "uncaught", detail "java/lang/OutOfMemoryError" - Please Wait. JVMDUMP007I JVM Requesting Snap Dump using '/x/web/STAGE2SC5464/idimqbroker/Snap0003.20091010.034640.16581.trc' JVMDUMP010I Snap Dump written to /x/web/STAGE2SC5464/idimqbroker/Snap0003.20091010.034640.16581.trc JVMDUMP007I JVM Requesting Heap Dump using '/x/web/STAGE2SC5464/idimqbroker/heapdump.20091010.034640.16581.phd' JVMDUMP016E Aborting: Cannot create file (/x/web/STAGE2SC5464/idimqbroker/heapdump.20091010.034640.16581.phd) JVMDUMP012E Error in Heap Dump: binary dump file cannot be written JVMDUMP007I JVM Requesting Java Dump using '/x/web/STAGE2SC5464/idimqbroker/javacore.20091010.034640.16581.txt' UTE503: utsGetTracePointIterator cannot allocate iterator's buffer JVMDUMP010I Java Dump written to /x/web/STAGE2SC5464/idimqbroker/javacore.20091010.034640.16581.txt JVMDUMP013I Processed Dump Event "uncaught", detail "java/lang/OutOfMemoryError". Exception in thread "InactivityMonitor WriteCheck" java.lang.OutOfMemoryError at java.security.AccessController.getProtectionDomains(Native Method) at java.security.AccessController.getContext(AccessController.java:132) at java.lang.Thread.initialize(Thread.java:347) at java.lang.Thread.<init>(Thread.java:278) at java.lang.Thread.<init>(Thread.java:170) at org.apache.activemq.transport.InactivityMonitor$5.newThread(InactivityMonitor.java:303) at java.util.concurrent.ThreadPoolExecutor.addThread(ThreadPoolExecutor.java:411) at java.util.concurrent.ThreadPoolExecutor.addIfUnderMaximumPoolSize(ThreadPoolExecutor.java:463) at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:878) 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:527) at java.util.TimerThread.run(Timer.java:477) Exception in thread "RMI TCP Connection(454)-10.15.26.210" java.lang.NoClassDefFoundError: java.io.StreamCorruptedException at sun.rmi.transport.StreamRemoteCall.getResultStream(StreamRemoteCall.java:177) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:335) at sun.rmi.transport.Transport$1.run(Transport.java:168) at java.security.AccessController.doPrivileged(AccessController.java:275) java.lang.NoClassDefFoundError: java.rmi.UnmarshalException at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:506) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.handleRequest(TCPTransport.java:838) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:912) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:358) at java.lang.Thread.run(Thread.java:803) at sun.rmi.transport.DGCImpl_Stub.dirty(DGCImpl_Stub.java:67) at sun.rmi.transport.DGCClient$EndpointEntry.makeDirtyCall(DGCClient.java:344) at sun.rmi.transport.DGCClient$EndpointEntry.access$1600(DGCClient.java:160) at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:555) at java.lang.Thread.run(Thread.java:803) Exception in thread "RMI LeaseChecker" java.lang.NoClassDefFoundError: java.rmi.server.Unreferenced at sun.rmi.transport.Target.refSetRemove(Target.java:320) at sun.rmi.transport.Target.vmidDead(Target.java:444) at sun.rmi.transport.DGCImpl.checkLeases(DGCImpl.java:265) at sun.rmi.transport.DGCImpl.access$400(DGCImpl.java:47) at sun.rmi.transport.DGCImpl$LeaseChecker.run(DGCImpl.java:329) at java.lang.Thread.run(Thread.java:803) Unhandled exception Type=Segmentation error vmState=0x00053fff J9Generic_Signal_Number=00000004 Signal_Number=0000000b Error_Value=00000000 Signal_Code=00000001 Handler1=008F64F0 Handler2=00142477 InaccessibleAddress=00000000 EDI=00000000 ESI=27E112E0 EAX=00000000 EBX=00000000 ECX=08B7DF40 EDX=00000000 EIP=00F97DB4 ES=0000007B DS=C02D007B ESP=00855BB8 EFlags=00210206 CS=00000073 SS=0000007B EBP=00855BB8 Module=/x/web/STAGE2SC5464/idimqbroker/java/jre/bin/libj9jit23.so Module_base_address=00F09000 Method_being_compiled=org/springframework/jms/listener/DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run()V Target=2_30_20070524_12771_lHdSMR (Linux 2.6.9-55.ELsmp) CPU=x86 (8 logical CPUs) (0x47621d000 RAM) JVMDUMP006I Processing Dump Event "gpf", detail "" - Please Wait. JVMDUMP007I JVM Requesting System Dump using '/x/web/STAGE2SC5464/idimqbroker/core.20091011.220932.16581.dmp' JVMDUMP012E Error in System Dump: cannot find core file, check "ulimit -c" is set high enough JVMDUMP007I JVM Requesting Snap Dump using '/x/web/STAGE2SC5464/idimqbroker/Snap0004.20091011.220932.16581.trc' JVMDUMP010I Snap Dump written to /x/web/STAGE2SC5464/idimqbroker/Snap0004.20091011.220932.16581.trc JVMDUMP007I JVM Requesting Java Dump using '/tmp/javacore.20091011.220932.16581.txt' NULL ------------------------------------------------------------------------ 0SECTION TITLE subcomponent dump routine NULL =============================== 1TISIGINFO Dump Event "gpf" (00002000) received 1TIDATETIME Date: 2009/10/11 at 22:10:17 1TIFILENAME Javacore filename: /tmp/javacore.20091011.220932.16581.txt NULL ------------------------------------------------------------------------ 0SECTION GPINFO subcomponent dump routine NULL ================================ 2XHOSLEVEL OS Level : Linux 2.6.9-55.ELsmp 2XHCPUS Processors - 3XHCPUARCH Architecture : x86 3XHNUMCPUS How Many : 8 NULL -- View this message in context: http://www.nabble.com/java-lang-OutOfMemoryError-tp25864372p25864372.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.