Since updating to Java 7 update 55, I'm not able to run my WebStart java application.
This application worked fine under Java 7 update 51 when launched via WebStart.
It also works with update 55 when launched outside of WebStart.
Any suggestions for further investigation points?
org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation org.jacorb.orb.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.jacorb.orb.CDRInputStream.<init>(CDRInputStream.java:186)
at org.jacorb.orb.etf.ProfileBase.initFromProfileData(ProfileBase.java:252)
at org.jacorb.orb.etf.ProfileBase.demarshal(ProfileBase.java:172)
at org.jacorb.orb.etf.FactoriesBase.demarshal_profile(FactoriesBase.java:124)
at org.jacorb.orb.ParsedIOR.decode(ParsedIOR.java:235)
at org.jacorb.orb.ParsedIOR.parse_stringified_ior(ParsedIOR.java:460)
at org.jacorb.orb.ParsedIOR.parse(ParsedIOR.java:375)
at org.jacorb.orb.ParsedIOR.<init>(ParsedIOR.java:192)
at org.jacorb.orb.ORB.string_to_object(ORB.java:1824)
Caused by: java.lang.ClassNotFoundException: org.jacorb.orb.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)
... 56 more
Edit 12th June 2014
Looks like this issue has been fixed here:
https://bugs.openjdk.java.net/browse/JDK-8042789
This will hopefully be included in the next CPU on July 15th
Looks like the change that caused this issue was reverted so it now uses the current thread classloader again.
http://hg.openjdk.java.net/jdk8u/jdk8u-dev/corba/rev/009fc3f785a9
I've opened a bug to Java for this (Review ID: JI-9011898). The issue is that in the org.omg.CORBA.ORB.init() method the system class loader is forced to use, while in the past the current thread's class loader was used.
UPDATE: a valid workaround is copying the JacORB jars inside the /jre/lib/endorsed folder, so these classes can be loaded outside the webstart class loader. See Java WebStart and endorsed directories and Java 7u55 Eclipse System Fragment Classloader for details.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With