JDK-8154550 : Change in org.omg.ORB.init breaks CORBA applications started with Webstart
  • Type: Bug
  • Component: other-libs
  • Sub-Component: corba:orb
  • Affected Version: 7u55
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_7
  • CPU: x86_64
  • Submitted: 2015-09-30
  • Updated: 2016-04-19
  • Resolved: 2016-04-19
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)


ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]

A DESCRIPTION OF THE PROBLEM :
CORBA Applications using alternative ORB implementations like JacORB or OpenORB configured by using following properties to configure the instances (JNLP snippet):

        <property name="org.omg.CORBA.ORBClass" value="org.openorb.CORBA.ORB"/>
        <property name="org.omg.CORBA.ORBSingletonClass" value="org.openorb.CORBA.ORBSingleton"/>

no longer run when started with Webstart. 

It seems to be caused by a change in org.omg.orb.CORBA.ORB.init - usage of Systemclassloader instead of ContextClassLoader of the current thread as before


REGRESSION.  Last worked in version 7u51

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Configure an alternative ORB implementation using the mentioned properties.

Write an (Webstart) application which instanciates the Singleton ORB by calling ORB.int()

Start the application.


ACTUAL -
Exception occurs (Error org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation).



ERROR MESSAGES/STACK TRACES THAT OCCUR :
Error org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation org.openorb.CORBA.ORBSingleton  vmcid: 0x0  minor code: 0  completed: No
org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation org.openorb.CORBA.ORBSingleton  vmcid: 0x0  minor code: 0  completed: No
               at org.omg.CORBA.ORB.create_impl_with_systemclassloader(Unknown Source)
               at org.omg.CORBA.ORB.init(Unknown Source)
               at org.openorb.CORBA.kernel.OpenORBLoader.init(Unknown Source)
               at org.openorb.CORBA.ORB.set_parameters(Unknown Source)
               at org.omg.CORBA.ORB.init(Unknown Source)
               at com.psibt.framework.nube.client.AbstractClient.init(AbstractClient.java:333)
               at com.psibt.framework.nube.admin.NUBEAdminClient.init(NUBEAdminClient.java:38)
               at com.psibt.framework.nube.adminclient.gui.AdminFrame.main(AdminFrame.java:268)
               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
               at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
               at java.lang.reflect.Method.invoke(Unknown Source)
               at com.sun.javaws.Launcher.executeApplication(Unknown Source)
               at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
               at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
               at com.sun.javaws.Launcher.run(Unknown Source)
               at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.openorb.CORBA.ORBSingleton
               at java.net.URLClassLoader$1.run(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 java.lang.ClassLoader.loadClass(Unknown Source)
               at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
               at java.lang.ClassLoader.loadClass(Unknown Source)
               at java.lang.Class.forName0(Native Method)
               at java.lang.Class.forName(Unknown Source)
               ... 17 more


REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER SUBMITTED WORKAROUND :
No Workaround.

I've tried to put omg standard API JAR of the alternative implementation to <jre-home>/lib/endorsed/ but the implementation from rt.jar is still used.

SUPPORT :
YES


Comments
Closing it as duplicate of JDK-8042789.
2016-04-19