I did a kill -3, and see these messages written to catalina.out. Something definitely doesn't seem right -
Feb 15, 2014 11:24:23 PM org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java 2014-02-16 01:22:23 Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.65-b04-462 mixed mode): "Thread-5" daemon prio=5 tid=7fe82c1f7000 nid=0x10c4bb000 waiting for monitor entry [00000000] java.lang.Thread.State: BLOCKED (on object monitor) "GC Daemon" daemon prio=2 tid=7fe82f958800 nid=0x10fc59000 in Object.wait() [10fc58000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <7f42b20d0> (a sun.misc.GC$LatencyLock) at sun.misc.GC$Daemon.run(GC.java:100) - locked <7f42b20d0> (a sun.misc.GC$LatencyLock) "AWT-AppKit" daemon prio=5 tid=7fe82f10d000 nid=0x7fff7a5b3960 runnable [00000000] java.lang.Thread.State: RUNNABLE "Low Memory Detector" daemon prio=5 tid=7fe82f01c800 nid=0x10ca4d000 runnable [00000000] java.lang.Thread.State: RUNNABLE "C2 CompilerThread1" daemon prio=9 tid=7fe82f01b800 nid=0x10c94a000 waiting on condition [00000000] java.lang.Thread.State: RUNNABLE "C2 CompilerThread0" daemon prio=9 tid=7fe82f01b000 nid=0x10c847000 waiting on condition [00000000] java.lang.Thread.State: RUNNABLE "Signal Dispatcher" daemon prio=9 tid=7fe82f01a000 nid=0x10c744000 waiting on condition [00000000] java.lang.Thread.State: RUNNABLE "Surrogate Locker Thread (Concurrent GC)" daemon prio=5 tid=7fe82f019000 nid=0x10c641000 waiting on condition [00000000] java.lang.Thread.State: RUNNABLE "Finalizer" daemon prio=8 tid=7fe82c13f800 nid=0x10c37d000 in Object.wait() [10c37c000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <7f42b0400> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) - locked <7f42b0400> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:171) "Reference Handler" daemon prio=10 tid=7fe82c13f000 nid=0x10c27a000 in Object.wait() [10c279000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <7f42b0090> (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 <7f42b0090> (a java.lang.ref.Reference$Lock) "main" prio=5 tid=7fe82c001800 nid=0x10448e000 runnable [10448b000] java.lang.Thread.State: RUNNABLE at sun.security.pkcs11.wrapper.PKCS11.C_GetSlotList(Native Method) at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:314) at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:86) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at sun.security.jca.ProviderConfig$4.run(ProviderConfig.java:262) at java.security.AccessController.doPrivileged(Native Method) at sun.security.jca.ProviderConfig.doLoadProvider(ProviderConfig.java:244) at sun.security.jca.ProviderConfig.getProvider(ProviderConfig.java:224) - locked <7f42b0110> (a sun.misc.Launcher$AppClassLoader) at sun.security.jca.ProviderList.loadAll(ProviderList.java:264) at sun.security.jca.ProviderList.removeInvalid(ProviderList.java:281) at sun.security.jca.Providers.getFullProviderList(Providers.java:129) - locked <7fb0bfef0> (a java.lang.Class for sun.security.jca.Providers) at java.security.Security.getProviders(Security.java:421) at org.apache.catalina.core.JreMemoryLeakPreventionListener.lifecycleEvent(JreMemoryLeakPreventionListener.java:407) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402) - locked <7f42b6328> (a org.apache.catalina.core.StandardServer) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:99) - locked <7f42b6328> (a org.apache.catalina.core.StandardServer) at org.apache.catalina.startup.Catalina.load(Catalina.java:639) at org.apache.catalina.startup.Catalina.load(Catalina.java:664) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455) "VM Thread" prio=9 tid=7fe82c13a000 nid=0x10c177000 runnable "Gang worker#0 (Parallel GC Threads)" prio=9 tid=7fe82c002800 nid=0x10780d000 runnable "Gang worker#1 (Parallel GC Threads)" prio=9 tid=7fe82c003800 nid=0x107910000 runnable "Gang worker#2 (Parallel GC Threads)" prio=9 tid=7fe82c004000 nid=0x107a13000 runnable "Gang worker#3 (Parallel GC Threads)" prio=9 tid=7fe82c004800 nid=0x107b16000 runnable "Gang worker#4 (Parallel GC Threads)" prio=9 tid=7fe82c005000 nid=0x107c19000 runnable "Gang worker#5 (Parallel GC Threads)" prio=9 tid=7fe82c006000 nid=0x107d1c000 runnable "Gang worker#6 (Parallel GC Threads)" prio=9 tid=7fe82c006800 nid=0x107e1f000 runnable "Gang worker#7 (Parallel GC Threads)" prio=9 tid=7fe82c007000 nid=0x107f22000 runnable "Concurrent Mark-Sweep GC Thread" prio=9 tid=7fe82c0e4800 nid=0x10bdee000 runnable "Gang worker#0 (Parallel CMS Threads)" prio=9 tid=7fe82c0e3000 nid=0x10b3e8000 runnable "Gang worker#1 (Parallel CMS Threads)" prio=9 tid=7fe82c0e4000 nid=0x10b4eb000 runnable "VM Periodic Task Thread" prio=10 tid=7fe82f02e000 nid=0x10cb50000 waiting on condition "Exception Catcher Thread" prio=10 tid=7fe82c002000 nid=0x104636000 runnable JNI global references: 951 Heap par new generation total 19136K, used 8077K [7f3000000, 7f44c0000, 7f44c0000) eden space 17024K, 35% used [7f3000000, 7f35d34b8, 7f40a0000) from space 2112K, 100% used [7f42b0000, 7f44c0000, 7f44c0000) to space 2112K, 0% used [7f40a0000, 7f40a0000, 7f42b0000) concurrent mark-sweep generation total 63872K, used 56K [7f44c0000, 7f8320000, 7fae00000) concurrent-mark-sweep perm gen total 21248K, used 12485K [7fae00000, 7fc2c0000, 800000000) 2014-02-16 01:24:53 Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.65-b04-462 mixed mode): "Thread-5" daemon prio=5 tid=7fe82c1f7000 nid=0x10c4bb000 waiting for monitor entry [00000000] java.lang.Thread.State: BLOCKED (on object monitor) "GC Daemon" daemon pridevo=2 tid=7fe82f958800 nid=0x10fc59000 in Object.wait() [10fc58000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <7f42b20d0> (a sun.misc.GC$LatencyLock) at sun.misc.GC$Daemon.run(GC.java:100) - locked <7f42b20d0> (a sun.misc.GC$LatencyLock) "AWT-AppKit" daemon prio=5 tid=7fe82f10d000 nid=0x7fff7a5b3960 runnable [00000000] java.lang.Thread.State: RUNNABLE "Low Memory Detector" daemon prio=5 tid=7fe82f01c800 nid=0x10ca4d000 runnable [00000000] java.lang.Thread.State: RUNNABLE "C2 CompilerThread1" daemon prio=9 tid=7fe82f01b800 nid=0x10c94a000 waiting on condition [00000000] java.lang.Thread.State: RUNNABLE "C2 CompilerThread0" daemon prio=9 tid=7fe82f01b000 nid=0x10c847000 waiting on condition [00000000] java.lang.Thread.State: RUNNABLE "Signal Dispatcher" daemon prio=9 tid=7fe82f01a000 nid=0x10c744000 waiting on condition [00000000] java.lang.Thread.State: RUNNABLE "Surrogate Locker Thread (Concurrent GC)" daemon prio=5 tid=7fe82f019000 nid=0x10c641000 waiting on condition [00000000] java.lang.Thread.State: RUNNABLE "Finalizer" daemon prio=8 tid=7fe82c13f800 nid=0x10c37d000 in Object.wait() [10c37c000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <7f42b0400> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) - locked <7f42b0400> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:171) "Reference Handler" daemon prio=10 tid=7fe82c13f000 nid=0x10c27a000 in Object.wait() [10c279000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <7f42b0090> (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 <7f42b0090> (a java.lang.ref.Reference$Lock) On Sun, Feb 16, 2014 at 6:22 AM, Caldarale, Charles R < chuck.caldar...@unisys.com> wrote: > > From: Tim Leung [mailto:timleung1...@gmail.com] > > Subject: Unable to shutdown tomcat > > > I am unable to shutdown tomcat. When I do ./shutdown.sh, I don't see any > > error, but the process still seems to be running. > > Likely one of your webapps started a thread that is still running, > preventing the JVM from stopping. Take a thread dump before attempting to > shut down and see if there is something unexpected in there. > > - 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-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >