Bug 1100132
| Summary: | Java WebStart app using JacORB fails on 1.7.0.55 | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | James Livingston <jlivings> | ||||
| Component: | java-1.7.0-openjdk | Assignee: | Deepak Bhole <dbhole> | ||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | BaseOS QE - Apps <qe-baseos-apps> | ||||
| Severity: | high | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | 6.5 | CC: | iweiss, joallen, sgehwolf | ||||
| Target Milestone: | rc | ||||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2014-09-03 14:00:12 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
|
Description
James Livingston
2014-05-22 05:10:35 UTC
This change in behaviour is mentioned in an update to the Oracle release notes at http://www.oracle.com/technetwork/java/javase/7u55-relnotes-2177812.html (which was not in the original release notes). There is some information about the change in http://www.jacorb.org/bugzilla/show_bug.cgi?id=984#c5, which indicates Oracle knew of the potential compatibility issue but it was not seem as high risk. The problem for Java WS is that they cannot add jars to the system classloader. In theory it could also be a problem for modular classloading environments such as OSGi or JBoss EAP 6, but I think it relatively unlikely that the system properties are going to be set in those environments. The change that caused this is http://hg.openjdk.java.net/jdk7u/jdk7u60/corba/rev/a8d27c3fc4e4 Is this reproducible with IcedTea-Web or just with proprietary JDK? If it is reproducible only with proprietary, OpenJDK has no bearing here since only IcedTea-Web's plug-in/webstart uses OpenJDK. I'm currently trying to confirm that. The report was with openjdk, but I'm making sure that was on the client side too. The customer has confirmed that both the client (which is relevant) and server (which isn't) are running OpenJDK 1.7.0.55. Ah okay. Do we have a test case reproducer? Created attachment 900225 [details] reproducer The problem doesn't require webstart to occur, it's just that WS is where it is difficult to work around, since you can't add jars to the endorsed directory. Attached is a simple maven project, you can reproduce it by running "mvn package exec:java -Dexec.mainClass=bz1100132.Main" The code is: System.setProperty("org.omg.CORBA.ORBClass", "org.jacorb.orb.ORB"); System.setProperty("org.omg.CORBA.ORBSingletonClass", "org.jacorb.orb.ORBSingleton"); org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(); Which results in: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297) at java.lang.Thread.run(Thread.java:744) Caused by: 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(ORB.java:309) at org.omg.CORBA.ORB.init(ORB.java:294) at bz1100132.Main.main(Main.java:7) ... 6 more Caused by: java.lang.ClassNotFoundException: org.jacorb.orb.ORBSingleton at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:270) at org.omg.CORBA.ORB.create_impl_with_systemclassloader(ORB.java:306) ... 8 more A work-around to only set ORBClass and not ORBSingletonClass, which is doable if you are either passing them via JNLP properties or your code is setting them and not a library you don't control. http://bugs.java.com/view_bug.do?bug_id=8046603 indicated this was fixed in 1.7.0u65, which the EAP 6 testing on bug 1108723 seems to confirm. |