Confluence Deadlocks when Running under Tomcat 6.0.24-6.0.32
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Symptoms
When running Confluence on Tomcat 6.0.24, there are periodic deadlocks. Thread dumps taken when Confluence is unresponsive show deadlocks like:
1
2
3
4
5
6
7
8
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:
1
2
3
11/03/2010 3:13:19 PM org.apache.coyote.http11.Http11AprProcessor process
SEVERE: Error processing request
java.lang.OutOfMemoryError: PermGen space
Cause
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.
Resolution
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.
Was this helpful?