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 [mailto:milo.meer...@gmx.com] 
Sent: Monday, August 23, 2010 10:53 AM
To: users@tomcat.apache.org
Subject: Tomcat 6.0.29 - deadlocks when loading shared classes

Hi, 
Setup: 

- Debian GNU/Linux 
- Java 1.6.0_21-b06 
- Tomcat http://www.coderanch.com/forums/f-56/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? 

Cheers! 

--- 

"TP-Processor93" daemon prio=10 tid=0x00007f2f92613800 nid=0x462f waiting for 
monitor entry [0x0000000043176000] 
java.lang.Thread.State: BLOCKED (on object monitor) 
at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1524)
 
- waiting to lock <0x00007f2fb0e575b0> (at 
org.apache.catalina.loader.WebappClassLoader) 
at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
 
at javax.xml.xpath.XPathFactoryFinder.createClass(XPathFactoryFinder.java:256) 
at 
javax.xml.xpath.XPathFactoryFinder.loadFromService(XPathFactoryFinder.java:363) 
at javax.xml.xpath.XPathFactoryFinder._newFactory(XPathFactoryFinder.java:222) 
at javax.xml.xpath.XPathFactoryFinder.newFactory(XPathFactoryFinder.java:143) 
at javax.xml.xpath.XPathFactory.newInstance(XPathFactory.java:185) 
at javax.xml.xpath.XPathFactory.newInstance(XPathFactory.java:99) 
... 
at sun.reflect.GeneratedMethodAccessor512.invoke(Unknown Source) 
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 
at java.lang.reflect.Method.invoke(Method.java:597) 
at 
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
 
at 
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
 
at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
 
at 
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150)

.
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.

Reply via email to