Update – this issue appears to be fixed with CHF3.
I’m testing an application on ColdFusion 8 in preparation for an upgrade and have found a strange error. My reinit process clears the trusted cache using the Admin API along with restarting Coldspring and Model-Glue. On CF7, the following code works very reliably:
<cfinvoke component="cfide.adminapi.administrator" method="login"> <cfinvokeargument name="adminPassword" value="..." /> </cfinvoke> <cfinvoke component="cfide.adminapi.runtime" method="clearTrustedCache" />
Since updating to CF8 on my Windows XP laptop, running this code as either part of my reinit process or in a standalone template results in the following coldfusion.security.SecurityManager UnauthenticatedCredentialsException error:
The error occurred in runtime.cfc: line 656 -1 : Unable to display error's location in a CFML template. Stack Trace at cfruntime2ecfc1355728568$funcCLEARTRUSTEDCACHE.runFunction(E:\cf8_updates\cfusion\wwwroot\CFIDE\adminapi\runtime.cfc:656) at cfApplication2ecfc221588290$funcONREQUESTSTART.runFunction(Application.cfc:85) coldfusion.security.SecurityManager$UnauthenticatedCredentialsException at coldfusion.security.SecurityManager.authenticateAdmin(SecurityManager.java:1704) at coldfusion.runtime.RuntimeServiceImpl.clearTrustedCache(RuntimeServiceImpl.java:1518) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at coldfusion.runtime.StructBean.invoke(StructBean.java:511) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2300) at cfruntime2ecfc1355728568$funcCLEARTRUSTEDCACHE.runFunction(E:\cf8_updates\cfusion\wwwroot\CFIDE\adminapi\runtime.cfc:656) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:418)
Many people on the CFGURU list including Charlie Arehart and Cameron Childress made several suggestions of things to check but everything came back looking correct. I was prepared to chalk this up to a random issue with my installation until I asked others to try it on their CF8 install and was surprised by the results. While several people were unable to reproduce the error, we had confirmations of the same CF8 error on the following platforms:
- Enterprise 8.0.1 multi-server on Windows XP
- Standard 8.0.1 on Windows 2003
- Enterprise 8.0.1 multi-server on Mac OSX
There are some people on 8.0.1 who have it working successfully but with three different people experiencing the issue it doesn’t seem to be a one-off installation error. If I find a resolution I will post it here as a follow-up but at this point I am going to comment out that line in my reinit since on my laptop I don’t use the trusted cache in development.