tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scott Hamilton" <>
Subject RE: Tomcat 6.0.29 - deadlocks when loading shared classes
Date Mon, 23 Aug 2010 19:01:10 GMT
Can you also include the dump of the thread that is holding the lock?  In other words, what's
the other half of the deadlock?

-----Original Message-----
From: Milo Meerkat [] 
Sent: Monday, August 23, 2010 10:53 AM
Subject: Tomcat 6.0.29 - deadlocks when loading shared classes


- Debian GNU/Linux 
- Java 1.6.0_21-b06 
- Tomcat  6.0.29 

I got the error below when upgrading tomcat 5.5.29 to tomcat 6.0.29. 
When we upgraded we noticed that tomcat 6 does not like if we have a xerces implementation
in each webapp in the tomcat instance (tomcat 5 is fine with this), so we placed the following
jars in a common tomcat library (catalina property "shared.loader"): 

- serializer-2.7.1.jar 
- xalan-2.7.1.jar 
- xercesImpl-2.9.1.jar 
- xmlParserAPIs-2.6.2.jar 

This worked well locally and in our staging environment, but when we upgraded our production
environment, we started getting thread deadlocks, and the load reached 20 in "top". 
Normally with tomcat 5.5 the server runs with load 2-3. 

We tried downgrading to tomcat 6.0.26, and we tried having only one webapp in the tomcat instance,
with the four XML jars in the webapp (WEB-INF/lib), not in the shared lib. Didn't work. When
we downgraded to tomcat 5.5 again, everything was back to normal. 

Does anyone know what I'm doing wrong here? Or is there a classloader bug in tomcat 6? 



"TP-Processor93" daemon prio=10 tid=0x00007f2f92613800 nid=0x462f waiting for monitor entry
java.lang.Thread.State: BLOCKED (on object monitor) 
at org.apache.catalina.loader.WebappClassLoader.loadClass( 
- waiting to lock <0x00007f2fb0e575b0> (at org.apache.catalina.loader.WebappClassLoader)

at org.apache.catalina.loader.WebappClassLoader.loadClass( 
at javax.xml.xpath.XPathFactoryFinder.createClass( 
at javax.xml.xpath.XPathFactoryFinder.loadFromService( 
at javax.xml.xpath.XPathFactoryFinder._newFactory( 
at javax.xml.xpath.XPathFactoryFinder.newFactory( 
at javax.xml.xpath.XPathFactory.newInstance( 
at javax.xml.xpath.XPathFactory.newInstance( 
at sun.reflect.GeneratedMethodAccessor512.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke( 
at java.lang.reflect.Method.invoke( 
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(

at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(

at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(

The information contained in this e-mail message is intended only for the personal 
and confidential use of the recipient(s) named above. This message is privileged 
and confidential. If the reader of this message is not the intended recipient or an
agent responsible for delivering it to the intended recipient, you are hereby notified 
that you have received this document in error and that any review, dissemination, 
distribution, or copying of this message is strictly prohibited.

View raw message