Thursday, October 13, 2011

"Exception in thread "thread applet-oracle.forms.engine.Main-2" java.lang.IllegalAccessError: class oracle.forms.ui.VTextField$FormsPWAccess cannot access its superclass oracle.ewt.lwAWT.lwText.LWTextField$Access"

Visit the Below Website to access unlimited exam questions for all IT vendors and Get Oracle Certifications for FREE
http://www.free-online-exams.com
Problem: "Exception in thread "thread applet-oracle.forms.engine.Main-2" java.lang.IllegalAccessError: class oracle.forms.ui.VTextField$FormsPWAccess cannot access its superclass oracle.ewt.lwAWT.lwText.LWTextField$Access"

On : 6.0.8.28.0 version, Forms for App Technology

When attempting to start forms,
the jre console displays an exception and the form session did not start.

ERROR
-----------------------
"Exception in thread "thread applet-oracle.forms.engine.Main-2" java.lang.IllegalAccessError: class oracle.forms.ui.VTextField$FormsPWAccess cannot access its superclass oracle.ewt.lwAWT.lwText.LWTextField$Access"




Symptoms:

The issue can be reproduced at will with the following steps:
1. Login to apps
2. Select a form resposibility
3. The form session did no start
Apps login is successful but after launching forms, window open but progress bar stops shortly after and jre console displays an exception "Exception in thread "thread applet-oracle.forms.engine.Main-2" java.lang.IllegalAccessError: class oracle.forms.ui.VTextField$FormsPWAccess cannot access its superclass oracle.ewt.lwAWT.lwText.LWTextField$Access"




Log files:

jre_log.trace
Exception in thread "thread applet-oracle.forms.engine.Main-2" java.lang.IllegalAccessError: class oracle.forms.ui.VTextField$FormsPWAccess cannot access its superclass oracle.ewt.lwAWT.lwText.LWTextField$Access
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
...
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
basic: Starting applet teardown
basic: Finished applet teardown
Thread causing the error:Forms-StreamMessageWriter
java.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at oracle.forms.engine.Heartbeat.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Solution:


The version of the fndjar.dep is 115.296 as expected, which confirms interop patch was applied

Comparing class sizes of EWT classes delivered by Patch 9863561 (ewt3.jar) and the ones included in the fndewt.jar uploaded. Starting with the classes mentioned in the error:

oracle.forms.ui.VTextField$FormsPWAccess
- Patch 695 bytes
- JAR 695 bytes

>>> Seems fine

oracle.ewt.lwAWT.lwText.LWTextField$Access
- Patch 2.590 bytes
- JAR 2.570 bytes

>>> These are different !!!!!

Compared sizes of all files in the 'oracle.ewt.lwAWT.lwText' between Patch 9863561 and FNDEWT.JAR. This shows that also following classes has different size.

LWTextField.class
Paragraph.class

This seems to indicate that during application of Patch 9863561 something went wrong with the manual steps to be done with the ewt3.jar. The above results indicate that incorrect (older?) versions of the ewt3 classes are picked up and these cause the 'corruption'.....

1. Redo the copy actions to apply patch 9863561 and ensure the ewt3.jar delivered by this patch is extracted.

2. After having this done confirm that the classes in ewt directory on the server have the same size as mentioned in the below update "PATCH - \ewt3\oracle\ewt\lwAWT\lwText" and the other Forms classes also do have equal sizes as delivered in the patch.

3. If this is the case regenerate the PRODUCT JAR files in ADADMIN and retest

4. Migrate the solution as appropriate to other environments.



Get Oracle Certifications for all Exams
Free Online Exams.com

No comments: