Skip to content

Element wo is undefined in a Java object of type class [Ljava.lang.String #3379

Description

@mikegrogan

Describe the bug

This has been coming up after moving to Wheels4. Wondering if others see it as well?

Stack trace below:

"Error","ajp-nio-127.0.0.1-8022-exec-5","08/18/26","11:30:07","admin","Element wo is undefined in a Java object of type class [Ljava.lang.String;. The specific sequence of files included or processed is: [...truncated...]\public\Application.cfc, line: 102"
coldfusion.runtime.UndefinedElementException: Element wo is undefined in a Java object of type class [Ljava.lang.String;.
	at coldfusion.runtime.CfJspPage.resolveCanonicalName(CfJspPage.java:2855)
	at coldfusion.runtime.CfJspPage._resolve(CfJspPage.java:2778)
	at coldfusion.runtime.CfJspPage._resolve(CfJspPage.java:2759)
	at coldfusion.runtime.CfJspPage._resolve(CfJspPage.java:2722)
	at cfApplication2ecfc544280328$funcONAPPLICATIONEND.runFunction([...truncated...]\public\Application.cfc:102)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:668)
	at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:598)
	at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:561)
	at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:483)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:456)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:328)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:975)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:921)
	at coldfusion.cfc.CFCProxyFilter.invokeAppEvent(CFCProxyFilter.java:102)
	at coldfusion.cfc.CFCProxyFilter.invoke(CFCProxyFilter.java:43)
	at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
	at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
	at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
	at coldfusion.cfc.CFCProxy.doInvoke(CFCProxy.java:331)
	at coldfusion.cfc.CFCProxy.invoke(CFCProxy.java:305)
	at coldfusion.runtime.AppEventInvoker.onApplicationEnd(AppEventInvoker.java:263)
	at coldfusion.runtime.ApplicationScopeTracker.invokeOnApplicationEnd(ApplicationScopeTracker.java:133)
	at coldfusion.runtime.ApplicationScopeTracker.fireBeforeApplicationStop(ApplicationScopeTracker.java:218)
	at coldfusion.runtime.ApplicationScopeTracker.cleanUp(ApplicationScopeTracker.java:164)
	at coldfusion.runtime.ApplicationScopeTracker.stopApplication(ApplicationScopeTracker.java:200)
	at coldfusion.runtime.CFPage.ApplicationStop(CFPage.java:16712)
	at cfApplication2ecfc544280328$func$HANDLERESTARTAPPREQUEST.runFunction([...truncated...]\public\Application.cfc:337)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:668)
	at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:598)
	at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:561)
	at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:483)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:456)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:726)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:980)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:762)
	at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4048)
	at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4012)
	at coldfusion.tagext.lang.InvokeTag.doEndTag(InvokeTag.java:472)
	at cfGlobal2ecfc1469752001$func$INVOKE.runFunction([...truncated...]\vendor\wheels\Global.cfc:358)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:668)
	at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:598)
	at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:561)
	at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:483)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:456)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:726)
	at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:4792)
	at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:4773)
	at cfGlobal2ecfc1469752001$func$SIMPLELOCK.runFunction([...truncated...]\vendor\wheels\Global.cfc:41)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:668)
	at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:598)
	at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:561)
	at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:483)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:456)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:726)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:980)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:762)
	at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4048)
	at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4012)
	at cfApplication2ecfc544280328$funcONREQUESTSTART.runFunction([...truncated...]\public\Application.cfc:221)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:668)
	at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:598)
	at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:561)
	at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:483)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:456)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:328)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:975)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:696)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:503)
	at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:115)
	at coldfusion.runtime.AppEventInvoker.onRequestStart(AppEventInvoker.java:286)
	at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:562)
	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:97)
	at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:81)
	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:231)
	at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:311)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:201)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
	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:170)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:534)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:129)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:86)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:71)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:363)
	at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:459)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:71)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:1344)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:2089)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:74)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:976)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:494)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:80)
	at java.base/java.lang.Thread.run(Thread.java:833)

To Reproduce
Found in Adobe Coldfusion 2023 error logs. I don't know exactly how it's triggering. That's the main problem. Usually it's fine going into the end of the day. And then overnight at some point it starts happening and the whole site starts erroring. It's production, so a reload=true didn't work. I had to restart the ColdFusion service and then it starts behaving normally again.

I'm guessing it's maybe a timeout issue and application.wo is no longer found? Maybe it's not capturing that fact and re-initializing itself? This doesn't happen every day though, so a little confusing. If I can pinpoint it better I'll attach more information.

Expected behavior
application.wo should be defined. It shouldn't error out. Or make sure it gets re-initialized.

Additional context

  • Adobe Coldfusion 2023
  • IIS running in front of it on a Windows 2022 server
  • Wheels 4.0.5

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions