DX Application Performance Management

  • 1.  java.lang.IllegalAccessError on oracle.jdbc.driver classes

    Posted Jan 03, 2014 08:24 PM

    Trying to instrument introscope 9.5 on a standalone jvm. The app fails with the following error ONLY when the agent is instrumented on the jvm. The error does not occur when the agent is not present.

    Caused by: java.lang.IllegalAccessError: tried to access method oracle.jdbc.driver.OracleSql.<init>(Loracle/jdbc/driver/DBConversion;)V from class oracle.jdbc.driver.OracleStatement at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:791)[ojdbc6-11.2.0.1.0.jar:11.2.0.1.0] at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:1203)[ojdbc6-11.2.0.1.0.jar:11.2.0.1.0] at oracle.jdbc.driver.T4CPreparedStatement.<init>(T4CPreparedStatement.java:28)[ojdbc6-11.2.0.1.0.jar:11.2.0.1.0] at oracle.jdbc.driver.T4CDriverExtension.allocatePreparedStatement(T4CDriverExtension.java:67)[ojdbc6-11.2.0.1.0.jar:11.2.0.1.0] at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3346)[ojdbc6-11.2.0.1.0.jar:11.2.0.1.0] at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3232)[ojdbc6-11.2.0.1.0.jar:11.2.0.1.0]

    I assume I could disable any directives for oracle.jdbc.driver.* but I'm not sure if that will work. Also I don't understand why the app would fail on this error when the agent is on. The app must still be invoking that class without the agent running. So why would it fail when the agent is on.

    Any ideas?!</init></init></init></init>



  • 2.  RE: java.lang.IllegalAccessError on oracle.jdbc.driver classes
    Best Answer

    Broadcom Employee
    Posted Jan 03, 2014 09:46 PM

    It's okay to skip the offending methods that are in the SQLAgent PBD. We've done this in the past since it's a known problem.



  • 3.  RE: java.lang.IllegalAccessError on oracle.jdbc.driver classes

    Posted Jan 08, 2014 11:03 AM

    So I commented out any reference to oracle.jdbc.driver and oracle/jdbc/driver in the PBDs, however the app is still throwing the IllegalAccess error to yet another class "PhysicalConnection".

    Are there any PDBs out there that I can use for this?  The app only works when I remove oraclejdbc.pdb and sqlagent.pdb.



  • 4.  RE: java.lang.IllegalAccessError on oracle.jdbc.driver classes

    Posted Jan 09, 2014 01:36 PM
    ben.friedman:

    So I commented out any reference to oracle.jdbc.driver and oracle/jdbc/driver in the PBDs, however the app is still throwing the IllegalAccess error to yet another class "PhysicalConnection".

    Are there any PDBs out there that I can use for this?  The app only works when I remove oraclejdbc.pdb and sqlagent.pdb.


    Double check whether there is another JDBC library file (.jar or .zip) anywhere within the Agent Class Path.

    Sounds like there is a conflicting version of the JDBC code being loaded by the agent?