-
Suggestion
-
Resolution: Fixed
-
None
-
None
-
Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.
Bundled Tomcat misses a default value for the CATALINA_PID variable, hence Tomcat doesn't create a pid file which makes it hard for systemd startup scripts to recognize if the Tomcat instance has started up (and respectivele systemd can't tell if Tomcat is still running or was shut down correctly).
Attached is an example code snipped that can be added to apache-tomcat/bin/setenv.sh to make it work:
# set the location of the pid file if [ -z "$CATALINA_PID" ] ; then if [ -n "$CATALINA_BASE" ] ; then CATALINA_PID="$CATALINA_BASE"/work/catalina.pid elif [ -n "$CATALINA_HOME" ] ; then CATALINA_PID="$CATALINA_HOME"/work/catalina.pid fi fi export CATALINA_PID
Form Name |
---|
[CWD-4423] Crowd's Tomcat setenv.sh misses CATALINA_PID variable
Can someone comment on when 2.8,4 will go GA. We are encountering this issue and would like to get the fix ...
Thanks
My apache-tomcat/bin/setenv.sh:
JAVA_OPTS="-Xms384m -Xmx1024m -Dfile.encoding=UTF-8 $JAVA_OPTS" export JAVA_OPTS # set the location of the pid file if [ -z "$CATALINA_PID" ] ; then if [ -n "$CATALINA_BASE" ] ; then CATALINA_PID="$CATALINA_BASE"/work/catalina.pid elif [ -n "$CATALINA_HOME" ] ; then CATALINA_PID="$CATALINA_HOME"/work/catalina.pid fi fi export CATALINA_PID
And stopping Crowd still fails...
# su -l crowd -c "/home/crowd/Crowd/atlassian-crowd-2.8.3/stop_crowd.sh"
Using CATALINA_BASE: /home/crowd/Crowd/atlassian-crowd-2.8.3/apache-tomcat
Using CATALINA_HOME: /home/crowd/Crowd/atlassian-crowd-2.8.3/apache-tomcat
Using CATALINA_TMPDIR: /home/crowd/Crowd/atlassian-crowd-2.8.3/apache-tomcat/temp
Using JRE_HOME: /home/crowd/java
Using CLASSPATH: /home/crowd/Crowd/atlassian-crowd-2.8.3/apache-tomcat/bin/bootstrap.jar:/home/crowd/Crowd/atlassian-crowd-2.8.3/apache-tomcat/bin/tomcat-juli.jar
Using CATALINA_PID: /home/crowd/Crowd/atlassian-crowd-2.8.3/apache-tomcat/work/catalina.pid
Tomcat did not stop in time. PID file was not removed. To aid diagnostics a thread dump has been written to standard out.
catalina.out
Aug 17, 2015 7:56:36 AM org.apache.catalina.core.StandardServer await INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance. Aug 17, 2015 7:56:36 AM org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["http-bio-8020"] Aug 17, 2015 7:56:36 AM org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["http-bio-8021"] Aug 17, 2015 7:56:37 AM org.apache.catalina.core.StandardService stopInternal INFO: Stopping service Catalina 2015-08-17 07:56:37,078 localhost-startStop-2 INFO [ContainerBase.[Catalina].[localhost].[/crowd]] Destroying Spring FrameworkServlet 'xfire' 2015-08-17 07:56:37,091 localhost-startStop-2 INFO [ContainerBase.[Catalina].[localhost].[/crowd]] org.tuckey.web.filters.urlrewrite.UrlRewriteFilter INFO: destroy called 2015-08-17 07:56:37,094 localhost-startStop-2 INFO [ContainerBase.[Catalina].[localhost].[/crowd]] Closing Spring root WebApplicationContext 2015-08-17 07:56:37,139 localhost-startStop-2 INFO [com.atlassian.crowd.startup] Stopping Crowd Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/crowd] appears to have started a thread named [scheduler_Worker-1] but has failed to stop it. This is very likely to create a memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/crowd] appears to have started a thread named [scheduler_Worker-2] but has failed to stop it. This is very likely to create a memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/crowd] appears to have started a thread named [scheduler_Worker-3] but has failed to stop it. This is very likely to create a memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/crowd] appears to have started a thread named [scheduler_Worker-4] but has failed to stop it. This is very likely to create a memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/crowd] appears to have started a thread named [scheduler_Worker-5] but has failed to stop it. This is very likely to create a memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/crowd] appears to have started a thread named [scheduler_Worker-6] but has failed to stop it. This is very likely to create a memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/crowd] appears to have started a thread named [scheduler_Worker-7] but has failed to stop it. This is very likely to create a memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/crowd] appears to have started a thread named [scheduler_Worker-8] but has failed to stop it. This is very likely to create a memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/crowd] appears to have started a thread named [scheduler_Worker-9] but has failed to stop it. This is very likely to create a memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/crowd] appears to have started a thread named [scheduler_Worker-10] but has failed to stop it. This is very likely to create a memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/crowd] appears to have started a thread named [ThreadPoolAsyncTaskExecutor::Thread 1] but has failed to stop it. This is very likely to create a memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/crowd] appears to have started a thread named [ThreadPoolAsyncTaskExecutor::Thread 2] but has failed to stop it. This is very likely to create a memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/crowd] appears to have started a thread named [ThreadPoolAsyncTaskExecutor::Thread 3] but has failed to stop it. This is very likely to create a memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/crowd] appears to have started a thread named [ThreadPoolAsyncTaskExecutor::Thread 4] but has failed to stop it. This is very likely to create a memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/crowd] appears to have started a thread named [ThreadPoolAsyncTaskExecutor::Thread 5] but has failed to stop it. This is very likely to create a memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/crowd] appears to have started a thread named [ThreadPoolAsyncTaskExecutor::Thread 6] but has failed to stop it. This is very likely to create a memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/crowd] appears to have started a thread named [ThreadPoolAsyncTaskExecutor::Thread 7] but has failed to stop it. This is very likely to create a memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/crowd] appears to have started a thread named [MultiThreadedHttpConnectionManager cleanup] but has failed to stop it. This is very likely to create a memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/crowd] created a ThreadLocal with key of type [java.lang.InheritableThreadLocal] (value [java.lang.InheritableThreadLocal@2b780c50]) and a value of type [org.apache.felix.framework.BundleContextImpl] (value [org.apache.felix.framework.BundleContextImpl@6f0816f]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/crowd] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@a0607b7]) and a value of type [org.springframework.security.core.context.SecurityContextImpl] (value [org.springframework.security.core.context.SecurityContextImpl@ffffffff: Null authentication]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/crowd] created a ThreadLocal with key of type [com.atlassian.plugin.util.ClassLoaderStack$1] (value [com.atlassian.plugin.util.ClassLoaderStack$1@6e774941]) and a value of type [java.util.LinkedList] (value [[]]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/crowd] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@a0607b7]) and a value of type [org.springframework.security.core.context.SecurityContextImpl] (value [org.springframework.security.core.context.SecurityContextImpl@ffffffff: Null authentication]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/crowd] created a ThreadLocal with key of type [com.atlassian.plugin.util.ClassLoaderStack$1] (value [com.atlassian.plugin.util.ClassLoaderStack$1@6e774941]) and a value of type [java.util.LinkedList] (value [[]]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/crowd] created a ThreadLocal with key of type [com.atlassian.plugin.util.ClassLoaderStack$1] (value [com.atlassian.plugin.util.ClassLoaderStack$1@6e774941]) and a value of type [java.util.LinkedList] (value [[]]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/crowd] created a ThreadLocal with key of type [com.atlassian.plugin.util.ClassLoaderStack$1] (value [com.atlassian.plugin.util.ClassLoaderStack$1@6e774941]) and a value of type [java.util.LinkedList] (value [[]]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/crowd] created a ThreadLocal with key of type [com.atlassian.security.cookie.ServerCookie$1] (value [com.atlassian.security.cookie.ServerCookie$1@506d253]) and a value of type [java.text.SimpleDateFormat] (value [java.text.SimpleDateFormat@a99420e6]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/crowd] created a ThreadLocal with key of type [com.atlassian.plugin.util.ClassLoaderStack$1] (value [com.atlassian.plugin.util.ClassLoaderStack$1@6e774941]) and a value of type [java.util.LinkedList] (value [[]]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/crowd] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@a0607b7]) and a value of type [org.springframework.security.core.context.SecurityContextImpl] (value [org.springframework.security.core.context.SecurityContextImpl@ffffffff: Null authentication]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/crowd] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@a0607b7]) and a value of type [org.springframework.security.core.context.SecurityContextImpl] (value [org.springframework.security.core.context.SecurityContextImpl@ffffffff: Null authentication]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/crowd] created a ThreadLocal with key of type [com.atlassian.plugin.util.ClassLoaderStack$1] (value [com.atlassian.plugin.util.ClassLoaderStack$1@6e774941]) and a value of type [java.util.LinkedList] (value [[]]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/crowd] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@a0607b7]) and a value of type [org.springframework.security.core.context.SecurityContextImpl] (value [org.springframework.security.core.context.SecurityContextImpl@ffffffff: Null authentication]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/crowd] created a ThreadLocal with key of type [com.atlassian.plugin.util.ClassLoaderStack$1] (value [com.atlassian.plugin.util.ClassLoaderStack$1@6e774941]) and a value of type [java.util.LinkedList] (value [[]]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/crowd] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@a0607b7]) and a value of type [org.springframework.security.core.context.SecurityContextImpl] (value [org.springframework.security.core.context.SecurityContextImpl@ffffffff: Null authentication]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/crowd] created a ThreadLocal with key of type [com.atlassian.plugin.util.ClassLoaderStack$1] (value [com.atlassian.plugin.util.ClassLoaderStack$1@6e774941]) and a value of type [java.util.LinkedList] (value [[]]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/crowd] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@a0607b7]) and a value of type [org.springframework.security.core.context.SecurityContextImpl] (value [org.springframework.security.core.context.SecurityContextImpl@ffffffff: Null authentication]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/crowd] created a ThreadLocal with key of type [com.atlassian.plugin.util.ClassLoaderStack$1] (value [com.atlassian.plugin.util.ClassLoaderStack$1@6e774941]) and a value of type [java.util.LinkedList] (value [[]]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Shutting down spray application ... Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/openidserver] appears to have started a thread named [HSQLDB Timer @2e48a2c9] but has failed to stop it. This is very likely to create a memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/openidserver] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@375b718b]) and a value of type [scala.concurrent.forkjoin.ForkJoinPool.Submitter] (value [scala.concurrent.forkjoin.ForkJoinPool$Submitter@56d301d3]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Aug 17, 2015 7:56:37 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks SEVERE: The web application [/openidserver] created a ThreadLocal with key of type [scala.util.DynamicVariable$$anon$1] (value [scala.util.DynamicVariable$$anon$1@3a68e5ab]) and a value of type [org.apache.tomcat.util.log.SystemLogHandler] (value [org.apache.tomcat.util.log.SystemLogHandler@7d6d5576]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. Aug 17, 2015 7:56:37 AM org.apache.coyote.AbstractProtocol stop INFO: Stopping ProtocolHandler ["http-bio-8020"] Aug 17, 2015 7:56:37 AM org.apache.coyote.AbstractProtocol stop INFO: Stopping ProtocolHandler ["http-bio-8021"] Aug 17, 2015 7:56:37 AM org.apache.coyote.AbstractProtocol destroy INFO: Destroying ProtocolHandler ["http-bio-8020"] Aug 17, 2015 7:56:37 AM org.apache.coyote.AbstractProtocol destroy INFO: Destroying ProtocolHandler ["http-bio-8021"] 2015-08-17 07:56:42 Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.51-b03 mixed mode): "DestroyJavaVM" #84 prio=5 os_prio=0 tid=0x00007f3628514800 nid=0x3dfa waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "MultiThreadedHttpConnectionManager cleanup" #73 daemon prio=5 os_prio=0 tid=0x00007f354cbc6000 nid=0x3e5d in Object.wait() [0x00007f35fa29c000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) - locked <0x00000000fcdf4718> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164) at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ReferenceQueueThread.run(MultiThreadedHttpConnectionManager.java:1122) "http-bio-8021-exec-4" #72 daemon prio=5 os_prio=0 tid=0x00007f354c75b800 nid=0x3e5b runnable [0x00007f35fa59c000] 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 sun.security.ssl.InputRecord.readFully(InputRecord.java:465) at sun.security.ssl.InputRecord.read(InputRecord.java:503) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973) - locked <0x00000000fc94d7a0> (a java.lang.Object) at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930) at sun.security.ssl.AppInputStream.read(AppInputStream.java:105) - locked <0x00000000fc94e930> (a sun.security.ssl.AppInputStream) at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:516) at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:501) at org.apache.coyote.http11.Http11Processor.setRequestLineReadTimeout(Http11Processor.java:167) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:946) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) - locked <0x00000000fc9840e8> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) "PluginSchedulerTask-Service Provider Session Remover" #62 prio=5 os_prio=0 tid=0x00007f35bddb3000 nid=0x3e52 in Object.wait() [0x00007f35fbbfe000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.util.TimerThread.mainLoop(Timer.java:552) - locked <0x00000000fd55e868> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:505) "ThreadPoolAsyncTaskExecutor::Thread 10" #61 prio=5 os_prio=0 tid=0x00007f354c247800 nid=0x3e4f waiting on condition [0x00007f36001ae000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000fd3616a0> (a java.util.concurrent.SynchronousQueue$TransferStack) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066) 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) "ThreadPoolAsyncTaskExecutor::Thread 9" #60 prio=5 os_prio=0 tid=0x00007f35480bb800 nid=0x3e4e waiting on condition [0x00007f36002af000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000fd3616a0> (a java.util.concurrent.SynchronousQueue$TransferStack) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066) 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) "ThreadPoolAsyncTaskExecutor::Thread 8" #59 prio=5 os_prio=0 tid=0x00007f35480c0800 nid=0x3e4d waiting on condition [0x00007f36005b0000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000fd3616a0> (a java.util.concurrent.SynchronousQueue$TransferStack) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066) 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) "ThreadPoolAsyncTaskExecutor::Thread 7" #58 prio=5 os_prio=0 tid=0x00007f35bdd63800 nid=0x3e4c waiting on condition [0x00007f36006dc000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000fd3616a0> (a java.util.concurrent.SynchronousQueue$TransferStack) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066) 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) "ThreadPoolAsyncTaskExecutor::Thread 6" #57 prio=5 os_prio=0 tid=0x00007f35bdd62000 nid=0x3e4b waiting on condition [0x00007f36009dd000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000fd3616a0> (a java.util.concurrent.SynchronousQueue$TransferStack) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066) 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) "ThreadPoolAsyncTaskExecutor::Thread 5" #56 prio=5 os_prio=0 tid=0x00007f35bdd60800 nid=0x3e4a waiting on condition [0x00007f3600ae0000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000fd3616a0> (a java.util.concurrent.SynchronousQueue$TransferStack) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066) 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) "ThreadPoolAsyncTaskExecutor::Thread 4" #55 prio=5 os_prio=0 tid=0x00007f35bdd5e000 nid=0x3e49 waiting on condition [0x00007f3600bed000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000fd3616a0> (a java.util.concurrent.SynchronousQueue$TransferStack) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066) 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) "ThreadPoolAsyncTaskExecutor::Thread 3" #54 prio=5 os_prio=0 tid=0x00007f35bdd5c800 nid=0x3e48 waiting on condition [0x00007f3600cee000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000fd3616a0> (a java.util.concurrent.SynchronousQueue$TransferStack) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066) 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) "ThreadPoolAsyncTaskExecutor::Thread 2" #53 prio=5 os_prio=0 tid=0x00007f35bdd5b000 nid=0x3e47 waiting on condition [0x00007f3600def000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000fd3616a0> (a java.util.concurrent.SynchronousQueue$TransferStack) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066) 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) "ThreadPoolAsyncTaskExecutor::Thread 1" #52 prio=5 os_prio=0 tid=0x00007f35bdd66800 nid=0x3e46 waiting on condition [0x00007f36014c7000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000fd3616a0> (a java.util.concurrent.SynchronousQueue$TransferStack) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066) 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) "Timer-3" #51 daemon prio=5 os_prio=0 tid=0x00007f354c0b0000 nid=0x3e44 in Object.wait() [0x00007f3601186000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:502) at java.util.TimerThread.mainLoop(Timer.java:526) - locked <0x00000000fe1b3290> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:505) "Timer-2" #50 daemon prio=5 os_prio=0 tid=0x00007f354c02f800 nid=0x3e43 in Object.wait() [0x00007f3601acb000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.util.TimerThread.mainLoop(Timer.java:552) - locked <0x00000000c4a07358> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:505) "FelixPackageAdmin" #49 daemon prio=5 os_prio=0 tid=0x00007f3548019000 nid=0x3e42 in Object.wait() [0x00007f36018c9000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:502) at org.apache.felix.framework.PackageAdminImpl.run(PackageAdminImpl.java:321) - locked <0x00000000c4a5fda8> (a org.apache.felix.framework.PackageAdminImpl) at java.lang.Thread.run(Thread.java:745) "FelixStartLevel" #48 daemon prio=5 os_prio=0 tid=0x00007f354801b800 nid=0x3e41 in Object.wait() [0x00007f36019ca000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:502) at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:242) - locked <0x00000000c4a0be70> (a java.util.ArrayList) at java.lang.Thread.run(Thread.java:745) "FelixDispatchQueue" #47 daemon prio=5 os_prio=0 tid=0x00007f3548002000 nid=0x3e40 in Object.wait() [0x00007f36017c8000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:502) at org.apache.felix.framework.util.EventDispatcher.run(EventDispatcher.java:917) - locked <0x00000000c459fcc0> (a java.util.ArrayList) at org.apache.felix.framework.util.EventDispatcher.access$000(EventDispatcher.java:54) at org.apache.felix.framework.util.EventDispatcher$1.run(EventDispatcher.java:106) at java.lang.Thread.run(Thread.java:745) "HSQLDB Timer @2e48a2c9" #15 daemon prio=5 os_prio=0 tid=0x00007f35bc847800 nid=0x3e10 in Object.wait() [0x00007f360b134000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at org.hsqldb.lib.HsqlTimer$TaskQueue.park(Unknown Source) - locked <0x00000000c1757e28> (a org.hsqldb.lib.HsqlTimer$TaskQueue) at org.hsqldb.lib.HsqlTimer.nextTask(Unknown Source) - locked <0x00000000c1757e28> (a org.hsqldb.lib.HsqlTimer$TaskQueue) at org.hsqldb.lib.HsqlTimer$TaskRunner.run(Unknown Source) at java.lang.Thread.run(Thread.java:745) "Timer-0" #14 daemon prio=5 os_prio=0 tid=0x00007f35bc7e0800 nid=0x3e0f in Object.wait() [0x00007f360b435000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.util.TimerThread.mainLoop(Timer.java:552) - locked <0x00000000c179a178> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:505) "GC Daemon" #11 daemon prio=2 os_prio=0 tid=0x00007f36283e6800 nid=0x3e0a in Object.wait() [0x00007f3610cc0000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000000c0da4a80> (a sun.misc.GC$LatencyLock) at sun.misc.GC$Daemon.run(GC.java:117) - locked <0x00000000c0da4a80> (a sun.misc.GC$LatencyLock) "Service Thread" #8 daemon prio=9 os_prio=0 tid=0x00007f36280cd800 nid=0x3e08 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE "C1 CompilerThread2" #7 daemon prio=9 os_prio=0 tid=0x00007f36280c0800 nid=0x3e07 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "C2 CompilerThread1" #6 daemon prio=9 os_prio=0 tid=0x00007f36280be800 nid=0x3e06 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0x00007f36280bb800 nid=0x3e05 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00007f36280ba800 nid=0x3e04 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007f3628082000 nid=0x3e03 in Object.wait() [0x00007f36119f8000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) - locked <0x00000000c0d38e18> (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) "Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007f3628080000 nid=0x3e02 in Object.wait() [0x00007f3611af9000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:502) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157) - locked <0x00000000c0d1e5f8> (a java.lang.ref.Reference$Lock) "VM Thread" os_prio=0 tid=0x00007f362807b000 nid=0x3e01 runnable "GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007f362801e000 nid=0x3dfb runnable "GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007f3628020000 nid=0x3dfc runnable "GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007f3628021800 nid=0x3dfd runnable "GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007f3628023800 nid=0x3dfe runnable "GC task thread#4 (ParallelGC)" os_prio=0 tid=0x00007f3628025000 nid=0x3dff runnable "GC task thread#5 (ParallelGC)" os_prio=0 tid=0x00007f3628027000 nid=0x3e00 runnable "VM Periodic Task Thread" os_prio=0 tid=0x00007f36280d0800 nid=0x3e09 waiting on condition JNI global references: 238 Heap PSYoungGen total 283136K, used 114921K [0x00000000eab00000, 0x0000000100000000, 0x0000000100000000) eden space 219136K, 32% used [0x00000000eab00000,0x00000000ef142f38,0x00000000f8100000) from space 64000K, 67% used [0x00000000fc180000,0x00000000feb777c0,0x0000000100000000) to space 65024K, 0% used [0x00000000f8100000,0x00000000f8100000,0x00000000fc080000) ParOldGen total 323072K, used 93149K [0x00000000c0000000, 0x00000000d3b80000, 0x00000000eab00000) object space 323072K, 28% used [0x00000000c0000000,0x00000000c5af76e8,0x00000000d3b80000) Metaspace used 129145K, capacity 132537K, committed 132776K, reserved 1165312K class space used 16989K, capacity 17733K, committed 17832K, reserved 1048576K
Just installed Crowd 2.8.4 today and I ahve exactly the same issue as with 2.8.3 when stopping Crowd...
CentOS release 6.7 (Final)
2.6.32-573.18.1.el6.x86_64
Using CATALINA_BASE: /home/crowd/Crowd/atlassian-crowd-2.8.4/apache-tomcat
Using CATALINA_HOME: /home/crowd/Crowd/atlassian-crowd-2.8.4/apache-tomcat
Using CATALINA_TMPDIR: /home/crowd/Crowd/atlassian-crowd-2.8.4/apache-tomcat/temp
Using JRE_HOME: /home/crowd/java
Using CLASSPATH: /home/crowd/Crowd/atlassian-crowd-2.8.4/apache-tomcat/bin/bootstrap.jar:/home/crowd/Crowd/atlassian-crowd-2.8.4/apache-tomcat/bin/tomcat-juli.jar
Using CATALINA_PID: /home/crowd/Crowd/atlassian-crowd-2.8.4/apache-tomcat/work/catalina.pid
Tomcat did not stop in time. PID file was not removed. To aid diagnostics a thread dump has been written to standard out.
It's CentOS 6.x so no systemd.