Skip to main content
Participating Frequently
April 8, 2014
Question

java.lang.AbstractMethodError on data source verification

  • April 8, 2014
  • 2 replies
  • 1778 views

Using the easysoft JDBC-ODBC bridge to connect to an Access DB. Has been working great since CF6. Currently no issues on CF9(solaris). We're working to upgrade our servers to CF10 on Redhat and have everything working except when we attemtp to verify our data sources that use this driver we get the following error:

In the CF administrator: Connection verification failed for data source: csd_training_index
java.lang.AbstractMethodError: null
The root cause was that: java.lang.AbstractMethodError

"Error","ajp-bio-8012-exec-1","04/08/14","16:50:43",,""

in the server.log file

Note: EasySoft says "There is nothing in that stack trace to indicate CF is even connecting with Easysoft."

Stack trace:

"Error","ajp-bio-8012-exec-1","03/17/14","11:35:11",,""

java.lang.AbstractMethodError

      at coldfusion.server.j2ee.sql.JRunConnection.<init>(JRunConnection.java:133)

        at coldfusion.server.j2ee.sql.pool.JDBCPool.create(JDBCPool.java:555)

        at coldfusion.server.j2ee.sql.pool.JDBCPool._checkOut(JDBCPool.java:472)

        at coldfusion.server.j2ee.sql.pool.JDBCPool.checkOut(JDBCPool.java:378)

        at coldfusion.server.j2ee.sql.pool.JDBCPool.requestConnection(JDBCPool.java:785)

        at coldfusion.server.j2ee.sql.pool.JDBCManager.requestConnection(JDBCManager.java:123)

        at coldfusion.server.j2ee.sql.JRunDataSource.getConnection(JRunDataSource.java:135)

        at coldfusion.server.j2ee.sql.JRunDataSource.getConnection(JRunDataSource.java:122)

        at coldfusion.sql.CFDataSource.getConnection(CFDataSource.java:45)

        at coldfusion.sql.Executive.verifyDatasource(Executive.java:492)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

        at java.lang.reflect.Method.invoke(Unknown Source)

        at coldfusion.runtime.StructBean.invoke(StructBean.java:508)

        at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2465)

        at cfudflibrary2ecfm1867463752$funcVERIFYDSN.runFunction(E:\cf10_final\cfusion\wwwroot\CFIDE\administrator\datasources\udflibrary.cfm:14)

        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

        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:518)

        at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2624)

        at cfindex2ecfm782328217._factor12(E:\cf10_final\cfusion\wwwroot\CFIDE\administrator\datasources\index.cfm:450)

        at cfindex2ecfm782328217._factor17(E:\cf10_final\cfusion\wwwroot\CFIDE\administrator\datasources\index.cfm:396)

        at cfindex2ecfm782328217._factor18(E:\cf10_final\cfusion\wwwroot\CFIDE\administrator\datasources\index.cfm:168)

        at cfindex2ecfm782328217.runPage(E:\cf10_final\cfusion\wwwroot\CFIDE\administrator\datasources\index.cfm:1)

        at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:244)

        at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:444)

        at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)

        at coldfusion.filter.IpFilter.invoke(IpFilter.java:64)

        at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:449)

        at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)

        at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)

        at coldfusion.filter.PathFilter.invoke(PathFilter.java:112)

        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:58)

        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:219)

        at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

        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:243)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

        at coldfusion.filter.ClickjackingProtectionFilter.doFilter(ClickjackingProtectionFilter.java:75)

        at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)

        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)

        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)

        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:414)

        at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:204)

        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)

        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298)

        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

        at java.lang.Thread.run(Unknown Source)

This topic has been closed for replies.

2 replies

BKBK
Community Expert
Community Expert
April 10, 2014

keithal wrote:

Using the easysoft JDBC-ODBC bridge to connect to an Access DB. Has been working great since CF6. Currently no issues on CF9(solaris). We're working to upgrade our servers to CF10 on Redhat and have everything working except when we attemtp to verify our data sources that use this driver we get the following error:

In the CF administrator: Connection verification failed for data source: csd_training_index
java.lang.AbstractMethodError: null
The root cause was that: java.lang.AbstractMethodError

"Error","ajp-bio-8012-exec-1","04/08/14","16:50:43",,""

in the server.log file

Note: EasySoft says "There is nothing in that stack trace to indicate CF is even connecting with Easysoft."

Stack trace:

"Error","ajp-bio-8012-exec-1","03/17/14","11:35:11",,""

java.lang.AbstractMethodError

      at coldfusion.server.j2ee.sql.JRunConnection.<init>(JRunConnection.java:133)

The error suggests to me that the package coldfusion.server.j2ee.sql may still contain throw-backs to JRun, even after ColdFusion 10's move to Tomcat. Adobe's Coldfusion team may have to review their design to detect remnants of JRun that would break in Tomcat.

keithalAuthor
Participating Frequently
April 10, 2014

Thanks BKBK and Charlie Airhart!

I'll look at submitting a bug report but I have new info.

On the ODBC side(WIndows server) we are running the easysoft applet that connects to the ODBC datasources and that talks across the network to the jdbc-odbc bridge on the CF10 side. At least I think this is how it works. I have a trial license running on the windows server which has now expired. When I test the datasource on the CF10 side, it still fails but with this error:

Connection verification failed for data source: csd_training_index

java.sql.SQLException: General error: Failed to initialise licensing - All valid licenses for this product have expired, return code 9

The root cause was that: java.sql.SQLException: General error: Failed to initialise licensing - All valid licenses for this product have expired, return code 9

That error message is coming directly from the easysoft applet on the ODBC side. This leads me to beleive the previous issue is on the Easysoft side.

keithalAuthor
Participating Frequently
May 1, 2014

This issue has been resolved. Problem was that I had both the old easysoft jdbc-odbc bridge driver and the new one on the CF10 server. The datasources were finding and using the old driver. Removed the old driver and now it finds the new driver and the datasources verify. My bad! But happy to have resolved this!

keithalAuthor
Participating Frequently
April 8, 2014

Oddly. lots of references to things like this:

E:\cf10_final\cfusion\wwwroot\CFIDE\administrator\datasources\index.cfm:450

but I'm running on RH linux!

Charlie Arehart
Community Expert
Community Expert
April 9, 2014

Keith, those are simply references to precompiled or encoded CFML templates (as is done with those CF Admin templates), where the class that’s created reflects the path to the file where it lived when that edition of CF was built by the Adobe engineer. So you can ignore their physical “location”.

I’m afraid I have nothing more to add on your original post, though.

/charlie

/Charlie (troubleshooter, carehart. org)