I have a legacy site using CFWheels v. 1.3.3 It's hosted using ColdFusion 2018. I haven't changed anything on the site for a couple of years and all appeared to be working fine until recently when I got this error:
Error Occurred While Processing Request Element RETURNVALUE is undefined in LOC.
The error occurred in D:/home/mysite.com/wwwroot/wheels/events/onerror.cfm: line 19
18 : <cfoutput>
19 : #loc.returnValue#
20 : </cfoutput>
21 : </cffunction>```
Here's the stack trace:
Stack Trace
at cfonerror2ecfm930916195$funcONERROR.runFunction(D:/home/mysite.com/wwwroot/wheels/events/onerror.cfm:19)
coldfusion.runtime.UndefinedElementException: Element RETURNVALUE is undefined in LOC.
at coldfusion.runtime.DotResolver.resolveSplitNameInMap(DotResolver.java:185)
at coldfusion.runtime.CfJspPage._resolve(CfJspPage.java:2362)
at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:2685)
at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:2675)
at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:2655)
at cfonerror2ecfm930916195$funcONERROR.runFunction(D:\home\mysite.com\wwwroot\wheels\events\onerror.cfm:19)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:553)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:484)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:447)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:398)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:371)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:287)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:830)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:613)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:438)
at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:115)
at coldfusion.runtime.AppEventInvoker.onError(AppEventInvoker.java:524)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:647)
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:43)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:162)
at coldfusion.filter.IpFilter.invoke(IpFilter.java:45)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:96)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:60)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
at coldfusion.CfmServlet.service(CfmServlet.java:226)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:311)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:46)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:47)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:451)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:834)
locis an object and the code expects it will have a property namedreturnValue. The error is stating that the property with the namereturnValuedoesn't exist on the object.Looking into the
/wheels/events/onerror.cfmand then back to the/wheels/global/cfml.cfmfile where$simpleLockis defined tells me there may be some underlying problem with configuration. Hard to nail it down. Safest bet is to restart the application. Generally done through URL parameters. If you can't figure that out, maybe just restart the ColdFusion instance and hope it fixes it.At the end, ColdFusion is having a hard time invoking a component, but hard to tell which one without more error output.