Hi,
please find attached the thread dump.
Regards,
Anna

-----Original Message-----
From: Ganesh Murthy [mailto:gmur...@redhat.com] 
Sent: Dienstag, 29. September 2015 16:52
To: users@activemq.apache.org
Subject: Re: Problem shutting down activemq client with failover transport

Can you please provide a thread dump? That would throw some light on exactly 
what is going on.

Thanks.

----- Original Message -----
From: "Anna Maier" <a.ma...@topdesk.com>
To: users@activemq.apache.org
Sent: Tuesday, September 29, 2015 9:31:13 AM
Subject: Problem shutting down activemq client with failover transport

Hi,



I am using Camel to connect to ActiveMQ and it fails to shutdown when the 
ActiveMQComponent cannot make a connection to the broker with the failover 
protocol (activemq version 5.12.0).

The problem seems to be that the failover transport tries to connect to the 
broker in an endless loop on its own thread that cannot be interrupted. I think 
the problem is in the PooledTaskRunner: there is a shutdown field which is set 
to true when camel shuts down, but it appears as false to the thread that is 
running the endless loop.



I am currently at a loss what to do. I want to keep the maximum retries setting 
for the failover transport on indefinite, since I do not know when the the 
broker is back online. At the same time, it has to be possible to shut down the 
application even if there never was a connection to the ActiveMQ broker.



Has anybody seen this problem before and can give some advice? Is this a bug in 
ActiveMQ?



Attached there is some code that reproduces the problem - it never terminates.



Regards,

Anna



The code:
public class ShutdownBug {

     public static void main(String[] args) throws Exception {
         DefaultCamelContext camelContext = new DefaultCamelContext();
         ActiveMQComponent activeMQComponent = new ActiveMQComponent();
          activeMQComponent.setBrokerURL("failover:(http://localhost:61616)");
         camelContext.addComponent("activemq", activeMQComponent);
         camelContext.addRoutes(new RouteBuilder() {
              @Override
              public void configure() {
                   from("activemq:queue:myqueue").to("stream:out");
              }
         });
         Thread startThread = new Thread(new Runnable() {
              @Override
              public void run() {
                   try {
                        camelContext.start();
                   }
                   catch (Exception e) {
                        e.printStackTrace();
                   }
              }
         });
         startThread.start();
         startThread.interrupt();
         startThread.join();
         camelContext.stop();
     }

}

2015-09-30 07:53:25
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.51-b03 mixed mode):

"RMI TCP Connection(2)-10.2.3.76" #21 daemon prio=5 os_prio=0 
tid=0x000000001faac800 nid=0x18f0 runnable [0x000000002243e000]
   java.lang.Thread.State: RUNNABLE
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
        at java.net.SocketInputStream.read(SocketInputStream.java:170)
        at java.net.SocketInputStream.read(SocketInputStream.java:141)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
        - locked <0x000000076b594630> (a java.io.BufferedInputStream)
        at java.io.FilterInputStream.read(FilterInputStream.java:83)
        at 
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:550)
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$255(TCPTransport.java:683)
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$2/934334256.run(Unknown
 Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
        - <0x000000076b309018> (a 
java.util.concurrent.ThreadPoolExecutor$Worker)

"JMX server connection timeout 20" #20 daemon prio=5 os_prio=0 
tid=0x00000000205bb800 nid=0x18d4 in Object.wait() [0x000000002225f000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x000000076b38dd98> (a [I)
        at 
com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:168)
        - locked <0x000000076b38dd98> (a [I)
        at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
        - None

"RMI Scheduler(0)" #19 daemon prio=5 os_prio=0 tid=0x00000000206ab800 
nid=0x18cc waiting on condition [0x000000002210f000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x000000076b1ea6d8> (a 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at 
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
        at 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
        at 
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
        - None

"RMI TCP Connection(1)-10.2.3.76" #18 daemon prio=5 os_prio=0 
tid=0x00000000205ba800 nid=0x18c8 runnable [0x000000001f57e000]
   java.lang.Thread.State: RUNNABLE
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
        at java.net.SocketInputStream.read(SocketInputStream.java:170)
        at java.net.SocketInputStream.read(SocketInputStream.java:141)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
        - locked <0x000000076b35ac28> (a java.io.BufferedInputStream)
        at java.io.FilterInputStream.read(FilterInputStream.java:83)
        at 
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:550)
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$255(TCPTransport.java:683)
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$2/934334256.run(Unknown
 Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
        - <0x000000076b306d08> (a 
java.util.concurrent.ThreadPoolExecutor$Worker)

"RMI TCP Accept-0" #17 daemon prio=5 os_prio=0 tid=0x00000000205b8000 
nid=0x18b8 runnable [0x0000000021eff000]
   java.lang.Thread.State: RUNNABLE
        at java.net.DualStackPlainSocketImpl.accept0(Native Method)
        at 
java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:131)
        at 
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:404)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:199)
        - locked <0x000000076b1eb978> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:545)
        at java.net.ServerSocket.accept(ServerSocket.java:513)
        at 
sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:52)
        at 
sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:400)
        at 
sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:372)
        at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
        - None

"Camel (camel-1) thread #1 - ShutdownTask" #16 daemon prio=5 os_prio=0 
tid=0x0000000020581000 nid=0x630 in Object.wait() [0x0000000012d8e000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x000000076ee08178> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:502)
        at 
org.springframework.jms.listener.DefaultMessageListenerContainer.doShutdown(DefaultMessageListenerContainer.java:566)
        - locked <0x000000076ee08178> (a java.lang.Object)
        at 
org.springframework.jms.listener.AbstractJmsListeningContainer.shutdown(AbstractJmsListeningContainer.java:237)
        at 
org.springframework.jms.listener.AbstractJmsListeningContainer.destroy(AbstractJmsListeningContainer.java:177)
        at 
org.apache.camel.component.jms.DefaultJmsMessageListenerContainer.destroy(DefaultJmsMessageListenerContainer.java:133)
        at 
org.apache.camel.component.jms.JmsConsumer.stopAndDestroyListenerContainer(JmsConsumer.java:179)
        at 
org.apache.camel.component.jms.JmsConsumer.doStop(JmsConsumer.java:217)
        at org.apache.camel.support.ServiceSupport.stop(ServiceSupport.java:102)
        at 
org.apache.camel.util.ServiceHelper.stopService(ServiceHelper.java:141)
        at 
org.apache.camel.impl.DefaultShutdownStrategy.shutdownNow(DefaultShutdownStrategy.java:368)
        at 
org.apache.camel.impl.DefaultShutdownStrategy$ShutdownTask.run(DefaultShutdownStrategy.java:646)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
        - <0x000000076ee082b8> (a 
java.util.concurrent.ThreadPoolExecutor$Worker)

"ActiveMQ InactivityMonitor ReadCheckTimer" #15 daemon prio=5 os_prio=0 
tid=0x00000000203f9000 nid=0x868 in Object.wait() [0x000000002199f000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x000000076ee00d30> (a java.util.TaskQueue)
        at java.util.TimerThread.mainLoop(Timer.java:552)
        - locked <0x000000076ee00d30> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:505)

   Locked ownable synchronizers:
        - None

"Camel (camel-1) thread #0 - JmsConsumer[myqueue]" #14 daemon prio=5 os_prio=0 
tid=0x000000001fe2c800 nid=0x530 waiting for monitor entry [0x00000000217fe000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x000000076ee10178> (a java.lang.Object)
        at 
org.apache.activemq.transport.failover.FailoverTransport.oneway(FailoverTransport.java:623)
        - locked <0x000000076ee10178> (a java.lang.Object)
        at 
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)
        at 
org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:81)
        at 
org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:86)
        at 
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1387)
        at 
org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1501)
        - locked <0x000000076ee2aa30> (a java.lang.Object)
        at 
org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:323)
        at 
org.apache.activemq.jms.pool.ConnectionPool.makeSession(ConnectionPool.java:108)
        at 
org.apache.activemq.jms.pool.ConnectionPool$1.makeObject(ConnectionPool.java:78)
        at 
org.apache.activemq.jms.pool.ConnectionPool$1.makeObject(ConnectionPool.java:74)
        at 
org.apache.commons.pool2.impl.GenericKeyedObjectPool.create(GenericKeyedObjectPool.java:1036)
        at 
org.apache.commons.pool2.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:356)
        at 
org.apache.commons.pool2.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:278)
        at 
org.apache.activemq.jms.pool.ConnectionPool.createSession(ConnectionPool.java:137)
        at 
org.apache.activemq.jms.pool.PooledConnection.createSession(PooledConnection.java:167)
        at 
org.springframework.jms.support.JmsAccessor.createSession(JmsAccessor.java:192)
        at 
org.springframework.jms.listener.DefaultMessageListenerContainer.access$1400(DefaultMessageListenerContainer.java:124)
        at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.initResourcesIfNecessary(DefaultMessageListenerContainer.java:1164)
        at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1143)
        at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1136)
        at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1033)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
        - <0x000000076ee103b8> (a 
java.util.concurrent.ThreadPoolExecutor$Worker)
        - <0x000000076ee2acd0> (a 
java.util.concurrent.locks.ReentrantLock$NonfairSync)

"ActiveMQ Task-1" #13 daemon prio=5 os_prio=0 tid=0x000000001fd3d800 nid=0x454 
runnable [0x000000001ff9e000]
   java.lang.Thread.State: RUNNABLE
        at java.net.DualStackPlainSocketImpl.connect0(Native Method)
        at 
java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
        at 
java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)
        - locked <0x000000076b9414f0> (a java.net.DualStackPlainSocketImpl)
        at 
java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at 
java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at 
org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:127)
        at 
org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
        at 
org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294)
        at 
org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:643)
        at 
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479)
        at 
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
        at 
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:1138)
        at 
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:1076)
        at 
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:1050)
        at 
org.apache.activemq.transport.http.HttpClientTransport.doStart(HttpClientTransport.java:278)
        at org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:55)
        at 
org.apache.activemq.transport.AbstractInactivityMonitor.start(AbstractInactivityMonitor.java:168)
        at 
org.apache.activemq.transport.InactivityMonitor.start(InactivityMonitor.java:50)
        at 
org.apache.activemq.transport.failover.FailoverTransport.doReconnect(FailoverTransport.java:1030)
        - locked <0x000000076ee10178> (a java.lang.Object)
        at 
org.apache.activemq.transport.failover.FailoverTransport$2.iterate(FailoverTransport.java:149)
        - locked <0x000000076ee2af80> (a java.lang.Object)
        at 
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133)
        at 
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
        - <0x000000076ee2b248> (a 
java.util.concurrent.ThreadPoolExecutor$Worker)

"Service Thread" #10 daemon prio=9 os_prio=0 tid=0x000000001d943800 nid=0xbb4 
runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"C1 CompilerThread3" #9 daemon prio=9 os_prio=2 tid=0x000000001ca1f800 
nid=0x1d4 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"C2 CompilerThread2" #8 daemon prio=9 os_prio=2 tid=0x000000001ca1e800 
nid=0x9c4 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"C2 CompilerThread1" #7 daemon prio=9 os_prio=2 tid=0x000000001ca1d000 
nid=0x8f0 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"C2 CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x000000001d8ab000 
nid=0x598 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x000000001d8a7800 nid=0x1068 
waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x000000001d8a6000 nid=0x3f0 
runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"Finalizer" #3 daemon prio=8 os_prio=1 tid=0x000000001ca0e000 nid=0xa24 in 
Object.wait() [0x000000001ee2f000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x000000076ee20bc8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
        - locked <0x000000076ee20bc8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)

   Locked ownable synchronizers:
        - None

"Reference Handler" #2 daemon prio=10 os_prio=2 tid=0x000000001ca07800 
nid=0x1428 in Object.wait() [0x000000001ec0f000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x000000076ee20d80> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:502)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
        - locked <0x000000076ee20d80> (a java.lang.ref.Reference$Lock)

   Locked ownable synchronizers:
        - None

"main" #1 prio=5 os_prio=0 tid=0x00000000021ef000 nid=0x508 waiting on 
condition [0x00000000024be000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x000000076ee20da0> (a 
org.apache.camel.util.concurrent.RejectableFutureTask)
        at 
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
        at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:426)
        at java.util.concurrent.FutureTask.get(FutureTask.java:204)
        at 
org.apache.camel.impl.DefaultShutdownStrategy.doShutdown(DefaultShutdownStrategy.java:190)
        at 
org.apache.camel.impl.DefaultShutdownStrategy.shutdownForced(DefaultShutdownStrategy.java:142)
        at 
org.apache.camel.impl.DefaultCamelContext.doStop(DefaultCamelContext.java:2666)
        - locked <0x000000076ee20fc8> (a 
org.apache.camel.impl.DefaultCamelContext)
        at org.apache.camel.support.ServiceSupport.stop(ServiceSupport.java:102)
        at com.bug.ShutdownBug.main(ShutdownBug.java:34)

   Locked ownable synchronizers:
        - None

"VM Thread" os_prio=2 tid=0x000000001d852800 nid=0xf28 runnable 

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00000000020ef800 nid=0xe3c 
runnable 

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00000000020f1000 nid=0x1664 
runnable 

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00000000020f2800 nid=0x1498 
runnable 

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00000000020f4000 nid=0x1274 
runnable 

"GC task thread#4 (ParallelGC)" os_prio=0 tid=0x00000000020f7800 nid=0x62c 
runnable 

"GC task thread#5 (ParallelGC)" os_prio=0 tid=0x00000000020f8800 nid=0x8ec 
runnable 

"GC task thread#6 (ParallelGC)" os_prio=0 tid=0x00000000020fb800 nid=0xdbc 
runnable 

"GC task thread#7 (ParallelGC)" os_prio=0 tid=0x00000000020fd000 nid=0x26c 
runnable 

"VM Periodic Task Thread" os_prio=2 tid=0x000000001d91a000 nid=0x1fc waiting on 
condition 

JNI global references: 255

Reply via email to