Forum Stats

  • 3,839,773 Users
  • 2,262,535 Discussions
  • 7,901,053 Comments

Discussions

jacob.dll already loaded in another classloader

user5729315
user5729315 Member Posts: 2 Blue Ribbon
edited Jan 20, 2011 2:54AM in Forms
Hello,
We are migrating from Jinitiator to JRE and as recommended decided to use the latest version of JRE, however JRE 1.6.0.23 is giving the following error when executing the webutil function in our 10g Forms:

RegisterWebUtil - Loading WebUtil Version 10.1.2.3
proxyHost=null
proxyPort=0
connectMode=HTTP, native.
Forms Applet version is : 10.1.2.3
java.lang.ThreadDeath
at java.lang.Thread.stop(Unknown Source)
at java.lang.ThreadGroup.stopOrSuspend(Unknown Source)
at java.lang.ThreadGroup.stop(Unknown Source)
at sun.awt.AppContext.dispose(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppContextDisposer.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
RegisterWebUtil - Loading WebUtil Version 10.1.2.3
proxyHost=null
proxyPort=0
connectMode=HTTP, native.
Forms Applet version is : 10.1.2.3
Exception in thread "AWT-EventQueue-5" java.lang.UnsatisfiedLinkError: Native Library C:\Program Files\Java\jre1.6.0_23\bin\jacob.dll already loaded in another classloader at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at com.jacob.com.ComThread.<clinit>(ComThread.java:128)
at oracle.forms.webutil.ole.OleFunctions.create_obj(Unknown Source)
at oracle.forms.webutil.ole.OleFunctions.getProperty(Unknown Source)
at oracle.forms.handler.UICommon.onGet(Unknown Source)
at oracle.forms.engine.Runform.onGetHandler(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)


The error is intermittent in nature but always occurs.
We have several 10g forms which are ran from the one application and the error occurs when closing the form.
I've installled previous versions 1.6.0.18, 1.6.0.22 and they work fine but as JAVA is rolled out at a corporate level newer versions will be rolled out when they are available.

Any suggestions?

Thanks
Michelle
Tagged:

Best Answer

  • Andreas Leidner
    Andreas Leidner Member Posts: 75
    Answer ✓
    Alternatively, if you use Java 1.6.0_10+ you can ensure this gets done automatically by using this parameter in your applet configuration:
    separate_jvm

    Setting this applet parameter to true forces the Java plugin to use a new JVM process for executing your applet each time you start your Forms application.

Answers

  • Michael Ferrante-Oracle
    Michael Ferrante-Oracle Senior Principal Product Manager USMember Posts: 7,330 Employee
    This is likely occurring as a result of attempting to load or reload a form which uses WebUtil in a browser session which previous ran a form that used WebUtil. In other words, the JRE is being asked to load WebUtil (or at least jacob) twice. This is not permitted. To avoid the error, when closing a form, exit all related browser sessions and ensure that the JRE has been terminated. You can determine if the JRE terminated by looking at the System Tray (next to the clock on the Task bar). You should not see the Java logo. If you do, this means the JRE did not unload and will likely be used if you open a new browser session.


    Michael Ferrante

    Senior Principal Product Manager

    Oracle

    Twitter: @OracleFormsPM

    Michael Ferrante-Oracle
  • Andreas Leidner
    Andreas Leidner Member Posts: 75
    Answer ✓
    Alternatively, if you use Java 1.6.0_10+ you can ensure this gets done automatically by using this parameter in your applet configuration:
    separate_jvm

    Setting this applet parameter to true forces the Java plugin to use a new JVM process for executing your applet each time you start your Forms application.
  • user5729315
    user5729315 Member Posts: 2 Blue Ribbon
    Thanks for your very quick and helpful replies, the problem is now resolved. For anyone else who may have a similar problem I inserted <PARAM NAME="separate_jvm" VALUE="true"> in the webutiljpi.htm base file that controls the webutil/java applet.

    Thanks
    Michelle
This discussion has been closed.