Skip to main content
February 14, 2020
Question

Cold Fusion 2018 Error with SQL Server 2017

  • February 14, 2020
  • 1 reply
  • 2473 views

Hi, I just installed Cold Fusion 2018 Enterprise Edition on an existing VM server running Windows Server 2012 R2.  This is my staging server and already has a working copy of Cold Fusion 11 Enterprise edition which is working fine.

 

I installed the 2018.0.0.2 version for Windows 64. Afterwards, I installed each of the 7 hotfixes in order, and rebooted between each install.

My Cold Fusion administrator works correctly in that I can log on, and view the different screens.  

My database server is running MS SQL Server 2017.

I imported all of my settings from my Cold Fusion 11 server, and I can click on the Verify checkbox of my SQL Server datasource and the status is returned as OK.

 

However, when I try to run my existing Cold Fusion application, I get an error as soon as my application reaches the first query. 

 

The error in application.log is: 

"Error","ajp-nio-8018-exec-1","02/13/20","14:40:12",PEApplication,"java/sql/Connection The specific sequence of files included or processed is: D:\Webdocs\performance2019\index.cfm, line: 17

 

The error in coldfusion-error.log is:

Feb 13, 2020 4:52:41 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [CfmServlet] in context with path [] threw exception [Servlet execution threw an exception] with root cause
java.lang.NoClassDefFoundError: java/sql/Connection
at com.compuware.apm.agent.introspection.jdbc.ConnectionPoolIntrospection.updateConnectionClass(ConnectionPoolIntrospection.java:215)
at coldfusion.sql.imq.jdbcConnection.createStatement(jdbcConnection.java)
at coldfusion.sql.Executive.executeQuery(Executive.java:1468)
at coldfusion.sql.SqlImpl.execute(SqlImpl.java:432)
at coldfusion.tagext.sql.QueryTag.executeQuery(QueryTag.java:1211)
at coldfusion.tagext.sql.QueryTag.startQueryExecution(QueryTag.java:841)
at coldfusion.tagext.sql.QueryTag.doEndTag(QueryTag.java:794)
at cfindex2ecfm981164511._factor10(/CFIDE/administrator/logging/index.cfm:212)
at cfindex2ecfm981164511.runPage(/CFIDE/administrator/logging/index.cfm:1)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:262)
at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:735)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:565)
at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:597)
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:96)
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:226)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:311)
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:46)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:47)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at coldfusion.inspect.weinre.MobileDeviceDomInspectionFilter.doFilter(MobileDeviceDomInspectionFilter.java:121)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:47)
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:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at coldfusion.filter.ClickjackingProtectionFilter.doFilter(ClickjackingProtectionFilter.java:75)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:47)
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:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587)
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)

 

Any advice would be greatly appreciated.  Thank you.

This topic has been closed for replies.

1 reply

Charlie Arehart
Community Expert
Community Expert
February 14, 2020

My bet is that when you imported your cf11 settings, you imported something that has cf doing more than it would by default, and I think I see what it is.

 

Notice the first line of the stack trace in the error. It refers to com.compuware.apm.agent.introspection.jdbc.ConnectionPoolIntrospection.updateConnectionClass. That suggests the import pulled in some configuration setting that has cf (and the underlying jdbc calls)  being monitored by an apm, in this case compuware. But it seems it's not installed in the new machine. This can be a very frustrating aspect of CF's helpful import mechanisms.

 

Check first in the affected DSN (in the cf admin) for the connection string setting. There are usually no values by default. If there are indeed none there, check the admin's jvm page and its jvm args for perhaps some javaagent (again there is none by default in cf).

 

As for why it failed on the query and not the verify, it's that the verify was not running SQL so the apm was not "monitoring" that verify operation.

 

Finally, for future reference, you never need to do ALL the updates, one after another. Nor do you ever need to reboot after each. Save yourself that time and effort. 🙂

 

But what you may have found is that if you tried to do update 7 first, that failed to "verify" after it was downloaded.  That's a unique new problem since June 2019, when a server cert at Adobe changed, which is used by CF to validate the download of updates done in the admin ui. So any attempt to download 5 or above fails. Perhaps you'd tried 7 and 6 and gave up and started at 1.

 

But FWIW, if you'd just downloaded and installed update 4, then you could have done 7. Same for cf2016 update 11. And the technote for the updates indicates this (see the "read more" link in the admin page for each update), but most folks don't bother.

 

(And another problem prevented easily seeing the download/install buttons or the read more link, which is fixed in update 7.)

 

And yes these problem would be solved if adobe would create a new installer for cf2018 (and 2016) that included the existing updates. It's a lot of work and they usually wait for some still-bigger reason to do that--but this one seems annoying enough. 

 

Anyway, hope that helps you others.

 

And let us know how the db problem goes.

/Charlie (troubleshooter, carehart. org)
February 21, 2020

Hi Charlie, thank you for your reply. I tried reinstalling Cold Fusion and this time not importing any CF 11 settings and still had the same problem.  After that,  I've been working with Cold Fusion installation support and they had me change the JDK to 8.2.  For the moment, this solved the problem & I am able to view the logs & run my programs on this server.

 

Cold Fusion support seems to believe that this has something to do with Symantec blocking Cold Fusion from executing.  They said that they have seen this on other installs.  They asked me to try an install on a blank VM with no Symantec installed, but I have not been able to get the resources to do it yet.

 

For what it's worth, I did disable Symantec on the existing server, but it also made no difference.

 

Thanks again.

Charlie Arehart
Community Expert
Community Expert
February 21, 2020

Are you saying that in a fresh install, you really get the SAME error, referring to compuware? And that without importing anything? And Adobe support had no observation about that?

 

Or maybe you have some new error. And maybe they're on the right track then about an a/v. That said, it would seem odd that it causes problems with cf2018 if it did not with the cf11 that you said worked fine on the same machine.

 

If you shared more about the error, we may see that instead the issue could be if there was some other difference in the cf admin or jvm  settings of your 2018 setup vs 11. They can be compared to know the differences, if it may come to that.

/Charlie (troubleshooter, carehart. org)