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: [email protected]
ReportedBy: [email protected]
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: [email protected]
For additional commands, e-mail: [email protected]