You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by April Easton <AE...@shawneecourt.org> on 2011/06/10 16:36:26 UTC
Tomcat shutdown issues
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: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: Tomcat shutdown issues
Posted by Pid <pi...@pidster.com>.
On 10/06/2011 15:36, April Easton wrote:
> 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?
Are you running Tomcat inside Eclipse?
p
Re: Tomcat shutdown issues
Posted by Rainer Jung <ra...@kippdata.de>.
On 10.06.2011 16:55, Caldarale, Charles R wrote:
>> From: April Easton [mailto:AEaston@shawneecourt.org]
>> Subject: Tomcat shutdown issues
>
>> I don't see any of my threads in there
>
> Look harder:
>
>> "Worker-JM" prio=3D10 tid=3D0x000000005d7a1800 nid=3D0x521f in Object.wait()
>> at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:58)
>> "Bundle File Closer" daemon prio=3D10 tid=3D0x000000005e223800 nid=3D0x521d in Object.wait()
>> at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
>> 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()
>> at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
>> 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()
>> at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
>> at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)
>
> Those aren't Tomcat's threads; ergo, they are yours. You're running Eclipse, you're responsible for the chaos it creates.
... but AFAIK only the non-daemon threads are problematic. The JVM
shouldn't care about existing daemon threads when trying to shut down.
So the only one in the list to care about is "Worker-JM".
Regards,
Rainer
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
RE: Tomcat shutdown issues
Posted by "Caldarale, Charles R" <Ch...@unisys.com>.
> From: April Easton [mailto:AEaston@shawneecourt.org]
> Subject: Tomcat shutdown issues
> I don't see any of my threads in there
Look harder:
> "Worker-JM" prio=3D10 tid=3D0x000000005d7a1800 nid=3D0x521f in Object.wait()
> at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:58)
> "Bundle File Closer" daemon prio=3D10 tid=3D0x000000005e223800 nid=3D0x521d in Object.wait()
> at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
> 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()
> at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
> 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()
> at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
> at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)
Those aren't Tomcat's threads; ergo, they are yours. You're running Eclipse, you're responsible for the chaos it creates.
- Chuck
THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org