Coldbox error message

I have used the coldbox for long time. Now we are changing the server. I copied all my coldbox files over. I start receiving the error message

Element debuggerService is undefined in SERVICES.

The error occurred in C:/websites/WoodsideHomes/coldbox/system/web/Controller.cfc: line 168
Called from C:/websites/WoodsideHomes/coldbox/system/web/services/LoaderService.cfc: line 63
Called from C:/websites/WoodsideHomes/coldbox/system/Coldbox.cfc: line 71
Called from C:/websites/WoodsideHomes/Application.cfc: line 57
166 : <!— Debugger Service —>
167 :
168 :
169 :
170 :
Resources:
Check the ColdFusion documentation to verify that you are using the correct syntax.
Search the Knowledge Base to find a solution to your problem.
Browser Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36
Remote Address 131.153.149.89
Referrer
Date/Time 11-Sep-23 09:46 PM
Stack Trace
at cfController2ecfc1908490930$funcGETDEBUGGERSERVICE.runFunction(C:/websites/WoodsideHomes/coldbox/system/web/Controller.cfc:168) at cfLoaderService2ecfc2067220954$funcLOADAPPLICATION.runFunction(C:/websites/WoodsideHomes/coldbox/system/web/services/LoaderService.cfc:63) at cfColdbox2ecfc1486673405$funcLOADCOLDBOX.runFunction(C:/websites/WoodsideHomes/coldbox/system/Coldbox.cfc:71) at cfApplication2ecfc799293798$funcONAPPLICATIONSTART.runFunction(C:/websites/WoodsideHomes/Application.cfc:57)

coldfusion.runtime.UndefinedElementException: Element debuggerService is undefined in SERVICES.
at coldfusion.runtime.CfJspPage.resolveCanonicalName(CfJspPage.java:2862)
at coldfusion.runtime.CfJspPage._resolve(CfJspPage.java:2778)
at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:3074)
at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:3064)
at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:3025)
at cfController2ecfc1908490930$funcGETDEBUGGERSERVICE.runFunction(C:\websites\WoodsideHomes\coldbox\system\web\Controller.cfc:168)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:623)
at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:553)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:516)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:463)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:438)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:310)
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.CfJspPage._invoke(CfJspPage.java:4254)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4217)
at cfLoaderService2ecfc2067220954$funcLOADAPPLICATION.runFunction(C:\websites\WoodsideHomes\coldbox\system\web\services\LoaderService.cfc:63)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:623)
at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:553)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:516)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:463)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:438)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:310)
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.CfJspPage._invoke(CfJspPage.java:4254)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4217)
at cfColdbox2ecfc1486673405$funcLOADCOLDBOX.runFunction(C:\websites\WoodsideHomes\coldbox\system\Coldbox.cfc:71)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:623)
at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:553)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:516)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:463)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:438)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:310)
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.CfJspPage._invoke(CfJspPage.java:4254)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4217)
at cfApplication2ecfc799293798$funcONAPPLICATIONSTART.runFunction(C:\websites\WoodsideHomes\Application.cfc:57)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:623)
at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:553)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:516)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:463)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:438)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:310)
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.onApplicationStart(AppEventInvoker.java:238)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:436)
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:227)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
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:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:377)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:463)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:834)

Which version of ColdBox are you using? What version of CFML engine?

ColdBox 3.5 and CF 20221

The only thing I can tell you is that the debugger service is not being found. Granted, this is on a version of ColdBox that was released in 2012 and has not been supported for more than 10 years.

It works fine in CF 2016. So what would I Need to do to resolve this issue? Thank you

I am not sure @Erik_T since this is the first time we see this type of issue. Granted you are using a version of ColdBox of 2012 in a 2021 engine. I am guessing it’s an issue with the engine not being compatible with the older code.

Try upgrading your ColdBox to the latest version.

Can somebody assist me with this? Will I have to rewrite code? It should be backward compatible

The engine should be backward compatibile, but you are likely upgrading JVM’s too. Coldbox 3.x was designed to work on Java 8. I don’t see anything in that version’s DebuggerService.cfc that jumps out at me, other the usage of java.lang.Runtime. It’s likely you were running on Java 8 on the old server, and the new one is in Java 11.

I would suggest commenting out line 131 in that file or disabling the debugger service and see if that gets you past your errors. Otherwise, feel free to contact us at consulting@ortussolutions.com. We would be happy to offer you professional support in transitioning your app.

I cloned the 3.5.0 tag on the ColdBox repo, grabbed the advanced template from the application templates folder and started up an ACF 2021 server

server start cfengine=adobe@2021
cfpm install feed,chart

The site worked first try

Seems the issue is on your end.

What Java version was used?

line 131 of what file DebuggerService.cfc?

See the hyperlink above for the path inside of Coldbox. I suspect @bdw429s ran that on Java 11 as ACF2021 is not Java 8 or Java 17 compatible

I tested on Java 11.0.20.1+1.

I just thought of this too-- make sure you have ALL the updaters for ACF 2021 installed. I actually think there were some bugs in the initial release that didn’t work with ColdBox that Adobe fixed later. I used CF 2021.0.10+330161 in my test.

Silly question. How do I figured out what version of ColdBox I am using? I went through all the files and could not find any indications of the version

Version 3.x was before CommandBox’s time. So look in the Changelog section of the readme.txt file

On a separate note, I had another client tell me that they received a debugger service error when they tried to install 3.7. Rolling back to 3.5 fixed the issue.

You can add the zip of an historical version as a dependency to your projects box.json like so:

    "dependencies":{
        "coldbox":"https://github.com/ColdBox/coldbox-platform/archive/refs/tags/3.5.0.zip"
    },
    "installPaths":{
        "coldbox":"coldbox"
    }
}

My Readme.txt looks like this. Now I am not even sure it is 3.5


Copyright 2005-2007 ColdBox Framework by Luis Majano and Ortus Solutions, Corp
www.coldbox.org | www.luismajano.com | www.ortussolutions.com


Welcome to the ColdBox Application Template

This is a skeleton for you to start a new ColdBox application or you can use the
Application Generator included in the ColdBox Dashboard. Below is a sample
ColdBox application directory structure. You need to follow this structure in order
for ColdBox to work via its conventions. You can also change the conventions using
the ColdBox Dashboard or the settings.xml


Sample Directory Structure For Your Application


-ApplicationFolder
- config (Your config folder)
- handlers (Your event handlers)
- includes (Your include files if used)
- interceptors (Where you can put your interceptors)
- layouts (Your layouts)
- logs (Where your log files go, you can change this)
- model (Where your model objects go)
- plugins (Your custom plugins by convention)
- remote (Where your remote proxies go)
- test (Where your unit testing goes)
- views (Your views)


QUICK START


How to start?

  1. Start off by copying the ApplicationTemplate folder to your web root and
    naming it to something you want. Remember that you need to have installed
    ColdBox first. Copy the coldbox distribution directory to the
    web root. /WEBROOT/coldbox

  2. Open the config/coldbox.xml.cfm file and change the AppName setting to whatever you want.

    You can read the coldbox.xml guide in order to understand all the variables in this file
    and adjust if needed.

  3. Optional step, skip to step 4.
    If you need to change the name property of your Application.cfc or
    Application.cfm template.
    Open the file Application.cfc or Application.cfm and change the name
    property to whatever you want it to be. Remember that every application will need
    its own name property. Also, please note that ColdBox uses the application
    scope as a requirement.

    • The client scope needs to be enabled if using the clientstorage plugin.
    • The messagebox plugin can use the session or client scope. By default it uses session.
  4. Now that you have completed editing your config and Application.cfc, you are ready to see
    results. Point your web browser to your application folder and you will see a message display:

OPTIONAL: Skip all the steps, just fire up the ColdBox Dashboard and run the Application Generator.

UNIT TESTS: You will also find the unit tests ready for the event handlers inside the handlers
directory under the name tests. You will find a test suite and two test cases.

Welcome to Coldbox!!

Now get your mind out of procedural code, dive into OO Programming. Please make sure
to fasten your seat belts, it WILL GET BUMPY!!


PRETTY URLS/SES SUPPORT


ColdBox provides you with pretty URL support or SES. The configuration file already has
the ses interceptor declared and a sample routing configuration file has been created for
you with the three most common routes to get you started. However, out of the box,
the interceptor will use ‘index.cfm/handler/action’ to route requests. If you would
like to eliminate the ‘index.cfm’ then please use the provided .htaccess or IsapiRewrite.ini
files (If your web server supports it).


COLDBOX PROXY


The ColdBox proxy is used as a means to adapt the ColdBox event driven framework
to a Flex/AIR application. You basically forward requests to the proxy with an
associative array of parameters: The event to execute and any other parameters.
The framework will then process the event as a ColdBox event. You can then treat
your ColdBox application as a model application. You can use the debugger panel, etc
to monitor your flex application.

REQUIREMENTS:

  1. You will not to create the setting: AppMapping
    You need to do this in order for the framework to correctly create the instantiation
    paths.
  2. Your Imagination!!

Well the copyright on that says 2007 and the last release of 2007 is 2.5.1, but that doesn’t necessarily mean anything. It’s possible @lmajano might know.

Either way you are quite a ways off the upgrade path.

What would it take to upgrade?

You can find the exact version in the Settings.cfc file: https://github.com/ColdBox/coldbox-platform/blob/3.5.0/system/web/config/Settings.cfc#L20

As for upgrade, you are quite behind. But it will depend on how the app was coded and structured. We couldn’t possibly know unless we did an analysis. Like @jclausen mentioned, we do have professional open source services and support. We do many things for free, this is a way to give back to the project and get your problems solved as well :slight_smile: Support & Consulting