Oracle Forms and Sun JVM 1.6

4 January 2007 at 13:09 CET | In Forms, Oracle, SUN JPI/JVM |

This blog will describe a workaround to get Oracle Forms to work with the newly release version 6 of Sun’s Java SE. When we moved Forms to the web we decided not to use Oracle’s own JInitiator but opted for Sun JPI. I’ve blogged before about the step needed to configure Oracle Forms to use Sun JPI in stead of Oracle JInitiator.

We decided to use dynamic versioning with Sun JPI. This means we specify a minimum required version of the JVM in the webpage, but allow the client to use any newer version installed on the local workstation. The other option is static versioning in which you demand a specific version of the JVM. We didn’t want to use static versioning as the majority of our users are external users over the internet in other organizations. We wanted to make the transition to webforms as smooth as possible and thus allowed them to leverage any existing JVM versions on their workstations.

Oracle officially supports the use of Sun JVM with Oracle Forms. They announced support for Sun JPI 1.4.2 in June 2005 for Forms 10gR1 (9.0.4) and certified JPI 1.5.0 in September 2005 for Forms 10gR2 (10.1.2). My understanding is that Oracle hasn’t begun the certification for J2SE 6 yet.

Since we use dynamic versioning users that do install the new version on their workstation will use J2SE 6 to access our Forms application automatically. So, even without official certification I did some preliminary testing and found two issues. One is related to the use of TLS as HTTPS/SSL protocol combined with Oracle WebCache 10.1.2 which does not work out of the box. I’ll blog about that later. The other issue is that some Forms crashed. When started from the menu they just wouldn’t start and the open window would disappear. Looking at the Java Console an error was displayed:

Exception in thread "AWT-EventQueue-2"
	java.lang.NoClassDefFoundError:
	oracle/bali/share/sort/StringComparator
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
	at java.lang.Class.getDeclaredMethod(Unknown Source)
	at java.awt.Component.isCoalesceEventsOverriden(Unknown Source)
	at java.awt.Component.isCoalesceEventsOverriden(Unknown Source)
	at java.awt.Component.access$100(Unknown Source)
	at java.awt.Component$2.run(Unknown Source)
	at java.awt.Component$2.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.Component.checkCoalescing(Unknown Source)
	at java.awt.Component.(Unknown Source)
	at java.awt.Container.(Unknown Source)
	at oracle.ewt.lwAWT.LWComponent.(Unknown Source)
	at oracle.ewt.lwAWT.LWDataSourceChoice.(Unknown Source)
	at oracle.ewt.lwAWT.LWChoice.(Unknown Source)
	at oracle.ewt.comboBox.ComboBox.(Unknown Source)
	at oracle.ewt.comboBox.ComboBox.(Unknown Source)
	at oracle.forms.ui.VComboBox.(Unknown Source)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at java.lang.Class.newInstance0(Unknown Source)
	at java.lang.Class.newInstance(Unknown Source)
	at oracle.forms.handler.UICommon.instantiate(Unknown Source)
	at oracle.forms.handler.UICommon.onCreate(Unknown Source)
	at oracle.forms.handler.PopListItem.onCreate(Unknown Source)
	at oracle.forms.handler.ComboBoxItem.onCreate(Unknown Source)
	at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
	at oracle.forms.engine.Runform.processMessage(Unknown Source)
	at oracle.forms.engine.Runform.processSet(Unknown Source)
	at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
	at oracle.forms.engine.Runform.onMessage(Unknown Source)
	at oracle.forms.engine.Runform.processEventEnd(Unknown Source)
	at oracle.ewt.lwAWT.LWComponent.redispatchEvent(Unknown Source)
	at oracle.ewt.lwAWT.LWComponent.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.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	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)
	at java.awt.EventDispatchThread.run(Unknown Source)

It turns out that the Forms applet is trying to use the oracle.bali.share.sort.StringComparator class which cannot be found in the frmall.jar that was used to start Forms. According to the error stack it has something to do with the initialization of a ComboBox. Opening the frmall.jar indeed revealed that the StringComparator class is not included. There are a number of other classes in the oracle.bali.share.sort package: Comparator, LexiComparator and Sort

I also searched the other JAR files in the ORACLE_HOME/forms/java directory but none of them contained the StringComparator class. In fact, the only two JAR files in the entire ORACLE_HOME that contained the class where ORACLE_HOME/oui/jlib/shared.jar from the Universal Installer and ORACLE_HOME/jlib/share.jar

I’ll see if I can get Oracle to look at this problem even without official support for J2SE 6 but I guess they will want to support version 6 eventually. I tried two quick-and-dirty solutions to the problem. One is to include share.jar in the list of JAR files to start Oracle Forms. The other is to slipstream the oracle.bali.share.sort classes from the share.jar in the frmall.jar.

Including the share.jar in the formsweb.cfg

The first solution is to include the share.jar in the distribution. In our current installation of Forms 10.1.2.0.2 the share.jar does not contain any classes that are also included in the frmall.jar. First is to copy the ORACLE_HOME/jlib/share.jar to ORACLE_HOME/forms/java/share.jar. You also have to include the share.jar in the archive parameter of the formsweb.cfg

But the frmall.jar is a signed jar. If you do not sign the share.jar as well you will get a SecurityException:

java.lang.SecurityException:
	class "oracle.bali.share.sort.StringComparator"'s signer
	information does not match signer information of other classes
	in the same package
	at java.lang.ClassLoader.checkCerts(Unknown Source)
	at java.lang.ClassLoader.preDefineClass(Unknown Source)
	at java.lang.ClassLoader.defineClass(Unknown Source)
	at java.security.SecureClassLoader.defineClass(Unknown Source)
	at java.net.URLClassLoader.defineClass(Unknown Source)
	at java.net.URLClassLoader.access$000(Unknown Source)
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at sun.applet.AppletClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.applet.AppletClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
	at java.lang.Class.getDeclaredMethod(Unknown Source)
	at java.awt.Component.isCoalesceEventsOverriden(Unknown Source)
	at java.awt.Component.isCoalesceEventsOverriden(Unknown Source)
	at java.awt.Component.access$100(Unknown Source)
	at java.awt.Component$2.run(Unknown Source)
	at java.awt.Component$2.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.Component.checkCoalescing(Unknown Source)
	at java.awt.Component.(Unknown Source)
	at java.awt.Container.(Unknown Source)
	at oracle.ewt.lwAWT.LWComponent.(Unknown Source)
	at oracle.ewt.lwAWT.LWDataSourceChoice.(Unknown Source)
	at oracle.ewt.lwAWT.LWChoice.(Unknown Source)
	at oracle.ewt.comboBox.ComboBox.(Unknown Source)
	at oracle.ewt.comboBox.ComboBox.(Unknown Source)
	at oracle.forms.ui.VComboBox.(Unknown Source)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at java.lang.Class.newInstance0(Unknown Source)
	at java.lang.Class.newInstance(Unknown Source)
	at oracle.forms.handler.UICommon.instantiate(Unknown Source)
	at oracle.forms.handler.UICommon.onCreate(Unknown Source)
	at oracle.forms.handler.PopListItem.onCreate(Unknown Source)
	at oracle.forms.handler.ComboBoxItem.onCreate(Unknown Source)
	at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
	at oracle.forms.engine.Runform.processMessage(Unknown Source)
	at oracle.forms.engine.Runform.processSet(Unknown Source)
	at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
	at oracle.forms.engine.Runform.onMessage(Unknown Source)
	at oracle.forms.engine.Runform.processEventEnd(Unknown Source)
	at oracle.ewt.lwAWT.LWComponent.redispatchEvent(Unknown Source)
	at oracle.ewt.lwAWT.LWComponent.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.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	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)
	at java.awt.EventDispatchThread.run(Unknown Source)

So, you have to sign the share.jar with the same certificate that was used to sign the frmall.jar. Out of the box the frmall.jar is signed by Oracle and we do not have the keystore required to sign the jar file. You will have to sign the frmall.jar with your own certificate and use the same certificate to sign the share.jar file. In September 2005 I already blogged about signing the frmall.jar with your own certificate.

Slipstreaming classes in the frmall.jar

The other solution is to slipstream the classes from the oracle.bali.share.sort package in the frmall.jar. You have to unpack both the share.jar and the frmall.jar. Then copy the classes from the oracle/bali/share/sort directory from the share.jar to the unpacked frmall.jar. Then repack frmall.jar and sign it. You can follow the steps in another blog entry to unpack jar files, repackage and sign them.

Conclusion

Adding the classes to my Forms server does seem to resolve the problem with the crashing Forms. However, I’m sure this is not a supported solution and I don’t really like the concept of just grabbing a number of classes from a JAR file and use them just because their names match. Who knows which version is actually required and why Forms apparantly does not require these classes when using Sun JPI 1.4 or 1.5.

I’ll see if I can get Oracle to look into the problem and will update this blog entry with any progress I make with running Forms with Sun J2SE 6. The coming weeks I will use J2SE 6 with Oracle Forms 10.1.2.0.2 on my machine and will report back here with any issues.

24 Comments

TrackBack URI

  1. Thanks for posting this, Wilfred. I made the same discovery a few days ago, refer to my OTN forum thread, where I am still waiting for an answer from Jan Carlin regarding “official certification”.
    http://forums.oracle.com/forums/thread.jspa?threadID=443111&tstart=30

    Since we are also testing Java 1.6, I will keep a close eye on your progress on this matter. I’m simply not buying Oracle’s “1.6 is not supported” excuse - this more seems like a result of bad coding, to be honest.

    Because - why should Forms attempt to create an instance of a specific class in one Java version, but not in another? Looks to me, like there is some Java version dependent code branch somewhere, like

    if (unknown java version) new StringComparator() else (do something else). This is a bad approach IMO.

    From a Java coding perspective, this makes no sense whatsoever.

    Comment by Jacob — 10 January 2007 #

  2. Funny we were working on the same problem at the same time and came up with the same solution and comments without knowing about each other situation.

    I don’t understand how this can happen either, but I cannot imagine it is somehow intentional. We ran Java 1.4 with Forms 9.0.4 before it was officially supported. And even then Oracle decided to only support Java 1.4.2 with Forms 9.0.4 but I could run Forms 9.0.4 with Java 1.5.0 the same way as we could with Forms 10.1.2

    The Apps division indicated they have plans to support J2SE 6, but they did not give any timeline. I tried to get a statement from Forms product management on J2SE 6 support but could only get that they plan to support J2SE 6 with Forms 11.x. If the Apps division is willing to take the initiative for J2SE 6 support with Forms 10.1.2 we as tech customers can probably benefit from this same certification.

    To me it is a mystery why the Apps division opted to support Java 1.5 with Oracle Forms. We could never get it stable enough and about 50% of the time you close your browser it just hangs when trying to destroy the applet. We don’t have these issues in Java 1.4 and is supposed to be a Sun Java bug that is fixed in J2SE 6. To be honest I couldn’t reproduce the bug with a J2SE 6 beta a couple of months ago so it looks promising.

    To me the mystery remains why Apps is taking the risk of supporting 1.5. If I were them I would just go for 1.4 or 1.6 but not 1.5

    Comment by wilfred — 10 January 2007 #

  3. Hi Wilfred
    Today, as part of an ongoing SR I have on MetaLink, I recieved this information about the subject, which probably is no real news for you:

    Quote:

    “Due to time pressure, we do not expect that Forms 10.1.2 will be certified with JPI 1.6. But I have informed Forms Product Management about your request, so it is ‘registered’.”

    I still have this SR running in an attempt to get Oracle to bug Sun enough to get them to fix the present problems with JPI 1.5.0. A promised bugfix for 1.5.0_11 wasn’t delivered by Sun, and the latest statement says, that it wont be included until 1.5.0_13, whose release date is unknown - we have yet to see a _12 release…

    Details:

    http://forums.oracle.com/forums/thread.jspa?threadID=471962&tstart=0

    Have you encountered any more issues regarding 1.6.0? I have found one focus issue, that I’ve yet to find a workaround for - 1.5 and 1.4 works right. Do you currently use 1.6 in production, or are you still only testing it?

    Thanks,

    Jacob

    Comment by Jacob — 19 February 2007 #

  4. Another thing I’ve noticed, that only happens with the 1.6 plugin: the login screen always somehow loses focus, and you have to click on one of the fields before being able to type anything.

    I haven’t seen this behaviour on neither 1.4 or 1.5. Have you noticed this?

    Thanks,

    Jacob

    Comment by Jacob — 2 April 2007 #

  5. I guess I don’t understand why the need to sign. I got the SecurityException so I extracted the share.jar using winzip, took the sort directory and created a new jar called newshare.jar. Copied it to my Oracle_Home/forms90/java. Add the newshare.jar to my formsweb.cfg (archive_jini= f90all_jinit.jar,icons.jar,newshare.jar) and it all worked. Did I do something incorrected? I tried it with without signing just to see what would happen. Is there something I’m missing? Thanks for your time.
    btw: I’m running 9ias

    Comment by Ken C — 18 April 2007 #

  6. Hi, we are running 10G 9.0.4.3 and web_util with Java 1.6 on Oracle Retail and it seems fine, no funny crashes yet and it has lots of forms. The only nuisance is the focus change back to the browser once it is loaded. Any ideas on that would be welcome.
    Thanks for the info.

    Comment by Peter — 27 April 2007 #

  7. That sounds like the exact same problem I’m having with 1.6. It’s something, that I’m sure will be fixed with Forms 11, but for now, I don’t think there’s much you can do about it. SYNCHRONIZE and tricks like that doesn’t seem to help here.

    Comment by Jacob — 27 April 2007 #

  8. During testing I did have to go and sign the other jar files. Thanks for the instructions.

    Comment by Ken C — 9 May 2007 #

  9. Using the c:\\jlib\share.jar
    and resigning it with my trusted certificate work for me. The Combo box was the cause of the problem looks like its not been test in 1.6 (6.0) JRE.

    Comment by Aidan Moss — 21 June 2007 #

  10. We have switched back to 1.5 for now with our Oracle Retail forms on 10G 9.0.4.3 and AIX 5.3. We have been having ‘FRM-93000: Unexpected internal error.
    Details : No HTTP headers received from runform errors’ intermittently so chasing this down at the moment. Have applied all fixes I can find including network retries, upgrading the server JDK to 1.4.2, disabling webcache, taking out reports ping, upping the xmx/xms Java parameters, etc.

    Comment by Peter — 22 June 2007 #

  11. I have bumped to the same exception when using the newly received FormsGraph.jar file from Oracle’s Frank Nimphius. When the new FormsGraph.jar file is used, both the JRE 1.5_12 and JInitiator 1.3.1.22 runtime consoles shows the same exception messages. The reason for asking/obtaining the new FormsGraph.jar file was Frank’s undistributed (via OTN) improvements to the FormsGraph.jar such as printing the values on top of the bars in histograms (bar charts). The FormsGraph.jar on OTN is dated 2005 and does not include his new implementations. I thought this might help others. And if anyone will have a solution (I already sent emails to Frank), please update this posting.
    Best regards
    Zafer

    Exception in thread “AWT-EventQueue-2″ java.lang.NoClassDefFoundError:
    oracle/bali/ewt/pivot/PagingComponent
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at sun.applet.AppletClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.applet.AppletClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at oracle.dss.graph.Graph.createPagingControl(Graph.java:1321)
    at oracle.dss.graph.Graph._setupGraphView(Graph.java:461)
    at oracle.dss.graph.Graph.(Graph.java:197)
    at oracle.forms.demos.bigraph.FormsGraph.(FormsGraph.java:982)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
    Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
    Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
    Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at oracle.forms.handler.UICommon.instantiate(Unknown Source)
    at oracle.forms.handler.UICommon.onCreate(Unknown Source)
    at oracle.forms.handler.JavaContainer.onCreate(Unknown Source)
    at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
    at oracle.forms.engine.Runform.processMessage(Unknown Source)
    at oracle.forms.engine.Runform.processSet(Unknown Source)
    at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
    at oracle.forms.engine.Runform.onMessage(Unknown Source)
    at oracle.forms.engine.Runform.processEventEnd(Unknown Source)
    at oracle.ewt.lwAWT.LWComponent.redispatchEvent(Unknown Source)
    at oracle.ewt.lwAWT.LWComponent.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.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown
    Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

    Comment by Zafer AKTAN — 12 July 2007 #

  12. Note: The FormsGraph.jar file that is available from OTN, does not have this problem (I am using iDS/iAS 10.1.2.0.2 on RH ES 3.0 Linux).

    Comment by Zafer AKTAN — 12 July 2007 #

  13. Sorry Zafer, I never even looked at the FormsGraph.jar, so I’m afraid I can’t help you on this one

    Comment by wilfred — 13 July 2007 #

  14. I had the same problem about comboboxes with java 1.6.
    You can, if possible and in respect for your design, convert the comboboxes to poplists and every thing will work fine again.

    Comment by Finn Albeck — 21 July 2007 #

  15. This was a lifesaver - we managed to get the 1.6. working with these instructions in your excellent blog! Thank you!

    Comment by Janne Hansen — 5 September 2007 #

  16. Hi,Thats a really usefull blog but to be frank i am not an oracle specialist and my engineer is out for a vacation. I have run into a small problem and cannot find a way out. I recently installed Vista and now i cannot be able to load the java applet, though i have the new java vm and also the j2se. Plse let me know how i can go about it. the following is the error from the console:

    Java Plug-in 1.6.0_03
    Using JRE version 1.6.0_03 Java HotSpot(TM) Client VM
    User home directory = C:\Users\Lakhtaj

    —————————————————-
    c: clear console window
    f: finalize objects on finalization queue
    g: garbage collect
    h: display this help message
    l: dump classloader list
    m: print memory usage
    o: trigger logging
    p: reload proxy configuration
    q: hide console
    r: reload policy configuration
    s: dump system and deployment properties
    t: dump thread list
    v: dump thread stack
    x: clear classloader cache
    0-5: set trace level to
    —————————————————-

    java.lang.SecurityException: class “oracle.ewt.lwAWT.LWComponent”’s signer information does not match signer information of other classes in the same package
    at java.lang.ClassLoader.checkCerts(Unknown Source)
    at java.lang.ClassLoader.preDefineClass(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at sun.applet.AppletClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.applet.AppletClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    at java.lang.Class.getConstructor0(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at sun.applet.AppletPanel.createApplet(Unknown Source)
    at sun.plugin.AppletViewer.createApplet(Unknown Source)
    at sun.applet.AppletPanel.runLoader(Unknown Source)
    at sun.applet.AppletPanel.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

    Please help!!!

    Comment by Lakhtaj — 11 October 2007 #

  17. Hi,
    I have developed a form which has ListItems on it.

    OS: XP Professional
    Forms 10g

    The Listitem is of poplist type. It works fine on JRE 1.5,but doesn’t show up any thing on JRE 1.6.0_03.And when I try to close the form window forms hang

    And I see this error message in java console window

    Forms Applet version is : 10.1.2.0
    Exception in thread “AWT-EventQueue-2″ java.lang.NoClassDefFoundError: oracle/bali/share/sort/StringComparator
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.getDeclaredMethod(Unknown Source)
    at java.awt.Component.isCoalesceEventsOverriden(Unknown Source)
    at java.awt.Component.isCoalesceEventsOverriden(Unknown Source)
    at java.awt.Component.access$100(Unknown Source)
    at java.awt.Component$2.run(Unknown Source)
    at java.awt.Component$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Component.checkCoalescing(Unknown Source)
    at java.awt.Component.(Unknown Source)
    at java.awt.Container.(Unknown Source)
    at oracle.ewt.lwAWT.LWComponent.(Unknown Source)
    at oracle.ewt.lwAWT.LWDataSourceChoice.(Unknown Source)
    at oracle.ewt.lwAWT.LWChoice.(Unknown Source)
    at oracle.ewt.comboBox.ComboBox.(Unknown Source)
    at oracle.ewt.comboBox.ComboBox.(Unknown Source)
    at oracle.forms.ui.VComboBox.(Unknown Source)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at oracle.forms.handler.UICommon.instantiate(Unknown Source)
    at oracle.forms.handler.UICommon.onCreate(Unknown Source)
    at oracle.forms.handler.PopListItem.onCreate(Unknown Source)
    at oracle.forms.handler.ComboBoxItem.onCreate(Unknown Source)
    at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
    at oracle.forms.engine.Runform.processMessage(Unknown Source)
    at oracle.forms.engine.Runform.processSet(Unknown Source)
    at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
    at oracle.forms.engine.Runform.onMessage(Unknown Source)
    at oracle.forms.engine.Runform.processEventEnd(Unknown Source)
    at oracle.ewt.lwAWT.LWComponent.redispatchEvent(Unknown Source)
    at oracle.ewt.lwAWT.LWComponent.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.dispatchEvent(Unknown Source)
    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)
    at java.awt.EventDispatchThread.run(Unknown Source)

    Any solution for this problem

    Thanks
    R.G

    Comment by Raj — 4 January 2008 #

  18. Just for the record - it’s no longer necessary to mess around with share.jar, after you deploy Patch 3, where this has been fixed.

    Comment by Jacob — 10 April 2008 #

  19. Really very helpful..
    Thanks a lot.

    Comment by S Ramkumar — 18 April 2008 #

  20. Hi Jacob,

    we are thinking about using Java 1.6 too, so do you mean the Patch 3 for Java (i.e. 1.6.0_03) or the PatchSet 3 for the AS10gR2?

    thanks in advance
    Markus

    Comment by Markus Lobedann — 28 May 2008 #

  21. Patch 3 of the application server, version 10.1.2.3. The patch number is 5983622. I can’t recommend deplying this patchset high enough.

    I would recommend however, that you wait for the final version of 1.6.0_10 for best Vista compatibility though.

    https://jdk6.dev.java.net/6u10ea.html

    Our biggest issue right now with Java 1.6.0 (update 4 or newer is certified) with patch 3 is documented in bug 6962181, a bug logged on my request - a very annoying focus issue, which only happens on 1.6. I’m not the only one affected by this issue (it’s got the APPS tag now, this is good), so I hope it gets fixed soon.

    Comment by Jacob — 28 May 2008 #

  22. Hi,
    I am facing problem while using combobox with oracle forms 10g.
    My java version is 1.6.

    Any help???please..

    Comment by Anee — 16 March 2009 #

  23. Why ask a question, when it’s already answered? I already gave the answer to this - install the latest patch for Forms 10g to fix this problem. See my above comments for details.

    Comment by Jacob — 16 March 2009 #

  24. We wanted to make the transition to webforms as smooth as possible and thus allowed them to leverage any existing JVM versions on their workstations.

    Comment by bactrim — 5 November 2009 #

Sorry, the comment form is closed at this time.

Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds.