javajava-web-startclassnotfoundexceptionjacorb

Java 7 update 55 JacORB error when running via WebStart


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


Solution

  • The fix for this issue is included in java 7 update 65. It now works as before.