So where's the deadlock in this stack dump?

Bryan Basham wrote:
Hi all,

This might not be the right forum for this.  Let em know if
I should post this to the tomcat-dev alias.

THE PROBLEM

The problem we are experience is that occasionally Tomcat (5.5.20)
is deadlocking; see the attached output from a kill -3 on the tomcat
process.

Has anyone seen this happen?  Did you discover why this is happening?
And most importantly: How did you fix it?

THE BACKGROUND

I am working on a project in which our architecture requires
"pluggable" modules.  In the first two iterations, we avoided that
requirement by building all modules into a single ROOT.war
webapp.  Now in this iteration we are "teasing apart" these into
separately loaded moduleXYZ.war files.

This has caused lots of headaches; especially around getting
JSF to handle cross-context (cross-webapp) navigation and
bean management.  We have pretty much solved the JSF issues,
some fixes required doing things like performing cross-context
dispatching and merging of JSF's RuntimeConfig objects from
each webapp ServletContext.  However, I don't see how any
of these changes would cause the deadlock.

Sincere thanks,
Bryan


------------------------------------------------------------------------

"Java2D Disposer" daemon prio=1 tid=0x08af2f10 nid=0xf1d in Object.wait() 
[0x9bda3000..0x9bda40d0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0xa03bf8a8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0xa03bf8a8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at sun.java2d.Disposer.run(Disposer.java:107)
        at java.lang.Thread.run(Thread.java:595)

"Timer-3" daemon prio=1 tid=0x083667f8 nid=0xe9c in Object.wait() 
[0x9be41000..0x9be42150]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x9ff8d648> (a java.util.TaskQueue)
        at java.util.TimerThread.mainLoop(Timer.java:509)
        - locked <0x9ff8d648> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"TP-Monitor" daemon prio=1 tid=0x0837ab30 nid=0xe9b in Object.wait() 
[0x9bec2000..0x9bec2ed0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x9ff8d688> (a 
org.apache.tomcat.util.threads.ThreadPool$MonitorRunnable)
        at 
org.apache.tomcat.util.threads.ThreadPool$MonitorRunnable.run(ThreadPool.java:559)
        - locked <0x9ff8d688> (a 
org.apache.tomcat.util.threads.ThreadPool$MonitorRunnable)
        at java.lang.Thread.run(Thread.java:595)

"TP-Processor4" daemon prio=1 tid=0x083615e8 nid=0xe9a runnable 
[0x9bf43000..0x9bf43e50]
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
        - locked <0x9ff8d6b0> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:450)
        at java.net.ServerSocket.accept(ServerSocket.java:421)
        at org.apache.jk.common.ChannelSocket.accept(ChannelSocket.java:306)
        at 
org.apache.jk.common.ChannelSocket.acceptConnections(ChannelSocket.java:660)
        at 
org.apache.jk.common.ChannelSocket$SocketAcceptor.runIt(ChannelSocket.java:870)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)

"TP-Processor3" daemon prio=1 tid=0x083603d0 nid=0xe99 in Object.wait() 
[0x9bfc4000..0x9bfc4fd0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x9ff8d8d8> (a 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
        at java.lang.Object.wait(Object.java:474)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656)
        - locked <0x9ff8d8d8> (a 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
        at java.lang.Thread.run(Thread.java:595)

"TP-Processor2" daemon prio=1 tid=0x0835f288 nid=0xe98 in Object.wait() 
[0x9c045000..0x9c045f50]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x9ff8d8f8> (a 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
        at java.lang.Object.wait(Object.java:474)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:656)
        - locked <0x9ff8d8f8> (a 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
        at java.lang.Thread.run(Thread.java:595)



---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to