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.