Good day,
I've been working on closing all my threads in my applications that run on
Tomcat. I recently upgraded to 7.0.14 to get better messages concerning why
Tomcat wasn't shutting down properly. I have stopped all my servlets and
threads, but I'm still having trouble. Below is the thread dump of the most
recent shutdown and my catalina log. I don't see any of my threads in there,
so what is keeping Tomcat alive?
2011-06-10 09:07:32
Full thread dump Java HotSpot(TM) 64-Bit Server VM (19.0-b09 mixed mode):
"DestroyJavaVM" prio=3D10 tid=3D0x000000005d1e9800 nid=3D0x5155 waiting on
condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Worker-JM" prio=3D10 tid=3D0x000000005d7a1800 nid=3D0x521f in Object.wait()
[0x0000000042ce2000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000b69c2050> (a java.util.ArrayList)
at
org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:58)
- locked <0x00000000b69c2050> (a java.util.ArrayList)
"Bundle File Closer" daemon prio=3D10 tid=3D0x000000005e223800 nid=3D0x521d in
Object.wait() [0x0000000042be1000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000b6a67768> (a
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at java.lang.Object.wait(Object.java:485)
at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
- locked <0x00000000b6a67768> (a
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)
"Start Level Event Dispatcher" daemon prio=3D10 tid=3D0x000000005d5fc000
nid=3D0x521b in Object.wait() [0x0000000042ae0000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000b68c5d38> (a
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at java.lang.Object.wait(Object.java:485)
at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
- locked <0x00000000b68c5d38> (a
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)
"Framework Event Dispatcher" daemon prio=3D10 tid=3D0x000000005d956800
nid=3D0x521a in Object.wait() [0x00000000429df000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000b68f7278> (a
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at java.lang.Object.wait(Object.java:485)
at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
- locked <0x00000000b68f7278> (a
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)
"GC Daemon" daemon prio=3D10 tid=3D0x000000005d299000 nid=3D0x5160 in
Object.wait() [0x0000000040dea000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000b48180b8> (a sun.misc.GC$LatencyLock)
at sun.misc.GC$Daemon.run(GC.java:100)
- locked <0x00000000b48180b8> (a sun.misc.GC$LatencyLock)
"Low Memory Detector" daemon prio=3D10 tid=3D0x000000005ce8b000 nid=3D0x515e
runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread1" daemon prio=3D10 tid=3D0x000000005ce88800 nid=3D0x515d
waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread0" daemon prio=3D10 tid=3D0x000000005ce85000 nid=3D0x515c
waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=3D10 tid=3D0x000000005ce82800 nid=3D0x515b
runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=3D10 tid=3D0x000000005ce5e000 nid=3D0x515a in
Object.wait() [0x000000004136b000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000b4818800> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <0x00000000b4818800> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=3D10 tid=3D0x000000005ce5c000 nid=3D0x5159 in
Object.wait() [0x000000004126a000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000b48180a8> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <0x00000000b48180a8> (a java.lang.ref.Reference$Lock)
"VM Thread" prio=3D10 tid=3D0x000000005ce58000 nid=3D0x5158 runnable
"GC task thread#0 (ParallelGC)" prio=3D10 tid=3D0x000000005ce11000 nid=3D0x5156
runnable
"GC task thread#1 (ParallelGC)" prio=3D10 tid=3D0x000000005ce13000 nid=3D0x5157
runnable
"VM Periodic Task Thread" prio=3D10 tid=3D0x000000005ce95800 nid=3D0x515f
waiting on condition
JNI global references: 979
Heap
PSYoungGen total 32576K, used 26388K [0x00000000e6d60000,
0x00000000e91c0000, 0x0000000100000000)
eden space 30208K, 79% used
[0x00000000e6d60000,0x00000000e84e0000,0x00000000e8ae0000)
from space 2368K, 98% used
[0x00000000e8bc0000,0x00000000e8e05080,0x00000000e8e10000)
to space 3520K, 0% used
[0x00000000e8e50000,0x00000000e8e50000,0x00000000e91c0000)
PSOldGen total 51584K, used 40926K [0x00000000b4800000,
0x00000000b7a60000, 0x00000000e6d60000)
object space 51584K, 79% used
[0x00000000b4800000,0x00000000b6ff79c0,0x00000000b7a60000)
PSPermGen total 58304K, used 58283K [0x00000000af600000,
0x00000000b2ef0000, 0x00000000b4800000)
object space 58304K, 99% used
[0x00000000af600000,0x00000000b2eeafe0,0x00000000b2ef0000)
catalina.out
Jun 10, 2011 9:04:48 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the
Server instance.
Jun 10, 2011 9:04:48 AM org.apache.coyote.AbstractProtocolHandler pause
INFO: Pausing ProtocolHandler ["http-bio-8088"] Jun 10, 2011 9:04:49 AM
org.apache.coyote.AbstractProtocolHandler pause
INFO: Pausing ProtocolHandler ["http-bio-8443"] Jun 10, 2011 9:04:50 AM
org.apache.coyote.AbstractProtocolHandler pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"] Jun 10, 2011 9:04:51 AM
org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
[SimpleHTTPServer] Stop called
[INFO] Shut down connection listener
[INFO] Shut down HTTP processors
[INFO] HTTP protocol handler shut down
Jun 10, 2011 9:04:56 AM org.apache.catalina.loader.WebappClassLoader
clearReferencesStopTimerThread
SEVERE: The web application [/axis2] appears to have started a TimerThread
named [Timer-0] via the java.util.Timer API but has failed to stop it. To
prevent a memory leak, the timer (and hence the associated thread) has been
forcibly canceled. (***I looked in the logs that run this and it does get
cancelled. Also, this is not in the thread dump listed above.****)
Jun 10, 2011 9:04:56 AM org.apache.coyote.AbstractProtocolHandler stop
INFO: Stopping ProtocolHandler ["http-bio-8088"] Jun 10, 2011 9:04:56 AM
org.apache.coyote.AbstractProtocolHandler stop
INFO: Stopping ProtocolHandler ["http-bio-8443"] Jun 10, 2011 9:04:56 AM
org.apache.coyote.AbstractProtocolHandler stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Thanks,
April
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]