OC4J Java Instrumentation Error

Categories:
Solution Number:
S30077
Last Modified:
2017-05-18
Issue
When auto-instrumenting oc4j, the application won't start and it crashes with following errors:

12/20/2016 04:41:15 PM, JIDA , -295774464 , INFO , Caught: java.lang.Error
12/20/2016 04:41:15 PM, JIDA , -295774464 , INFO , Exception while superclass checking class load.C4 with superclass java.lang.Object
12/20/2016 04:41:15 PM, JIDA , -295774464 , INFO , java.lang.Error
at oracle.classloader.util.ClassLoadEnvironment$DependencyLoader.loadClass(ClassLoadEnvironment.java:2314)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:249)
at com.riverbed.instrumentation.da.jida.InstrHelper.loadUsingSpecifiedClassLoader(InstrHelper.java:708)

 
Solution
Check in the Jida logs that

Property internal.load.class.as.resource -> true

If yes you may only need to add  the following override in the configuration override to alter the superclasschecking behavior:
{ "internal.load.class.as.resource":false }

This allows the application to start without deadlocks.

Follow the steps below:

1) Try one override at a time. First under Configuration Overrides add the following:

{ "internal.load.class.as.resource":false }

2) Save and restart application

3) If issue persists and Oracle server is using jrockit jvm add second override below without removing the first:

{ "internal.load.class.as.resource.jrockit":true }

4) Save and restart application.

 
Environment
Oracle Application Server 10g R3 i.e.

AppInternals Xpert 10.x
Attachments
NOTICE: Riverbed® product names have changed. Please refer to the Product List for a complete list of product names.
Can't find an answer? Create a case