Hello all,

We've seen strange behaviour on production (tomcat 5.5.20/java 6):
immediately after restart no-one could login. Using jconsole we saw that
there was a deadlock in the classloader.
Today I've also had the problem on development (tomcat 6.0.9/ java 6). Its a
shame I was using tomcat 6.0.9 instead of 5.5.20, but it seems the two
problems are the same.
The problem occurs sometimes when multiple browsers are trying to connect to
the server while it is still starting up.
I've tried to reproduce the problem on both 5.5.20 and 6.0.9 by trying to
start multiple browsers during application startup, but I cannot trigger the
deadlock again.
Using jconsole I saw there were 2 httpthreads locking eachother.

Below are the stacktraces of both threads (I also have screenshots of
jconsole showing the threads the deadlocks-screen).

I couldn't find the problem myself, so I turn to this list for help.

Thanks in advance,
Glen.

Thread 1:
=======
Name: http-8080-1
State: BLOCKED on [EMAIL PROTECTED] owned
by: http-8080-2
Total blocked: 25  Total waited: 2

Stack trace:
org.apache.catalina.loader.WebappClassLoader.findClassInternal (
WebappClassLoader.java:1780)
  - locked [EMAIL PROTECTED]
org.apache.catalina.loader.WebappClassLoader.findClass(
WebappClassLoader.java:872)
org.apache.catalina.loader.WebappClassLoader.loadClass (
WebappClassLoader.java:1325)
org.apache.catalina.loader.WebappClassLoader.loadClass(
WebappClassLoader.java:1204)
<...remove company...>
net.sf.jzeno.echo.AbstractHardCodedStyle.<init>(AbstractHardCodedStyle.java:51)
<...remove company...>
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(
NativeConstructorAccessorImpl.java:39)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance (
DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:513)
java.lang.Class.newInstance0(Class.java:355)
java.lang.Class.newInstance(Class.java:308)
net.sf.jzeno.echo.EchoSupport.getStyleManager (EchoSupport.java:2137)
net.sf.jzeno.echo.EchoSupport.getStyle(EchoSupport.java:2115)
net.sf.jzeno.echo.components.MenuBar.rebuild(MenuBar.java:162)
net.sf.jzeno.echo.components.MenuBar.<init>(MenuBar.java:124)
net.sf.jzeno.echo.components.MenuBar.<init>(MenuBar.java:246)
<...remove company...>
<...remove company...>
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance (
NativeConstructorAccessorImpl.java:39)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:513)
java.lang.Class.newInstance0 (Class.java:355)
java.lang.Class.newInstance(Class.java:308)
net.sf.jzeno.util.FastFactory.newInstance(FastFactory.java:204)
net.sf.jzeno.util.FastFactory.create(FastFactory.java:105)
net.sf.jzeno.echo.EchoSupport.createDefaultLayout (EchoSupport.java:1165)
net.sf.jzeno.echo.EchoSupport.getLayout(EchoSupport.java:1137)
net.sf.jzeno.aop.ServletSupport.clearErrorsAndMessages(ServletSupport.java
:319)
nextapp.echoservlet.ContextFilter.preProcess( ContextFilter.java:73)
nextapp.echoservlet.EchoServer.process(EchoServer.java:384)
nextapp.echoservlet.EchoServer.doPost(EchoServer.java:281)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service (HttpServlet.java:803)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:290)
org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke (
StandardWrapperValve.java:228)
org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:175)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:128)
org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java
:104)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
org.apache.coyote.http11.Http11AprProcessor.process (Http11AprProcessor.java
:866)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(
Http11AprProtocol.java:716)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1498)
java.lang.Thread.run (Thread.java:619)


Thread 2:
=======
Name: http-8080-2
State: BLOCKED on [EMAIL PROTECTED] owned by:
http-8080-1
Total blocked: 23  Total waited: 1

Stack trace:
org.apache.catalina.loader.WebappClassLoader.findClassInternal(
WebappClassLoader.java:1767)
org.apache.catalina.loader.WebappClassLoader.findClass(
WebappClassLoader.java:872)
org.apache.catalina.loader.WebappClassLoader.loadClass (
WebappClassLoader.java:1325)
org.apache.catalina.loader.WebappClassLoader.loadClass(
WebappClassLoader.java:1204)
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java :620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(
WebappClassLoader.java:1815)
  - locked [EMAIL PROTECTED]
org.apache.catalina.loader.WebappClassLoader.findClass(
WebappClassLoader.java:872)
org.apache.catalina.loader.WebappClassLoader.loadClass(
WebappClassLoader.java:1325)
org.apache.catalina.loader.WebappClassLoader.loadClass (
WebappClassLoader.java:1204)
<... remove company....>
net.sf.jzeno.echo.AbstractHardCodedStyle.<init>(AbstractHardCodedStyle.java
:51)
<... remove company....>
sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(
NativeConstructorAccessorImpl.java:39)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance (Constructor.java:513)
java.lang.Class.newInstance0(Class.java:355)
java.lang.Class.newInstance(Class.java:308)
net.sf.jzeno.echo.EchoSupport.getStyleManager(EchoSupport.java:2137)
net.sf.jzeno.echo.EchoSupport.getStyle (EchoSupport.java:2115)
net.sf.jzeno.echo.components.MenuBar.rebuild(MenuBar.java:162)
net.sf.jzeno.echo.components.MenuBar.<init>(MenuBar.java:124)
net.sf.jzeno.echo.components.MenuBar.<init>(MenuBar.java :246)
<... remove company....>
<... remove company....>
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(
NativeConstructorAccessorImpl.java :39)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:513)
java.lang.Class.newInstance0(Class.java:355)
java.lang.Class.newInstance(Class.java:308)
net.sf.jzeno.util.FastFactory.newInstance(FastFactory.java:204)
net.sf.jzeno.util.FastFactory.create(FastFactory.java:105)
net.sf.jzeno.echo.EchoSupport.createDefaultLayout (EchoSupport.java:1165)
net.sf.jzeno.echo.EchoSupport.getLayout(EchoSupport.java:1137)
net.sf.jzeno.aop.ServletSupport.clearErrorsAndMessages(ServletSupport.java
:319)
nextapp.echoservlet.ContextFilter.preProcess( ContextFilter.java:73)
nextapp.echoservlet.EchoServer.process(EchoServer.java:384)
nextapp.echoservlet.EchoServer.doPost(EchoServer.java:281)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service (HttpServlet.java:803)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:290)
org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke (
StandardWrapperValve.java:228)
org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:175)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:128)
org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java
:104)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
org.apache.coyote.http11.Http11AprProcessor.process (Http11AprProcessor.java
:866)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(
Http11AprProtocol.java:716)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1498)
java.lang.Thread.run (Thread.java:619)

Reply via email to