sivaprasad9394
Occasional Collector

FS5 Data source Oracle driver exception

Jump to solution

Hello,

I am getting the below exception,

After editing the single news entry in BZO news datasurce, if I try to save and lock the view mode means I am getting the below error,

java.lang.IllegalAccessError: oracle/jdbc/driver/ResultSetUtil

OracleDriverError.png

Oracle Version:Oracle_JDBC_driver-5.1.209-1.3

Java Version:Jdk7

0 Kudos
1 Solution

Accepted Solutions

Dear André Pfeiler,

we checked your assumption for old/duplicate JDBC Oracle jars being loaded. Here, the JVM offers the option "verbose:class". With that setting the JVM documents which classes are loaded from which JAR. Currently, we could just identify within the Tanuki Wrapper log the following single output:

......
INFO   | jvm 1

| 2014/08/11 16:48:06 | [Loaded oracle.jdbc.driver.ResultSetUtil from file:/opt/wcms/fs/work/ModuleManager/Oracle_JDBC_driver_448bcc0f/lib/ojdbc6.jar]

......

We also filtered for "oracle.jdbc.driver" package and just could find a JAR named "ojdbc6.jar" where the classes are taken from. The conclusion: no duplicate JDBC drivers being loaded, currently.

Regarding the change of the driver:
from: ojdbc6.jar, version 11.2.0.1.0

to: ojdbc7.jar, version 12.1.0.2

including a FirstSpirit server restart we observed:

- problem has gone Smiley Happy

Although, the Oracle DB server does not match the driver version!

View solution in original post

0 Kudos
6 Replies
andre
I'm new here

hi,

please, post the complete exception stacktrace as plain text. are you calling those(..ResultSetUtil) internal oracle jdbc classes directly?

--

andre

0 Kudos

Hello,

Below is my log trace for the proble.Please have a look on it.

FSVersion=FSVersion=5.1.209.63675#4072

oracle/jdbc/driver/ResultSetUtil

oracle/jdbc/driver/ResultSetUtil - java.lang.IllegalAccessError: oracle/jdbc/driver/ResultSetUtil - Aug 12, 2014 3:03:59 PM

FSVersion=5.1.209.63675#4072;JDK=1.7.0_55 32bit Oracle Corporation;OS=Windows 7 6.1 x86;Date=12.08.2014 15:03:59

java.lang.IllegalAccessError: oracle/jdbc/driver/ResultSetUtil

    at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:829)

    at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:1203)

    at oracle.jdbc.driver.T4CPreparedStatement.<init>(T4CPreparedStatement.java:28)

    at oracle.jdbc.driver.T4CDriverExtension.allocatePreparedStatement(T4CDriverExtension.java:67)

    at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3346)

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

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:606)

    at de.espirit.or.impl.connection.ConnectionInvocationHandler.invoke(ConnectionInvocationHandler.java:81)

    at com.sun.proxy.$Proxy22.prepareStatement(Unknown Source)

    at de.espirit.or.impl.oracle.OracleSQLBuilder.createStatementForUpdate(OracleSQLBuilder.java:22)

    at de.espirit.or.impl.generic.GenericSQLBuilder.createSelectForUpdate(GenericSQLBuilder.java:50)

    at de.espirit.or.impl.TemporalCommandHandler.getEntry(TemporalCommandHandler.java:701)

    at de.espirit.or.impl.TemporalCommandHandler.handle(TemporalCommandHandler.java:126)

    at de.espirit.or.impl.CreateRelationCommand.accept(CreateRelationCommand.java:142)

    at de.espirit.or.impl.AbstractSessionHandler.commit(AbstractSessionHandler.java:796)

    at de.espirit.or.impl.AbstractSessionHandler.commit(AbstractSessionHandler.java:74)

    at de.espirit.firstspirit.content.ContentManagerImpl$TemporalSessionHandler.commit(ContentManagerImpl.java:1295)

    at de.espirit.firstspirit.content.ContentManagerImpl.commit(ContentManagerImpl.java:687)

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

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:606)

    at de.espirit.firstspirit.io.DefaultServerHandler.callManager(DefaultServerHandler.java:62)

    at de.espirit.firstspirit.server.io.handler.ManagerCall.doCall(ManagerCall.java:97)

    at de.espirit.firstspirit.server.io.handler.CompactCall.handle(CompactCall.java:68)

    at de.espirit.firstspirit.server.io.ManagerCallWorker.run(ManagerCallWorker.java:108)

    at de.espirit.firstspirit.server.ExecutionManagerImpl$RunnableWrapper.call(ExecutionManagerImpl.java:597)

    at de.espirit.firstspirit.server.ExecutionManagerImpl$ExtendedCallable.call(ExecutionManagerImpl.java:564)

    at java.util.concurrent.FutureTask.run(FutureTask.java:262)

    at de.espirit.common.util.BoundedExecutorService$RunnableWrapper.run(BoundedExecutorService.java:418)

    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)

    at java.util.concurrent.FutureTask.run(FutureTask.java:262)

    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

    at de.espirit.firstspirit.client.io.ServerCaller.callManager(ServerCaller.java:372)

    at de.espirit.firstspirit.io.DefaultClientHandler.callManager(DefaultClientHandler.java:55)

    at de.espirit.firstspirit.client.io.RemoteManagerCaller.invoke(RemoteManagerCaller.java:52)

    at de.espirit.firstspirit.server.$Proxy31.commit(Unknown Source)

    at de.espirit.firstspirit.store.access.templatestore.SessionHandlerImpl.commit(SessionHandlerImpl.java:126)

    at de.espirit.or.impl.SessionImpl.doCommit(SessionImpl.java:216)

    at de.espirit.or.impl.AbstractSession.commit(AbstractSession.java:589)

    at de.espirit.firstspirit.store.access.contentstore.DatasetImpl.save(DatasetImpl.java:1154)

    at de.espirit.firstspirit.store.access.contentstore.DatasetImpl.save(DatasetImpl.java:1199)

    at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.writeToServer(AbstractGuiStoreElement.java:671)

    at de.espirit.firstspirit.client.gui.tree.store.contentstore.GuiDataset.writeToServer(GuiDataset.java:303)

    at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.store(AbstractGuiStoreElement.java:1332)

    at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.save(AbstractGuiStoreElement.java:602)

    at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.save(AbstractGuiStoreElement.java:591)

    at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.save(AbstractGuiStoreElement.java:575)

    at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.save(AbstractGuiStoreElement.java:566)

    at de.espirit.firstspirit.client.action.SaveAction.actionPerformed(SaveAction.java:77)

    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

    at de.espirit.firstspirit.common.gui.FsButton.fireActionPerformed(FsButton.java:86)

    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)

    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)

    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)

    at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)

    at java.awt.Component.processMouseEvent(Unknown Source)

    at javax.swing.JComponent.processMouseEvent(Unknown Source)

    at java.awt.Component.processEvent(Unknown Source)

    at java.awt.Container.processEvent(Unknown Source)

    at java.awt.Component.dispatchEventImpl(Unknown Source)

    at java.awt.Container.dispatchEventImpl(Unknown Source)

    at java.awt.Component.dispatchEvent(Unknown Source)

    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)

    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

    at java.awt.Container.dispatchEventImpl(Unknown Source)

    at java.awt.Window.dispatchEventImpl(Unknown Source)

    at java.awt.Component.dispatchEvent(Unknown Source)

    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)

    at java.awt.EventQueue.access$200(Unknown Source)

    at java.awt.EventQueue$3.run(Unknown Source)

    at java.awt.EventQueue$3.run(Unknown Source)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)

    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)

    at java.awt.EventQueue$4.run(Unknown Source)

    at java.awt.EventQueue$4.run(Unknown Source)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)

    at java.awt.EventQueue.dispatchEvent(Unknown Source)

    at de.espirit.firstspirit.client.AWTDispatchingEventQueue.defaultDispatchEvent(AWTDispatchingEventQueue.java:161)

    at de.espirit.firstspirit.client.AWTDispatchingEventQueue._dispatchEvent(AWTDispatchingEventQueue.java:138)

    at de.espirit.firstspirit.client.AWTDispatchingEventQueue.dispatchEvent(AWTDispatchingEventQueue.java:131)

    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

2155673812295624549 - Admin (Admin), session: 2155673812295624549, project: 5744277

(de.espirit.firstspirit.client.AbstractGuiHost): ExceptionHandler.uncaughtException() - java.lang.IllegalAccessError: oracle/jdbc/driver/ResultSetUtil

(de.espirit.firstspirit.client.AbstractGuiHost): ExceptionHandler.uncaughtException() - java.lang.IllegalAccessError: oracle/jdbc/driver/ResultSetUtil - Aug 12, 2014 3:03:59 PM

FSVersion=5.1.209.63675#4072;JDK=1.7.0_55 32bit Oracle Corporation;OS=Windows 7 6.1 x86;Date=12.08.2014 15:03:59

java.lang.IllegalAccessError: oracle/jdbc/driver/ResultSetUtil

    at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:829)

    at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:1203)

    at oracle.jdbc.driver.T4CPreparedStatement.<init>(T4CPreparedStatement.java:28)

    at oracle.jdbc.driver.T4CDriverExtension.allocatePreparedStatement(T4CDriverExtension.java:67)

    at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3346)

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

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:606)

    at de.espirit.or.impl.connection.ConnectionInvocationHandler.invoke(ConnectionInvocationHandler.java:81)

    at com.sun.proxy.$Proxy22.prepareStatement(Unknown Source)

    at de.espirit.or.impl.oracle.OracleSQLBuilder.createStatementForUpdate(OracleSQLBuilder.java:22)

    at de.espirit.or.impl.generic.GenericSQLBuilder.createSelectForUpdate(GenericSQLBuilder.java:50)

    at de.espirit.or.impl.TemporalCommandHandler.getEntry(TemporalCommandHandler.java:701)

    at de.espirit.or.impl.TemporalCommandHandler.handle(TemporalCommandHandler.java:126)

    at de.espirit.or.impl.CreateRelationCommand.accept(CreateRelationCommand.java:142)

    at de.espirit.or.impl.AbstractSessionHandler.commit(AbstractSessionHandler.java:796)

    at de.espirit.or.impl.AbstractSessionHandler.commit(AbstractSessionHandler.java:74)

    at de.espirit.firstspirit.content.ContentManagerImpl$TemporalSessionHandler.commit(ContentManagerImpl.java:1295)

    at de.espirit.firstspirit.content.ContentManagerImpl.commit(ContentManagerImpl.java:687)

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

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:606)

    at de.espirit.firstspirit.io.DefaultServerHandler.callManager(DefaultServerHandler.java:62)

    at de.espirit.firstspirit.server.io.handler.ManagerCall.doCall(ManagerCall.java:97)

    at de.espirit.firstspirit.server.io.handler.CompactCall.handle(CompactCall.java:68)

    at de.espirit.firstspirit.server.io.ManagerCallWorker.run(ManagerCallWorker.java:108)

    at de.espirit.firstspirit.server.ExecutionManagerImpl$RunnableWrapper.call(ExecutionManagerImpl.java:597)

    at de.espirit.firstspirit.server.ExecutionManagerImpl$ExtendedCallable.call(ExecutionManagerImpl.java:564)

    at java.util.concurrent.FutureTask.run(FutureTask.java:262)

    at de.espirit.common.util.BoundedExecutorService$RunnableWrapper.run(BoundedExecutorService.java:418)

    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)

    at java.util.concurrent.FutureTask.run(FutureTask.java:262)

    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

    at de.espirit.firstspirit.client.io.ServerCaller.callManager(ServerCaller.java:372)

    at de.espirit.firstspirit.io.DefaultClientHandler.callManager(DefaultClientHandler.java:55)

    at de.espirit.firstspirit.client.io.RemoteManagerCaller.invoke(RemoteManagerCaller.java:52)

    at de.espirit.firstspirit.server.$Proxy31.commit(Unknown Source)

    at de.espirit.firstspirit.store.access.templatestore.SessionHandlerImpl.commit(SessionHandlerImpl.java:126)

    at de.espirit.or.impl.SessionImpl.doCommit(SessionImpl.java:216)

    at de.espirit.or.impl.AbstractSession.commit(AbstractSession.java:589)

    at de.espirit.firstspirit.store.access.contentstore.DatasetImpl.save(DatasetImpl.java:1154)

    at de.espirit.firstspirit.store.access.contentstore.DatasetImpl.save(DatasetImpl.java:1199)

    at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.writeToServer(AbstractGuiStoreElement.java:671)

    at de.espirit.firstspirit.client.gui.tree.store.contentstore.GuiDataset.writeToServer(GuiDataset.java:303)

    at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.store(AbstractGuiStoreElement.java:1332)

    at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.save(AbstractGuiStoreElement.java:602)

    at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.save(AbstractGuiStoreElement.java:591)

    at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.save(AbstractGuiStoreElement.java:575)

    at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.save(AbstractGuiStoreElement.java:566)

    at de.espirit.firstspirit.client.action.SaveAction.actionPerformed(SaveAction.java:77)

    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

    at de.espirit.firstspirit.common.gui.FsButton.fireActionPerformed(FsButton.java:86)

    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)

    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)

    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)

    at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)

    at java.awt.Component.processMouseEvent(Unknown Source)

    at javax.swing.JComponent.processMouseEvent(Unknown Source)

    at java.awt.Component.processEvent(Unknown Source)

    at java.awt.Container.processEvent(Unknown Source)

    at java.awt.Component.dispatchEventImpl(Unknown Source)

    at java.awt.Container.dispatchEventImpl(Unknown Source)

    at java.awt.Component.dispatchEvent(Unknown Source)

    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)

    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

    at java.awt.Container.dispatchEventImpl(Unknown Source)

    at java.awt.Window.dispatchEventImpl(Unknown Source)

    at java.awt.Component.dispatchEvent(Unknown Source)

    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)

    at java.awt.EventQueue.access$200(Unknown Source)

    at java.awt.EventQueue$3.run(Unknown Source)

    at java.awt.EventQueue$3.run(Unknown Source)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)

    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)

    at java.awt.EventQueue$4.run(Unknown Source)

    at java.awt.EventQueue$4.run(Unknown Source)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)

    at java.awt.EventQueue.dispatchEvent(Unknown Source)

    at de.espirit.firstspirit.client.AWTDispatchingEventQueue.defaultDispatchEvent(AWTDispatchingEventQueue.java:161)

    at de.espirit.firstspirit.client.AWTDispatchingEventQueue._dispatchEvent(AWTDispatchingEventQueue.java:138)

    at de.espirit.firstspirit.client.AWTDispatchingEventQueue.dispatchEvent(AWTDispatchingEventQueue.java:131)

    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

0 Kudos

please check if you have different version of oracle jdbc drivers in your classpath

this Oracle_JDBC_driver-5.1.209-1.3   is not a valid version

http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html


0 Kudos

Dear André Pfeiler,

the correct Oracle JDBC driver we use and package with the FirstSpirit module is:

- 11.2.0.1.0

The JDBC-driver file name: "ojdbc6.jar" officially offered by Oracle below:

http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html

Currently, we use an Oracle JVM version 7 update 65 on server-side. But as byte-code from lower versions can be used in higher versions, this shouldn't be an issue. Do you agree?

0 Kudos

Holger King wrote:

Dear André Pfeiler,

the correct Oracle JDBC driver we use and package with the FirstSpirit module is:

- 11.2.0.1.0

The JDBC-driver file name: "ojdbc6.jar" officially offered by Oracle below:

http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html

Currently, we use an Oracle JVM version 7 update 65 on server-side. But as byte-code from lower versions can be used in higher versions, this shouldn't be an issue. Do you agree?

Hi Holger King,

yes, agree. jdk6 bytecode should be compatible wih jdk7. the classes (OracleStatement.->ResultSetUtil) are package protected so they should be accessible. did you test the newest driver version 11.2.0.4 or 12.1.0.1? firstspirit does not call any internal oracle jdbc classes, so i assume theres an old/duplicate odbc jar on the classpath?

i wonder, oracle explicite notes: ojdbc6.jar (2,739,670 bytes) - Classes for use with JDK 1.6.

and at http://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html

ojdbc7.jar (3,397,734 bytes) - For use with JDK 7

so may be there is an internal problen we could not figure out?  so i think 12.1.0.1  should work with jdk7

Dear André Pfeiler,

we checked your assumption for old/duplicate JDBC Oracle jars being loaded. Here, the JVM offers the option "verbose:class". With that setting the JVM documents which classes are loaded from which JAR. Currently, we could just identify within the Tanuki Wrapper log the following single output:

......
INFO   | jvm 1

| 2014/08/11 16:48:06 | [Loaded oracle.jdbc.driver.ResultSetUtil from file:/opt/wcms/fs/work/ModuleManager/Oracle_JDBC_driver_448bcc0f/lib/ojdbc6.jar]

......

We also filtered for "oracle.jdbc.driver" package and just could find a JAR named "ojdbc6.jar" where the classes are taken from. The conclusion: no duplicate JDBC drivers being loaded, currently.

Regarding the change of the driver:
from: ojdbc6.jar, version 11.2.0.1.0

to: ojdbc7.jar, version 12.1.0.2

including a FirstSpirit server restart we observed:

- problem has gone Smiley Happy

Although, the Oracle DB server does not match the driver version!

0 Kudos