[coldbox-3.5] - The CONTROLLER parameter to the init function is required but was not passed in.

I see errors preventing Handlers from being constructed from time to time. The error is “The CONTROLLER parameter to the init function is required but was not passed in.”.

When we restart our application, we take a server out of the load-balancer to ensure only our health checks, and, developers are accessing the machine. Additionally, I took the advice of a forum poster many months back, and we deny all ColdBox requests while a reinit of the application is underway. Once ColdBox announces the interception point “afterAspectsLoad” we lower the maintenance flag and the Application.cfc again allows requests to hit ColdBox. I say all this to outline the steps we’ve taken to make sure a request does not try to create a handler while the application is being reinited.

Does anyone else see this issue?

Tag Context:

C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\ioc\Builder.cfc[116]
CFML( at cfBuilder2ecfc1858850925$funcBUILDCFC.runFunction(C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\ioc\Builder.cfc:116))

C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\ioc\Injector.cfc[288]
CFML( at cfInjector2ecfc1307835233$funcBUILDINSTANCE.runFunction(C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\ioc\Injector.cfc:288))

C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\ioc\scopes\NoScope.cfc[31]
CFML( at cfNoScope2ecfc1418236835$funcGETFROMSCOPE.runFunction(C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\ioc\scopes\NoScope.cfc:31))

C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\ioc\Injector.cfc[262]
CFML( at cfInjector2ecfc1307835233$funcGETINSTANCE.runFunction(C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\ioc\Injector.cfc:262))

C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\web\services\HandlerService.cfc[115]
CFML( at cfHandlerService2ecfc1506513977$funcNEWHANDLER.runFunction(C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\web\services\HandlerService.cfc:115))

C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\web\services\HandlerService.cfc[136]
CFML( at cfHandlerService2ecfc1506513977$funcGETHANDLER.runFunction(C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\web\services\HandlerService.cfc:136))

C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\web\Controller.cfc[493]
CFML( at cfController2ecfc502946511$funcRUNEVENT.runFunction(C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\web\Controller.cfc:493))

C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\Coldbox.cfc[231]
CFML( at cfColdbox2ecfc246780608$funcPROCESSCOLDBOXREQUEST.runFunction(C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\Coldbox.cfc:231))

C:\inetpub\adobetv4\atv4\Application.cfc[154]
CFML( at cfApplication2ecfc1868353865$funcONREQUESTSTART.runFunction(C:\inetpub\adobetv4\atv4\Application.cfc:154))

Sorry! I must have hit a shortcut key that posted.

Also, the error persists and the handler is in a state of error until I can reinit the application again. I can’t tell yet if the handler is cached in this state, the output (error) is cached and being served by ColdBox, or, if the handler can’t be created at all during this application lifetime; however, I suspect it is the latter and that the Handler can’t be created at all during this life since Hoth keeps incrementing my exception count for this error.

Anyone have any thoughts? Thanks!

Here is the full stack trace:

coldfusion.runtime.CustomException: Error building: handlers.Embed -> The CONTROLLER parameter to the init function is required but was not passed in. with constructor arguments: {} at coldfusion.tagext.lang.ThrowTag.doStartTag(ThrowTag.java:142) at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2722) at cfBuilder2ecfc1858850925$funcBUILDCFC.runFunction(C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\ioc\Builder.cfc:116) 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 cfInjector2ecfc1307835233$funcBUILDINSTANCE.runFunction(C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\ioc\Injector.cfc:288) 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 cfNoScope2ecfc1418236835$funcGETFROMSCOPE.runFunction(C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\ioc\scopes\NoScope.cfc:31) 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 cfInjector2ecfc1307835233$funcGETINSTANCE.runFunction(C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\ioc\Injector.cfc:262) 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 cfHandlerService2ecfc1506513977$funcNEWHANDLER.runFunction(C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\web\services\HandlerService.cfc:115) 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 cfHandlerService2ecfc1506513977$funcGETHANDLER.runFunction(C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\web\services\HandlerService.cfc:136) 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 cfController2ecfc502946511$funcRUNEVENT.runFunction(C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\web\Controller.cfc:493) 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:517) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:496) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:355) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2301) at cfColdbox2ecfc246780608$funcPROCESSCOLDBOXREQUEST.runFunction(C:\inetpub\adobetv4\lib\frameworks\coldbox35\system\Coldbox.cfc:231) 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 cfApplication2ecfc1868353865$funcONREQUESTSTART.runFunction(C:\inetpub\adobetv4\atv4\Application.cfc:154) 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 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)

Aaron we added extra thread safety to handler
Creations in 3.5.2 in the dev branch. Try it out. I will release 3.5.2 in a few days

Will-do. Thanks.

I am currently investigating an issue working with a dev version about 2 weeks old. As this error is randomly and really rare, i think it’s another concurrency issue and maybe it’s related to your problem:

Injector.InvalidConstructionType : [N/A]

I will let you know when i know more.

best regards