JDK-8170116 : Remove qualified exports from java.base to java.corba
  • Type: Bug
  • Component: other-libs
  • Sub-Component: corba
  • Affected Version: 9
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2016-11-21
  • Updated: 2017-02-09
  • Resolved: 2017-01-27
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 10 JDK 9
10Fixed 9 b155Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
Description
The goal is for the core modules not to have any qualified exports (in particular java.base) to upgradeable modules.  The following qualified exports should be examined and removed.

   com.sun.corba.se.spi.orb.ORB                       -> jdk.internal.misc.JavaAWTAccess                    java.base (qualified)
   com.sun.corba.se.spi.orb.ORB                       -> jdk.internal.misc.SharedSecrets                    java.base (qualified)
   org.omg.CORBA.ORB                                  -> sun.reflect.misc.ReflectUtil                       java.base (qualified)
   sun.corba.Bridge                                   -> jdk.internal.misc.VM                               java.base (qualified)

Comments
After an off-line email discussion we concluded, since there is no standard straight forward way to determine if running withing Java Plugin, to revert to a single static PresentationManager instance ( given that its containing package is on the restricted package list ).
16-01-2017

Two out of three of the dependencies on the base module have been agreed ( and implemented in a webrev ). If we cannot get agreement on the final part, maybe it makes sense to move this issue forward and file a separate issue for the third? Let's just revert to a static presentation manager, failing that key it on the ThreadGroup.
02-01-2017

Prototype webrev under testing: http://cr.openjdk.java.net/~dfuchs/webrev_8170116/webrev.00/
20-12-2016

We can replace jdk.internal.misc.VM.latestUserDefinedLoader() with StackWalker API.
20-12-2016

We'll use JDK-8164907 to track the changes needed to drop the qualified export from java.naming to java.corba (this one is easy). The Unsafe dependency should be easy too, it just has a downside that java.corba will depend on jdk.unsupported. The PresentationManager issue is the main one that needs examination. This dependency came about in the scenario where multiple applets in the same VM are using CORBA. This scenario needs to be re-examined to see if it's still possible, particularly with other changes in this area that mean that com.sun.corba.se classes cannot be used directly.
04-12-2016

JDK-8164907 tracks the issue with CosNaming provider - it requires copying some trivial code to eliminate this dependency.
21-11-2016