Thanks a lot Peter! I got a thread dump using "jstack 704" (PID was 704) I think I need a little more of your help to find out where exactly going wrong. Below is my dump and thanks a lot for your time.
MadurangaMAC:bin Maduranga$ jstack 704 Attaching to process ID 704, please wait... Debugger attached successfully. Server compiler detected. JVM version is 1.5.0_13-119 Thread [EMAIL PROTECTED]: (state = BLOCKED) Thread [EMAIL PROTECTED]: (state = BLOCKED) - java.lang.Object.wait(long) @bci=0 (Interpreted frame) - java.lang.Object.wait() @bci=2, line=474 (Interpreted frame) - org.apache.jk.common.ChannelSocket.accept(org.apache.jk.core.MsgContext) @bci=20, line=306 (Interpreted frame) - org.apache.jk.common.ChannelSocket.acceptConnections() @bci=72, line=666 (Interpreted frame) - org.apache.jk.common.ChannelSocket$SocketAcceptor.runIt(java.lang.Object[]) @bci=4, line=876 (Interpreted frame) - org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run() @bci=167, line=689 (Interpreted frame) - java.lang.Thread.run() @bci=11, line=613 (Interpreted frame) Thread [EMAIL PROTECTED]: (state = BLOCKED) - java.lang.Thread.sleep(long) @bci=0 (Interpreted frame) - org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(java.lang.Object []) @bci=23, line=62 (Interpreted frame) - org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run() @bci=167, line=689 (Interpreted frame) - java.lang.Thread.run() @bci=11, line=613 (Interpreted frame) Thread [EMAIL PROTECTED]: (state = BLOCKED) - java.lang.Object.wait(long) @bci=0 (Interpreted frame) - java.util.TimerThread.mainLoop() @bci=201, line=509 (Interpreted frame) - java.util.TimerThread.run() @bci=1, line=462 (Interpreted frame) Thread [EMAIL PROTECTED]: (state = BLOCKED) - java.lang.Thread.sleep(long) @bci=0 (Interpreted frame) - org.quartz.core.QuartzSchedulerThread.run() @bci=870, line=420 (Interpreted frame) Thread [EMAIL PROTECTED]: (state = BLOCKED) - java.lang.Object.wait(long) @bci=0 (Interpreted frame) - org.quartz.simpl.SimpleThreadPool$WorkerThread.run() @bci=44, line=523 (Interpreted frame) Thread [EMAIL PROTECTED]: (state = BLOCKED) - java.lang.Object.wait(long) @bci=0 (Interpreted frame) - org.quartz.simpl.SimpleThreadPool$WorkerThread.run() @bci=44, line=523 (Interpreted frame) Thread [EMAIL PROTECTED]: (state = BLOCKED) - java.lang.Object.wait(long) @bci=0 (Interpreted frame) - org.quartz.simpl.SimpleThreadPool$WorkerThread.run() @bci=44, line=523 (Interpreted frame) Thread [EMAIL PROTECTED]: (state = BLOCKED) - java.lang.Object.wait(long) @bci=0 (Interpreted frame) - org.quartz.simpl.SimpleThreadPool$WorkerThread.run() @bci=44, line=523 (Interpreted frame) Thread [EMAIL PROTECTED]: (state = BLOCKED) - java.lang.Object.wait(long) @bci=0 (Interpreted frame) - org.quartz.simpl.SimpleThreadPool$WorkerThread.run() @bci=44, line=523 (Interpreted frame) Thread [EMAIL PROTECTED]: (state = BLOCKED) - java.lang.Object.wait(long) @bci=0 (Interpreted frame) - org.quartz.simpl.SimpleThreadPool$WorkerThread.run() @bci=44, line=523 (Interpreted frame) Thread [EMAIL PROTECTED]: (state = BLOCKED) - java.lang.Object.wait(long) @bci=0 (Interpreted frame) - org.quartz.simpl.SimpleThreadPool$WorkerThread.run() @bci=44, line=523 (Interpreted frame) Thread [EMAIL PROTECTED]: (state = BLOCKED) - java.lang.Object.wait(long) @bci=0 (Interpreted frame) - org.quartz.simpl.SimpleThreadPool$WorkerThread.run() @bci=44, line=523 (Interpreted frame) Thread [EMAIL PROTECTED]: (state = BLOCKED) - java.lang.Object.wait(long) @bci=0 (Interpreted frame) - org.quartz.simpl.SimpleThreadPool$WorkerThread.run() @bci=44, line=523 (Interpreted frame) Thread [EMAIL PROTECTED]: (state = BLOCKED) - java.lang.Object.wait(long) @bci=0 (Interpreted frame) - org.quartz.simpl.SimpleThreadPool$WorkerThread.run() @bci=44, line=523 (Interpreted frame) Thread [EMAIL PROTECTED]: (state = BLOCKED) Thread [EMAIL PROTECTED]: (state = BLOCKED) - java.lang.Object.wait(long) @bci=0 (Interpreted frame) - java.lang.ref.ReferenceQueue.remove(long) @bci=44, line=116 (Interpreted frame) - java.lang.ref.ReferenceQueue.remove() @bci=2, line=132 (Interpreted frame) - java.lang.ref.Finalizer$FinalizerThread.run() @bci=3, line=159 (Interpreted frame) Thread [EMAIL PROTECTED]: (state = BLOCKED) - java.lang.Object.wait(long) @bci=0 (Interpreted frame) - java.lang.Object.wait() @bci=2, line=474 (Interpreted frame) - java.lang.ref.Reference$ReferenceHandler.run() @bci=46, line=116 (Interpreted frame) Thanks again Muds On 6/8/08 11:27, "Peter Crowther" <[EMAIL PROTECTED]> wrote: >> From: Maduranga Kannangara [mailto:[EMAIL PROTECTED] >> What I need simply is a clean shutdown on Tomcat :-) > > Yes. In order to *get* that clean shutdown, you need to find out what's > preventing it :-). > > One common problem is that something in your webapp has created a thread and > not marked it as a daemon thread > (http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Thread.html#setDaemon(boole > an) - yes, I know that's probably for the wrong Java version, but the problem > still stands). The JVM won't exit while that thread's still alive, so the > notion of trying to shut down Tomcat then getting a thread dump after that > point is a very good one. > > Hmm. You're on a 1.5 JDK on Linux. That means you should be able to use > jstack to get a thread dump - might be worth a try. I don't think we can help > you much more on this list until we have some idea of what's keeping the JVM > running! > > - Peter > > --------------------------------------------------------------------- > To start a new topic, e-mail: users@tomcat.apache.org > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]