Confluence Deadlocks when Running under Tomcat 6.0.24-6.0.32
When running Confluence on Tomcat 6.0.24, there are periodic deadlocks. Thread dumps taken when Confluence is unresponsive show deadlocks like:
Found one Java-level deadlock: ============================= "http-8080-6": waiting to lock monitor 0x039664f4 (object 0x12aa4008, a org.apache.catalina.loader.WebappClassLoader), which is held by "http-8080-5" "http-8080-5": waiting to lock monitor 0x0396655c (object 0x2a2005a8, a java.lang.String), which is held by "http-8080-6"
When setting up Confluence on Tomcat 6.0.24, you might get out of PermGen space, resulting in logs that contain:
11/03/2010 3:13:19 PM org.apache.coyote.http11.Http11AprProcessor process SEVERE: Error processing request java.lang.OutOfMemoryError: PermGen space
There is a known bug in version 6.0.24 of Tomcat that causes deadlocks in applications that use their own classloaders (such as Confluence). See Bug 48694 - WebappClassLoader deadlock if web application uses it's own classloader for more information. The original bug has been closed as a duplicate of Bug 48903 - ClassLoader deadlock when compiling JSP pages in 6.0.26.
Upgrade to Tomcat 6.0.33 or higher, and reinstall Confluence
Alternatively, upgrade to Confluence 5.0 or higher, and use the standalone distribution. The standalone distribution of Confluence 5.0 ships with Tomcat 6.0.35.