https://issues.apache.org/bugzilla/show_bug.cgi?id=50820
Summary: Unable to stop tomcat. Product: Tomcat 6 Version: 6.0.28 Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: Catalina AssignedTo: dev@tomcat.apache.org ReportedBy: kni...@nhn.com I have running nexus web application server (sonatype corp) on tomcat. To I tried to stop tomcat, I executed "bin/catalina.sh stop". It seemed that it would work. As a result, I could not connect tomcat. But tomcat daemon was alive for 20 minutes like below. # ps -ef | grep java root 1398 1 7 20:01 pts/2 00:00:24 /usr/local/j2se/bin/java -Djava.util.logging.config.file=/usr/local/tomcat6/conf/logging.properties -Xms1000m -Xmx1000m -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+DisableExplicitGC -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tomcat6/endorsed -classpath /usr/local/tomcat6/bin/bootstrap.jar -Dcatalina.base=/usr/local/tomcat6 -Dcatalina.home=/usr/local/tomcat6 -Djava.io.tmpdir=/usr/local/tomcat6/temp org.apache.catalina.startup.Bootstrap start So, I generated thread dump like below. # /usr/local/j2se/bin/jstack -F -l 1398 > 2012.txt Attaching to process ID 1398, please wait... Debugger attached successfully. Server compiler detected. JVM version is 19.1-b02 Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... # after 5 minutes, I runned "thread dump". The content of two thread dump is equal. So. I added an attachement of thread dump. There are pattern of thread in thread dump like below Thread 1465: (state = BLOCKED) - java.lang.Object.wait(long) @bci=0 (Interpreted frame) - java.lang.Object.wait() @bci=2, line=485 (Interpreted frame) - org.apache.tomcat.util.net.JIoEndpoint$Worker.await() @bci=8, line=458 (Interpreted frame) - org.apache.tomcat.util.net.JIoEndpoint$Worker.run() @bci=11, line=484 (Interpreted frame) - java.lang.Thread.run() @bci=11, line=662 (Interpreted frame) Locked ownable synchronizers: - None Thread 1428: (state = BLOCKED) - sun.misc.Unsafe.park(boolean, long) @bci=0 (Interpreted frame) - java.util.concurrent.locks.LockSupport.parkNanos(java.lang.Object, long) @bci=20, line=198 (Interpreted frame) - java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(long) @bci=68, line=2025 (Interpreted frame) - java.util.concurrent.DelayQueue.take() @bci=57, line=164 (Interpreted frame) - java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take() @bci=4, line=609 (Interpreted frame) - java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take() @bci=1, line=602 (Interpreted frame) - java.util.concurrent.ThreadPoolExecutor.getTask() @bci=78, line=947 (Interpreted frame) - java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=18, line=907 (Interpreted frame) - java.lang.Thread.run() @bci=11, line=662 (Interpreted frame) Locked ownable synchronizers: - None Thread 1415: (state = BLOCKED) - java.lang.Object.wait(long) @bci=0 (Interpreted frame) - java.lang.ref.ReferenceQueue.remove(long) @bci=44, line=118 (Interpreted frame) - java.lang.ref.ReferenceQueue.remove() @bci=2, line=134 (Interpreted frame) - java.lang.ref.Finalizer$FinalizerThread.run() @bci=3, line=159 (Interpreted frame) * My Environment jdk : 1.6.0_24 Tomcat : 6.0.28 linux : CentOS release 5.3 (Final) # netstat -anp | grep java unix 2 [ ACC ] STREAM LISTENING 90571504 1398/java /usr/local/tomcat6/temp/.java_pid1398.tmp I tried netstat -anp and tomcat port is not listed there but still I am unable to start the service. So, I had to kill by using "kill" command. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org