Skip to main content
Homestar9
Inspiring
March 24, 2021
Answered

ColdFusion 2016 Update 17 : Getting 500 Error After Installing When Using Elvis Operator

  • March 24, 2021
  • 4 replies
  • 3311 views

Hello CFers,

I installed the ColdFusion 2016 Update 17 (from Update 16) which came out this week and unfortunately all of my Coldbox sites are getting 500 errors when trying to load them.  The line that is causing the error is as follows:
`variables.thisRoute.handler = arguments.handler ?: "";`
The error that is being generated in the logs is:

"Error","ajp-nio-127.0.0.1-8016-exec-12","03/23/21","22:31:22","6A70E1E9B0E6E14EC4590A014F4D5C13","coldfusion.runtime.CFPage._isDefinedElvis(Ljava/lang/String;)Ljava/lang/Object; The specific sequence of files included or processed is: C:\websites\mysite.com\wwwroot\index.cfm, line: 1217 "
java.lang.NoSuchMethodError: coldfusion.runtime.CFPage._isDefinedElvis(Ljava/lang/String;)Ljava/lang/Object;
at cfRouter2ecfc1597072887$func_CF_ANONYMOUSCLOSURE_ELVIS1155.runFunction(C:\websites\mysite.com\wwwroot\coldbox\system\web\routing\Router.cfc:1217)
at coldfusion.runtime.Closure.invoke(Closure.java:109)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:389)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:340)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:235)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:3697)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:3677)
at coldfusion.runtime.CfJspPage._invokeElvisUDF(CfJspPage.java:3601)
at cfRouter2ecfc1597072887$funcROUTE.runFunction(C:\websites\mysite.com\wwwroot\coldbox\system\web\routing\Router.cfc:1217)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:493)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:389)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:340)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:235)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:3697)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:3677)
at cfRouter2ecfc467509851$funcCONFIGURE.runFunction(C:\websites\mysite.com\wwwroot\config\Router.cfc:7)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:493)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:389)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:340)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:235)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:654)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:443)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:413)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:3247)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:3224)
at cfRoutingService2ecfc1094123460$funcLOADROUTER.runFunction(C:\websites\mysite.com\wwwroot\coldbox\system\web\services\RoutingService.cfc:121)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:493)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:389)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:340)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:235)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:3697)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:3677)
at cfRoutingService2ecfc1094123460$funcONCONFIGURATIONLOAD.runFunction(C:\websites\mysite.com\wwwroot\coldbox\system\web\services\RoutingService.cfc:53)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:493)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:389)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:340)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:235)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:654)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:443)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:413)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:3247)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:3224)
at cfLoaderService2ecfc757761125$funcLOADAPPLICATION.runFunction(C:\websites\mysite.com\wwwroot\coldbox\system\web\services\LoaderService.cfc:66)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:493)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:426)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:389)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:340)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:235)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:654)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:443)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:413)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:3247)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:3224)
at cfBootstrap2ecfc1975085538$funcLOADCOLDBOX.runFunction(C:\websites\mysite.com\wwwroot\coldbox\system\Bootstrap.cfc:98)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:493)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:389)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:340)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:235)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:654)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:443)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:413)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:3247)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:3224)
at cfapplication2ecfc1140908838$funcONAPPLICATIONSTART.runFunction(C:\websites\mysite.com\wwwroot\application.cfc:69)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:493)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:426)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:389)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:340)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:235)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:654)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:443)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:413)
at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:114)
at coldfusion.runtime.AppEventInvoker.onApplicationStart(AppEventInvoker.java:237)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:345)
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:43)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:153)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94)
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:223)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
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:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
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:52)
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:200)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:359)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:552)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1634)
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)

 

I know ColdFusion 2016 is EOL but is there a channel I can use to let Adobe know their update broke some essential functionality?

    This topic has been closed for replies.
    Correct answer Homestar9

    Well, I did some more digging and found others experiencing the same issue I was having on the Adobe Bug Tracker:
    https://tracker.adobe.com/#/view/CF-4208310
    The TLDR is to clear out your C:\ColdFusion2016\cfusion\wwwroot\WEB-INF\cfclasses folder after you update ACF 2016.

    -- Edit 6/2/2021:
    You will also need to restart CFML services after clearing out the cfclasses folder.

    4 replies

    Participating Frequently
    June 21, 2021

    I am still wondering if there is anyone uses coldfusion. It was a powerful system, but it wasn't the best, but snice adobe purchased it, it continues to go down. The real wonder is that adobe is loosing products by not fixing and not updating.

    Charlie Arehart
    Community Expert
    Community Expert
    June 21, 2021

    Stop spreading fud. If no one used cf, why would there be:

    • These forums with active q&a every day?
    • The cf developer week next week with 20 sessions and thousands of registrants?
    • CF2021, the 5th release in 10 years
    • Active 3rd parties supporting it (Ortus and their tools, Foundeo and their tools, Intergral and their tools, to name just a few)
    • An open source implementation in Lucee, itself used by thousands
    • Docker images for cf2021, 2018, and 2016 (separately from Adobe and Ortus)
    • And so on 

     

    And to your last point, on Adobe "not fixing and not updating", you can't be talking about cf. Besides those 5 new releases in 10 years, there have been on avg 20 updates to each (over their 5 year support lives), and across the sum of update technotes for each release you'll find listed literally a few hundred bug fixes for each release over its 5 years.

     

    So, again, stop spreading fake news. If you don't like cf, move on. It's inane to try to spread such fud here of all places. 

    /Charlie (troubleshooter, carehart. org)
    Homestar9
    Homestar9Author
    Inspiring
    June 21, 2021

    Just in case @CreativeDev-e isn't trolling and is instead out of the loop.  I recommend checking out the Modernize or Die weekly podcast: https://www.ortussolutions.com/learn/modernize-or-die
    Listen or watch that for a few weeks and you'll surely see how CFML is still a well-loved and adopted platform all over the world.

    Edit: I can't believe I forgot to mention the Online ColdFusion Meetup that Charlie organizes on a weekly basis.  If you're interested in CFML and want to connect with other community members, I 100% recommend checking this out: https://www.meetup.com/coldfusionmeetup/

    Paolo Olocco
    Participating Frequently
    June 17, 2021

    Hi, sorry but we have the same issue on CF2018 yet.

    Obviously, by disabling the cache, the problem does not exist.

    Our case is that to have the cache and the code compiled with hotfix 10 instead of 11. Could this be the issue?

    Known Participant
    June 17, 2021

    I didn't run into this issue until hotfix 11, so your issue might be different.

    Known Participant
    June 2, 2021

    I just updated our staging server with CF 2018 update 11 and now I'm getting this error. I tried clearing out the cfclasses folder but that hasn't fixed the problem for me. Do I need to restart CF as well when I do this? Has anyone else run into this problem after applying update 11? I am seeing other problems related to the update but I'll put those in a different thread.

    Known Participant
    June 2, 2021

    Update, restarting the server does fix the issue. So clear out cfclasses and restart your server in order for this fix to work (to anyone that needs detailed steps). Thanks

    Homestar9
    Homestar9AuthorCorrect answer
    Inspiring
    March 24, 2021

    Well, I did some more digging and found others experiencing the same issue I was having on the Adobe Bug Tracker:
    https://tracker.adobe.com/#/view/CF-4208310
    The TLDR is to clear out your C:\ColdFusion2016\cfusion\wwwroot\WEB-INF\cfclasses folder after you update ACF 2016.

    -- Edit 6/2/2021:
    You will also need to restart CFML services after clearing out the cfclasses folder.

    BKBK
    Community Expert
    Community Expert
    March 24, 2021

    Thanks for sharing that.

    Inspiring
    March 27, 2021

    I also had a problem with my sites throwing 500 errors, so I was pleased to see a fix above, but unfortunately the fix does not work for me

     

    I performed the same update on my developer edition and it works fine. I've checked all of the settings including the version of JVM and everything appears to be identical.

     

    The problem appears to be in CFQUERYPARAM, but not all of them. This WHERE for example will cause the 500 error

    WHERE enduser_uid = <cfqueryparam value="#GetEnduser.enduser_uid#" cfsqltype="CF_SQL_INT">

     

    I tried to replace the #GetEnduser.enduser_uid# with a hardcoded value, it still crashed, but when I removed the cfqueryparam and used WHERE enduser_uid = 123456 the query works.

     

    These all worked fine before the update, plus with having two systems the dev and prod and only one doing this, I'm at a bit of a loss.

     

    Any ideas anybody?