Running on Java 22-ea+27-2262 (Preview)
Home of The JavaSpecialists' Newsletter

195Performance Puzzler with a Stack Trace

Author: Kirk PepperdineDate: 2011-09-15Java Version: 6Category: Performance
 

Abstract: In this newsletter, we present a little performance puzzler, written by Kirk Pepperdine. What is happening with this system? There is only one explanation and it can be discovered by just looking at the stack trace.

 

Welcome to the 195th issue of The Java(tm) Specialists' Newsletter sent to you from the beautiful Island of Crete. The symposium two weeks ago went amazingly well. We had a total of 41 attendees this year, which was small enough to have animated discussions rather than just listen to presentations. At first, the delegates were shocked by the thought that it was up to them to self-organize. Once they get used to it, the discussions flowed much better than at traditional conferences. I certainly learned a lot, and the small group encourages participation. We will probably allow a maximum of 50 attendees in 2012.

Imagine a conference where the major focus is fun! Instead of being organized, we were deliberately disorganized. Kim and Kate Tucker did a marvelous job of eliciting ideas from us and generally keeping our un-conference flowing. Besides the technical discussions, we also went to some interesting places, such as Pirate Bay, a little cove that I discovered on Kirk's last course. The walk down is treacherous due to very thorny bushes. Having done the walk a few times before, I knew how to avoid the spikes, but some of our attendees still bear the mark of this "horror hike" as Helene calls it.

Being an un-conference, we did not even plan our after hours activities. With agility, we un-planned a barbecue at my house with 40 people. We only have 10 chairs. The butcher thought we were crazy when we ordered food for between 20 and 50 people. "How many are you exactly?", he said to us. "We have no idea", was a response. In the end, most of our guests sat on the floor, but without fail we all had a fantastic time. Next year, we will probably plan our activities a bit better. Restaurants can generally not cope with the sudden influx of 50 guests.

It gives me great pleasure to send you a puzzle written by Kirk Pepperdine. I eventually figured it out, but not before looking at the wrong thing initially. Without any further ado, over to Mr. Pepperdine.

javaspecialists.teachable.com: Please visit our new self-study course catalog to see how you can upskill your Java knowledge.

Performance Puzzler with a Stack Trace

This performance puzzler showed up in my inbox and it's kind of interesting and so I asked the owner of this data if I might share it with you all. Here is some background. The JVM is running Tomcat with BlueDragon, a CFML engine installed. The application was previously calm but since the move to OS X Lion, the Java process would ramp up to 135% CPU utilization and then just sit there. My immediate reaction was to request the thread dump that follows. The question is; what is this thread dump telling you and what would you do to confirm. I would only ask that you email me with your answer rather than spoiling other people's fun by posting it here.

[Heinz: In order to make the stack trace fit without line wrapping, I split up the first line of each thread and replaced java.lang with "j.l" and java.util.concurrent with "j.u.c"]

2011-09-06 19:37:43
Full thread dump Java HotSpot(TM) 64-Bit Server VM
                            (20.1-b02-383 mixed mode):

"Attach Listener"
        daemon
        prio=9
        tid=7f846ba62800
        nid=0x113e15000
        waiting on condition [00000000]
   j.l.Thread.State: RUNNABLE

"0595F2FF-4284-4CBF-BAC941472F23EE14"
        daemon
        prio=5
        tid=7f846a810000
        nid=0x117bbf000
        waiting on condition [117bbe000]
   j.l.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <7a0edb9f8> 
        (a j.u.c.locks.AbstractQueuedSynchronizer$ConditionObject)
    at j.u.c.locks.LockSupport.park(LockSupport.java:158)
    at j.u.c.locks.AbstractQueuedSynchronizer$ConditionObject.await
        (AbstractQueuedSynchronizer.java:1987)
    at j.u.c.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:104)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:32)
    at j.u.c.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at j.u.c.ThreadPoolExecutor$Worker.run
        (ThreadPoolExecutor.java:907)
    at j.l.Thread.run(Thread.java:680)

"C2F18A1A-8893-4FD8-B0B2703665071215"
        daemon
        prio=5
        tid=7f846b43f000
        nid=0x117abc000
        waiting on condition [117abb000]
   j.l.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <7a0edb9f8> 
        (a locks.AbstractQueuedSynchronizer$ConditionObject)
    at j.u.c.locks.LockSupport.park(LockSupport.java:158)
    at j.u.c.locks.AbstractQueuedSynchronizer$ConditionObject.await
        (AbstractQueuedSynchronizer.java:1987)
    at j.u.c.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:104)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:32)
    at j.u.c.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at j.u.c.ThreadPoolExecutor$Worker.run
        (ThreadPoolExecutor.java:907)
    at j.l.Thread.run(Thread.java:680)

"399842CB-BEA7-498E-A9E3C27C8F945844"
        daemon
        prio=5
        tid=7f846c109000
        nid=0x1179b9000
        waiting on condition [1179b8000]
   j.l.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <7a0edb9f8> 
        (a j.u.c.locks.AbstractQueuedSynchronizer$ConditionObject)
    at j.u.c.locks.LockSupport.park(LockSupport.java:158)
    at j.u.c.locks.AbstractQueuedSynchronizer$ConditionObject.await
        (AbstractQueuedSynchronizer.java:1987)
    at j.u.c.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:104)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:32)
    at j.u.c.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at j.u.c.ThreadPoolExecutor$Worker.run
        (ThreadPoolExecutor.java:907)
    at j.l.Thread.run(Thread.java:680)

"8C28E94D-6C2A-4EED-89C0BB9AA1A8BCCC"
        daemon
        prio=5
        tid=7f846b43e800
        nid=0x1178b6000
        waiting on condition [1178b5000]
   j.l.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <7a0edb9f8> 
        (a j.u.c.locks.AbstractQueuedSynchronizer$ConditionObject)
    at j.u.c.locks.LockSupport.park(LockSupport.java:158)
    at j.u.c.locks.AbstractQueuedSynchronizer$ConditionObject.await
        (AbstractQueuedSynchronizer.java:1987)
    at j.u.c.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:104)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:32)
    at j.u.c.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at j.u.c.ThreadPoolExecutor$Worker.run
        (ThreadPoolExecutor.java:907)
    at j.l.Thread.run(Thread.java:680)

"05ED2DC5-849A-4EA4-806567122BEB6192"
        daemon
        prio=5
        tid=7f846c159800
        nid=0x1177b3000
        waiting on condition [1177b2000]
   j.l.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <7a0edb9f8> 
        (a j.u.c.locks.AbstractQueuedSynchronizer$ConditionObject)
    at j.u.c.locks.LockSupport.park(LockSupport.java:158)
    at j.u.c.locks.AbstractQueuedSynchronizer$ConditionObject.await
        (AbstractQueuedSynchronizer.java:1987)
    at j.u.c.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:104)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:32)
    at j.u.c.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at j.u.c.ThreadPoolExecutor$Worker.run
        (ThreadPoolExecutor.java:907)
    at j.l.Thread.run(Thread.java:680)

"BA98F79A-50E1-4849-98A29B148EB006CE"
        daemon
        prio=5
        tid=7f846b43d800
        nid=0x11756e000
        waiting on condition [11756d000]
   j.l.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <7a0edb9f8> 
        (a j.u.c.locks.AbstractQueuedSynchronizer$ConditionObject)
    at j.u.c.locks.LockSupport.park(LockSupport.java:158)
    at j.u.c.locks.AbstractQueuedSynchronizer$ConditionObject.await
        (AbstractQueuedSynchronizer.java:1987)
    at j.u.c.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:104)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:32)
    at j.u.c.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at j.u.c.ThreadPoolExecutor$Worker.run
        (ThreadPoolExecutor.java:907)
    at j.l.Thread.run(Thread.java:680)

"F5066395-F9D9-4F98-A6727B13979B46FA"
        daemon
        prio=5
        tid=7f846acf8000
        nid=0x11746b000
        waiting on condition [11746a000]
   j.l.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <7a0edb9f8> 
        (a j.u.c.locks.AbstractQueuedSynchronizer$ConditionObject)
    at j.u.c.locks.LockSupport.park(LockSupport.java:158)
    at j.u.c.locks.AbstractQueuedSynchronizer$ConditionObject.await
        (AbstractQueuedSynchronizer.java:1987)
    at j.u.c.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:104)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:32)
    at j.u.c.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at j.u.c.ThreadPoolExecutor$Worker.run
        (ThreadPoolExecutor.java:907)
    at j.l.Thread.run(Thread.java:680)

"DAB951C0-F38D-44C9-8CB87B3145FD8360"
        daemon
        prio=5
        tid=7f846ab2e800
        nid=0x116ace000
        waiting on condition [116acd000]
   j.l.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <7a0edb9f8> 
        (a j.u.c.locks.AbstractQueuedSynchronizer$ConditionObject)
    at j.u.c.locks.LockSupport.park(LockSupport.java:158)
    at j.u.c.locks.AbstractQueuedSynchronizer$ConditionObject.await
        (AbstractQueuedSynchronizer.java:1987)
    at j.u.c.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:104)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:32)
    at j.u.c.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at j.u.c.ThreadPoolExecutor$Worker.run
        (ThreadPoolExecutor.java:907)
    at j.l.Thread.run(Thread.java:680)

"org.apache.commons.vfs.cache.SoftRefFilesCache$SoftRefReleaseThread"
        daemon
        prio=5
        tid=7f8463239000
        nid=0x1176b0000
        in Object.wait() [1176af000]
   j.l.Thread.State: TIMED_WAITING (on object monitor)
    at j.l.Object.wait(Native Method)
    - waiting on <7dfbb99d8> (a j.l.ref.ReferenceQueue$Lock)
    at j.l.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <7dfbb99d8> (a j.l.ref.ReferenceQueue$Lock)
    at SoftRefFilesCache$SoftRefReleaseThread.run
        (SoftRefFilesCache.java:79)

"35B3A1DD-CA13-41DB-95902A6A2204FADE"
        daemon
        prio=5
        tid=7f8466ad6800
        nid=0x116991000
        waiting on condition [116990000]
   j.l.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <7a0edb9f8> 
        (a j.u.c.locks.AbstractQueuedSynchronizer$ConditionObject)
    at j.u.c.locks.LockSupport.park(LockSupport.java:158)
    at j.u.c.locks.AbstractQueuedSynchronizer$ConditionObject.await
        (AbstractQueuedSynchronizer.java:1987)
    at j.u.c.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:104)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:32)
    at j.u.c.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at j.u.c.ThreadPoolExecutor$Worker.run
        (ThreadPoolExecutor.java:907)
    at j.l.Thread.run(Thread.java:680)

"B8DBA591-39F2-4B41-933934D9DE84D963"
        daemon
        prio=5
        tid=7f8466ad6000
        nid=0x11688e000
        waiting on condition [11688d000]
   j.l.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <7a0edb9f8> 
        (a j.u.c.locks.AbstractQueuedSynchronizer$ConditionObject)
    at j.u.c.locks.LockSupport.park(LockSupport.java:158)
    at j.u.c.locks.AbstractQueuedSynchronizer$ConditionObject.await
        (AbstractQueuedSynchronizer.java:1987)
    at j.u.c.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:104)
    at org.apache.tomcat.util.threads.TaskQueue.take
        (TaskQueue.java:32)
    at j.u.c.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at j.u.c.ThreadPoolExecutor$Worker.run
        (ThreadPoolExecutor.java:907)
    at j.l.Thread.run(Thread.java:680)

""ajp-bio-8009"-AsyncTimeout"
        daemon
        prio=5
        tid=7f84688a3800
        nid=0x116707000
        waiting on condition [116706000]
   j.l.Thread.State: TIMED_WAITING (sleeping)
    at j.l.Thread.sleep(Native Method)
    at org.apache.tomcat.util.net.JIoEndpoint$AsyncTimeout.run
        (JIoEndpoint.java:143)
    at j.l.Thread.run(Thread.java:680)

""ajp-bio-8009"-Acceptor-0"
        daemon
        prio=5
        tid=7f84689ce800
        nid=0x116604000
        runnable [116603000]
   j.l.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
    - locked <7dfbba628> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:462)
    at java.net.ServerSocket.accept(ServerSocket.java:430)
    at tomcat.util.net.DefaultServerSocketFactory.acceptSocket
        (DefaultServerSocketFactory.java:59)
    at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run
        (JIoEndpoint.java:211)
    at j.l.Thread.run(Thread.java:680)

""http-bio-8080"-AsyncTimeout"
        daemon
        prio=5
        tid=7f8468d19000
        nid=0x116501000
        waiting on condition [116500000]
   j.l.Thread.State: TIMED_WAITING (sleeping)
    at j.l.Thread.sleep(Native Method)
    at org.apache.tomcat.util.net.JIoEndpoint$AsyncTimeout.run
        (JIoEndpoint.java:143)
    at j.l.Thread.run(Thread.java:680)

""http-bio-8080"-Acceptor-0"
        daemon
        prio=5
        tid=7f84689cf800
        nid=0x1163fe000
        runnable [1163fd000]
   j.l.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
    - locked <7dfbb9d28> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:462)
    at java.net.ServerSocket.accept(ServerSocket.java:430)
    at apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket
        (DefaultServerSocketFactory.java:59)
    at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run
        (JIoEndpoint.java:211)
    at j.l.Thread.run(Thread.java:680)

"ContainerBackgroundProcessor[StandardEngine[Catalina]]"
        daemon
        prio=5
        tid=7f8469fe4000
        nid=0x1160a4000
        waiting on condition [1160a3000]
   j.l.Thread.State: TIMED_WAITING (sleeping)
    at j.l.Thread.sleep(Native Method)
    at catalina.core.ContainerBase$ContainerBackgroundProcessor.run
        (ContainerBase.java:1369)
    at j.l.Thread.run(Thread.java:680)

"CFQUERY Backgrounder"
        daemon
        prio=1
        tid=7f846503a800
        nid=0x115f1b000
        waiting on condition [115f1a000]
   j.l.Thread.State: TIMED_WAITING (sleeping)
    at j.l.Thread.sleep(Native Method)
    at com.naryx.tagfusion.cfm.sql.platform.java.queryBatchServer.run
        (Unknown Source)

"BlueDragon MailSender"
        daemon
        prio=1
        tid=7f846680a000
        nid=0x1162fb000
        in Object.wait() [1162fa000]
   j.l.Thread.State: TIMED_WAITING (on object monitor)
    at j.l.Object.wait(Native Method)
    - waiting on <7a0edbf80> (a j.l.Object)
    at com.bluedragon.platform.java.smtp.OutgoingMailServer.getMail
        (Unknown Source)
    - locked <7a0edbf80> (a j.l.Object)
    at com.bluedragon.platform.java.smtp.OutgoingMailServer.run
        (Unknown Source)

"OpenBDAlarmManager"
        daemon
        prio=5
        tid=7f84652df800
        nid=0x1161f8000
        waiting on condition [1161f7000]
   j.l.Thread.State: TIMED_WAITING (sleeping)
    at j.l.Thread.sleep(Native Method)
    at com.nary.util.AlarmManager.run(Unknown Source)
    at j.l.Thread.run(Thread.java:680)

"BlueDragon MailSender"
        daemon
        prio=1
        tid=7f84651b6000
        nid=0x115d4e000
        in Object.wait() [115d4d000]
   j.l.Thread.State: WAITING (on object monitor)
    at j.l.Object.wait(Native Method)
    - waiting on <7a0edc008> (a j.l.Object)
    at j.l.Object.wait(Object.java:485)
    at com.naryx.tagfusion.cfm.mail.mailServer$MailSender.getMail
        (Unknown Source)
    - locked <7a0edc008> (a j.l.Object)
    at com.naryx.tagfusion.cfm.mail.mailServer$MailSender.run
        (Unknown Source)

"CFQUERY Backgrounder"
        daemon
        prio=1
        tid=7f846699e800
        nid=0x115c4b000
        waiting on condition [115c4a000]
   j.l.Thread.State: TIMED_WAITING (sleeping)
    at j.l.Thread.sleep(Native Method)
    at com.naryx.tagfusion.cfm.sql.platform.java.queryBatchServer.run
        (Unknown Source)

"BlueDragon AlarmManager"
        daemon
        prio=5
        tid=7f8469acc800
        nid=0x1156f5000
        waiting on condition [1156f4000]
   j.l.Thread.State: TIMED_WAITING (sleeping)
    at j.l.Thread.sleep(Native Method)
    at com.nary.util.AlarmManager.run(Unknown Source)

"BlueDragon MailSender"
        daemon
        prio=1
        tid=7f846880a000
        nid=0x1159fe000
        in Object.wait() [1159fd000]
   j.l.Thread.State: WAITING (on object monitor)
    at j.l.Object.wait(Native Method)
    - waiting on <7dfbba4f0> (a j.l.Object)
    at j.l.Object.wait(Object.java:485)
    at com.naryx.tagfusion.cfm.mail.mailServer$MailSender.getMail
        (Unknown Source)
    - locked <7dfbba4f0> (a j.l.Object)
    at com.naryx.tagfusion.cfm.mail.mailServer$MailSender.run
        (Unknown Source)

"BlueDragon CFQUERY Backgrounder"
        daemon
        prio=1
        tid=7f8469964800
        nid=0x1158fb000
        in Object.wait() [1158fa000]
   j.l.Thread.State: TIMED_WAITING (on object monitor)
    at j.l.Object.wait(Native Method)
    - waiting on <7dfbbada8> 
        (a com.naryx.tagfusion.cfm.sql.queryBatchServer)
    at com.naryx.tagfusion.cfm.sql.queryBatchServer.run
        (Unknown Source)
    - locked <7dfbbada8> 
        (a com.naryx.tagfusion.cfm.sql.queryBatchServer)

"BlueDragon AlarmManager"
        daemon
        prio=5
        tid=7f846995f800
        nid=0x1157f8000
        waiting on condition [1157f7000]
   j.l.Thread.State: TIMED_WAITING (sleeping)
    at j.l.Thread.sleep(Native Method)
    at com.nary.util.AlarmManager.run(Unknown Source)

"BlueDragon MailSender"
        daemon
        prio=1
        tid=7f84669a5000
        nid=0x115311000
        in Object.wait() [115310000]
   j.l.Thread.State: WAITING (on object monitor)
    at j.l.Object.wait(Native Method)
    - waiting on <7dfbba5b0> (a j.l.Object)
    at j.l.Object.wait(Object.java:485)
    at com.naryx.tagfusion.cfm.mail.mailServer$MailSender.getMail
        (Unknown Source)
    - locked <7dfbba5b0> (a j.l.Object)
    at com.naryx.tagfusion.cfm.mail.mailServer$MailSender.run
        (Unknown Source)

"CFQUERY Backgrounder"
        daemon
        prio=1
        tid=7f84669a4000
        nid=0x1149c5000
        waiting on condition [1149c4000]
   j.l.Thread.State: TIMED_WAITING (sleeping)
    at j.l.Thread.sleep(Native Method)
    at com.naryx.tagfusion.cfm.sql.platform.java.queryBatchServer.run
        (Unknown Source)

"BlueDragon AlarmManager"
        daemon
        prio=5
        tid=7f84669a3800
        nid=0x1141a7000
        waiting on condition [1141a6000]
   j.l.Thread.State: TIMED_WAITING (sleeping)
    at j.l.Thread.sleep(Native Method)
    at com.nary.util.AlarmManager.run(Unknown Source)

"CFQUERY Backgrounder"
        daemon
        prio=1
        tid=7f84651fb000
        nid=0x115b48000
        waiting on condition [115b47000]
   j.l.Thread.State: TIMED_WAITING (sleeping)
    at j.l.Thread.sleep(Native Method)
    at com.naryx.tagfusion.cfm.sql.platform.java.queryBatchServer.run
        (Unknown Source)

"BlueDragon MailSender"
        daemon
        prio=1
        tid=7f8463bba800
        nid=0x115151000
        in Object.wait() [115150000]
   j.l.Thread.State: TIMED_WAITING (on object monitor)
    at j.l.Object.wait(Native Method)
    - waiting on <7dfbb9ac8> (a j.l.Object)
    at com.bluedragon.platform.java.smtp.OutgoingMailServer.getMail
        (Unknown Source)
    - locked <7dfbb9ac8> (a j.l.Object)
    at com.bluedragon.platform.java.smtp.OutgoingMailServer.run
        (Unknown Source)

"OpenBDAlarmManager"
        daemon
        prio=5
        tid=7f8466bca800
        nid=0x11504e000
        waiting on condition [11504d000]
   j.l.Thread.State: TIMED_WAITING (sleeping)
    at j.l.Thread.sleep(Native Method)
    at com.nary.util.AlarmManager.run(Unknown Source)
    at j.l.Thread.run(Thread.java:680)

"CFQUERY Backgrounder"
        daemon
        prio=1
        tid=7f8463281800
        nid=0x114734000
        waiting on condition [114733000]
   j.l.Thread.State: TIMED_WAITING (sleeping)
    at j.l.Thread.sleep(Native Method)
    at com.naryx.tagfusion.cfm.sql.platform.java.queryBatchServer.run
        (Unknown Source)

"AWT-AppKit"
        daemon
        prio=5
        tid=7f846325e800
        nid=0x7fff70b3e960
        runnable [00000000]
   j.l.Thread.State: RUNNABLE

"BlueDragon MailSender"
        daemon
        prio=1
        tid=7f846325d800
        nid=0x1143ad000
        in Object.wait() [1143ac000]
   j.l.Thread.State: TIMED_WAITING (on object monitor)
    at j.l.Object.wait(Native Method)
    - waiting on <7dfbb9a50> (a j.l.Object)
    at com.bluedragon.platform.java.smtp.OutgoingMailServer.getMail
        (Unknown Source)
    - locked <7dfbb9a50> (a j.l.Object)
    at com.bluedragon.platform.java.smtp.OutgoingMailServer.run
        (Unknown Source)

"OpenBDAlarmManager"
        daemon
        prio=5
        tid=7f846392a800
        nid=0x1142aa000
        waiting on condition [1142a9000]
   j.l.Thread.State: TIMED_WAITING (sleeping)
    at j.l.Thread.sleep(Native Method)
    at com.nary.util.AlarmManager.run(Unknown Source)
    at j.l.Thread.run(Thread.java:680)

"Poller SunPKCS11-Darwin"
        daemon
        prio=1
        tid=7f84638cf800
        nid=0x1140a4000
        runnable [1140a3000]
   j.l.Thread.State: RUNNABLE
    at sun.security.pkcs11.wrapper.PKCS11.C_GetSlotInfo
        (Native Method)
    at sun.security.pkcs11.SunPKCS11.initToken(SunPKCS11.java:767)
    at sun.security.pkcs11.SunPKCS11.access$100(SunPKCS11.java:42)
    at sun.security.pkcs11.SunPKCS11$TokenPoller.run
        (SunPKCS11.java:700)
    at j.l.Thread.run(Thread.java:680)

"GC Daemon"
        daemon
        prio=2
        tid=7f8463b14800
        nid=0x113d12000
        in Object.wait() [113d11000]
   j.l.Thread.State: TIMED_WAITING (on object monitor)
    at j.l.Object.wait(Native Method)
    - waiting on <7dfbb9780> (a sun.misc.GC$LatencyLock)
    at sun.misc.GC$Daemon.run(GC.java:100)
    - locked <7dfbb9780> (a sun.misc.GC$LatencyLock)

"Low Memory Detector"
        daemon
        prio=5
        tid=7f8463094000
        nid=0x113538000
        runnable [00000000]
   j.l.Thread.State: RUNNABLE

"C2 CompilerThread1"
        daemon
        prio=9
        tid=7f8463093800
        nid=0x113435000
        waiting on condition [00000000]
   j.l.Thread.State: RUNNABLE

"C2 CompilerThread0"
        daemon
        prio=9
        tid=7f8463092800
        nid=0x113332000
        waiting on condition [00000000]
   j.l.Thread.State: RUNNABLE

"Signal Dispatcher"
        daemon
        prio=9
        tid=7f8463092000
        nid=0x11322f000
        runnable [00000000]
   j.l.Thread.State: RUNNABLE

"Surrogate Locker Thread (Concurrent GC)"
        daemon
        prio=5
        tid=7f8463091000
        nid=0x11312c000
        waiting on condition [00000000]
   j.l.Thread.State: RUNNABLE

"Finalizer"
        daemon
        prio=8
        tid=7f846380b800
        nid=0x112e68000
        in Object.wait() [112e67000]
   j.l.Thread.State: WAITING (on object monitor)
    at j.l.Object.wait(Native Method)
    - waiting on <7dfa00cf8> (a j.l.ref.ReferenceQueue$Lock)
    at j.l.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <7dfa00cf8> (a j.l.ref.ReferenceQueue$Lock)
    at j.l.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
    at j.l.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler"
        daemon
        prio=10
        tid=7f846380b000
        nid=0x112d65000
        in Object.wait() [112d64000]
   j.l.Thread.State: WAITING (on object monitor)
    at j.l.Object.wait(Native Method)
    - waiting on <7dfa00bc0> (a j.l.ref.Reference$Lock)
    at j.l.Object.wait(Object.java:485)
    at j.l.ref.Reference$ReferenceHandler.run(Reference.java:116)
    - locked <7dfa00bc0> (a j.l.ref.Reference$Lock)

"main"
        prio=5
        tid=7f8463001000
        nid=0x10b110000
        runnable [10b10e000]
   j.l.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
    - locked <7a1061e30> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:462)
    at java.net.ServerSocket.accept(ServerSocket.java:430)
    at org.apache.catalina.core.StandardServer.await
        (StandardServer.java:447)
    at org.apache.catalina.startup.Catalina.await(Catalina.java:707)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:653)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke
        (NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke
        (DelegatingMethodAccessorImpl.java:25)
    at j.l.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start
        (Bootstrap.java:303)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431)

"VM Thread"
        prio=9
        tid=7f8463806000
        nid=0x112c62000
        runnable

"Gang worker#0 (Parallel GC Threads)"
        prio=9
        tid=7f8463002800
        nid=0x10e44a000
        runnable

"Gang worker#1 (Parallel GC Threads)"
        prio=9
        tid=7f8463003000
        nid=0x10e54d000
        runnable

"Gang worker#2 (Parallel GC Threads)"
        prio=9
        tid=7f8463003800
        nid=0x10e650000
        runnable

"Gang worker#3 (Parallel GC Threads)"
        prio=9
        tid=7f8463004000
        nid=0x10e753000
        runnable

"Concurrent Mark-Sweep GC Thread"
        prio=9
        tid=7f846307f800
        nid=0x11249a000
        runnable

"VM Periodic Task Thread"
        prio=10
        tid=7f84630a5800
        nid=0x11363b000
        waiting on condition

"Exception Catcher Thread"
        prio=10
        tid=7f8463001800
        nid=0x10b272000
        runnable

Kind regards from Crete

Kirk Pepperdine

We now have a Facebook page for the Java Specialists. If you've enjoyed reading this newsletter, please take a moment to "like" our group.

 

Comments

We are always happy to receive comments from our readers. Feel free to send me a comment via email or discuss the newsletter in our JavaSpecialists Slack Channel (Get an invite here)

When you load these comments, you'll be connected to Disqus. Privacy Statement.

Related Articles

Browse the Newsletter Archive

About the Author

Heinz Kabutz Java Conference Speaker

Java Champion, author of the Javaspecialists Newsletter, conference speaking regular... About Heinz

Superpack '23

Superpack '23 Our entire Java Specialists Training in one huge bundle more...

Free Java Book

Dynamic Proxies in Java Book
Java Training

We deliver relevant courses, by top Java developers to produce more resourceful and efficient programmers within their organisations.

Java Consulting

We can help make your Java application run faster and trouble-shoot concurrency and performance bugs...