In ColdFusion 8.0.1, a deadlock can occur when multiple threads simultaneously try to lock the template cache to load a CFC class. When this type of deadlock occurs, several consecutive thread dumps list multiple threads in a WAITING state. See Additional information, below, for an example stack trace a thread encountering a deadlock.


Follow the instructions below to apply the fix to ColdFusion 8.0.1. Don't apply these fixes to any beta or prerelease version of ColdFusion.

  1. Download and extract hf801-76563.jar.
  2. Open the ColdFusion Administrator and select the System Information page by clicking the "i" icon in the upper-right corner.
  3. In the Update File box, enter the full path to the extracted file hf801-76563.jar. You can also use the Browse button to browse to the file and select it. Click Submit. 
  4. Repeat steps 2 and 3 for each of the instances.
  5. Restart all the ColdFusion instances. 

 Additional information

Here is an example stack trace of a thread that is encountering a deadlock and would be listed in multiple consecutive thread dumps. This type of stack trace can occur normally and doesn't necessarily indicate an issue with ColdFusion.

        "web-xx" prio=6 tid=0x0002f9c6800 nid=0x12e8 in Object.wait() [0x361bf000..0x361bfa14]

            java.lang.Thread.State: WAITING (on object monitor)

                at java.lang.Object.wait(Native Method)

                at java.lang.Object.wait(

                at coldfusion.util.AbstractCache.fetch(

                - locked <0x05c7fc90> (a coldfusion.util.AbstractCache$Lock)

                at coldfusion.util.SoftCache.get_statsOff(

                at coldfusion.util.SoftCache.get(

                at coldfusion.runtime.TemplateClassLoader.findClass(

                at coldfusion.filter.PathFilter.invoke(

                at coldfusion.filter.ExceptionFilter.invoke(

                at coldfusion.filter.ClientScopePersistenceFilter.invoke(

                at coldfusion.filter.BrowserFilter.invoke(

                at coldfusion.filter.NoCacheFilter.invoke(

                at coldfusion.filter.GlobalsFilter.invoke(

                at coldfusion.filter.DatasourceFilter.invoke(

                at coldfusion.filter.CachingFilter.invoke(

                at coldfusion.CfmServlet.service(

                at coldfusion.bootstrap.BootstrapServlet.service(

                at jrun.servlet.FilterChain.doFilter(

                at coldfusion.monitor.event.MonitoringServletFilter.doFilter(

                at coldfusion.bootstrap.BootstrapFilter.doFilter(

                at jrun.servlet.FilterChain.doFilter(

                at jrun.servlet.FilterChain.service(

                at jrun.servlet.ServletInvoker.invoke(

                at jrun.servlet.JRunInvokerChain.invokeNext(

                at jrun.servlet.JRunRequestDispatcher.invoke(

                at jrun.servlet.ServletEngineService.dispatch(

                at jrun.servlet.http.WebService.invokeRunnable(

                at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(

                at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(

                at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(





This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy