RE: [coldbox:11018] Re: Intermittent Error "Element VIEWPATH is undefined in VIEWLOCATIONS"

I’ll rule out the “under load” issue. I remove servers from the LB before reiniting. The only thing that could hit the site is the LB’s heartbeat ping which could be hitting before CB is ready.

Here is my Hoth’s Stacktrace… such a novel way of capturing errors :slight_smile:

coldfusion.runtime.UndefinedElementException: Element VIEWPATH is undefined in VIEWLOCATIONS. at coldfusion.runtime.DotResolver.resolveSplitNameInMap(DotResolver.java:109) at coldfusion.runtime.CfJspPage._resolve(CfJspPage.java:1615) at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:1794) at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:1787) at cfRenderer2ecfc1516914642$funcRENDERVIEW.runFunction(C:\inetpub\dogfoodrocks\lib\frameworks\coldbox\system\plugins\Renderer.cfc:159) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472) at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220) at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2582) at cflayout2eatv2ecfm210471195.runPage(C:\inetpub\dogfoodrocks\atv\layouts\layout.atv.cfm:2) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:231) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:416) at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2722) at cfRenderer2ecfc1516914642$funcRENDERLAYOUT.runFunction(C:\inetpub\dogfoodrocks\lib\frameworks\coldbox\system\plugins\Renderer.cfc:384) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472) at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360) at cfColdbox2ecfc1996754368$funcPROCESSCOLDBOXREQUEST.runFunction(C:\inetpub\dogfoodrocks\lib\frameworks\coldbox\system\Coldbox.cfc:261) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360) at cfApplication2ecfc239976744$funcONREQUESTSTART.runFunction(C:\inetpub\dogfoodrocks\atv\Application.cfc:191) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337) at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:88) at coldfusion.runtime.AppEventInvoker.onRequestStart(AppEventInvoker.java:258) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:349) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48) at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at coldfusion.filter.PathFilter.invoke(PathFilter.java:94) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70) at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46) 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:200) at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) at jrun.servlet.FilterChain.doFilter(FilterChain.java:86) at com.intergral.fusionreactor.filter.FusionReactorFilter.b(FusionReactorFilter.java:376) at com.intergral.fusionreactor.filter.FusionReactorFilter.c(FusionReactorFilter.java:254) at com.intergral.fusionreactor.filter.FusionReactorFilter.doFilter(FusionReactorFilter.java:164) at jrun.servlet.FilterChain.doFilter(FilterChain.java:94) at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at jrun.servlet.FilterChain.doFilter(FilterChain.java:94) at jrun.servlet.FilterChain.service(FilterChain.java:101) at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106) at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42) at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286) at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543) at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203) at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428) at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

I’m now seeing this in another ColdBox application.

I fired up siege and threw 50 users with a delay of 3 seconds between hits and observed the following error far to often.

I’ll start poking into the code, but, I have a feeling this is an issue that should be effecting anyone running 3.1.

hoth_error_capture.txt (13.4 KB)

I should also point out that I see this error under the smallest of loads, IE one user. And it is always when the application scope has timed out.

Glad to know I’m normal.

one could ask what is normal :slight_smile:

Definitely an issue here.

Out of 14,311 hits 689 (4.8%) had a “VIEWPATH” error. There were 22 unique stack-traces.

I’m stumped at the moment.

Most of the errors are occurring in the Renderer Plugin around line 199: “dPath = getDirectoryFromPath( instance.viewsRefMap[locationKey].viewPath );”

The exception complains viewpath is undefined. I wrapped the line in a try/catch and dumped “{‘viewsRefMap’=instance.viewsRefMap,‘locationKey’=locationKey}” to disk in html format. When I view these dumps I see the instance.viewsRefMap[locationKey].viewpath clearly defined.

Yeah that is as far as I got too, when I reported it a few months or so back. I didn’t have the time to delve into the problem further, as it was a mystery as to why it is the case.

One thing that did enter my head was that as intermittent as it is, I just assumed that I would have to wait for it to happen again. I actually put an email in place to send to me with all the debug information of when it happened.

And you know that I have still yet to receive that email and the problem!!