-
Bug
-
Resolution: Unresolved
-
P4
-
None
-
8
-
generic
-
generic
ADDITIONAL SYSTEM INFORMATION :
> java -version
java version "1.8.0_451"
Java(TM) SE Runtime Environment (build 1.8.0_451-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.451-b10, mixed mode)
A DESCRIPTION OF THE PROBLEM :
It appears that something in `sun.launcher.LauncherHelper` was not created by the ClassLoader before `checkJavaFXRemoval` was called.
This happens immediately at startup:
> java.lang.NullPointerException
at sun.launcher.LauncherHelper.checkJavaFXRemoval(LauncherHelper.java:841)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:373)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at org.netbeans.ProxyClassLoader.doFindClass(ProxyClassLoader.java:159)
at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:125)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.netbeans.core.startup.CoreBridge.isJavaFX(CoreBridge.java:171)
at org.netbeans.core.startup.CoreBridge.defineOsTokens(CoreBridge.java:164)
at org.netbeans.core.startup.NbInstaller.refineProvides(NbInstaller.java:772)
at org.netbeans.ModuleManager.refineProvides(ModuleManager.java:896)
at org.netbeans.ModuleData.computeProvides(ModuleData.java:379)
at org.netbeans.ModuleData.<init>(ModuleData.java:114)
at org.netbeans.Module.createData(Module.java:122)
at org.netbeans.Module.dataWithCheck(Module.java:158)
at org.netbeans.Module.data(Module.java:132)
at org.netbeans.Module.parseManifest(Module.java:383)
at org.netbeans.FixedModule.<init>(FixedModule.java:62)
at org.netbeans.ModuleFactory.createFixed(ModuleFactory.java:82)
at org.netbeans.ModuleManager.createFixed(ModuleManager.java:863)
at org.netbeans.ModuleManager.createFixed(ModuleManager.java:851)
at org.netbeans.core.startup.ModuleSystem.createBootModules(ModuleSystem.java:264)
at org.netbeans.core.startup.ModuleSystem.loadBootModules(ModuleSystem.java:192)
at org.netbeans.core.startup.Main.getModuleSystem(Main.java:154)
at org.netbeans.core.startup.Main.getModuleSystem(Main.java:125)
at org.netbeans.core.startup.Main.start(Main.java:282)
at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:98)
at java.lang.Thread.run(Thread.java:750)
(If it is important: The application does not require or use JavaFX. However, some transitive dependencies may include `javafx.*` imports.)
REGRESSION : Last worked in version 8
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Use Java 8, **update 451**, with code that incidentally includes unused `javafx` classes.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
We expect that the ClassLoader will properly initialize the Launcher before the Launcher is used.
ACTUAL -
> java.lang.NullPointerException
at sun.launcher.LauncherHelper.checkJavaFXRemoval(LauncherHelper.java:841)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:373)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at org.netbeans.ProxyClassLoader.doFindClass(ProxyClassLoader.java:159)
at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:125)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.netbeans.core.startup.CoreBridge.isJavaFX(CoreBridge.java:171)
at org.netbeans.core.startup.CoreBridge.defineOsTokens(CoreBridge.java:164)
at org.netbeans.core.startup.NbInstaller.refineProvides(NbInstaller.java:772)
at org.netbeans.ModuleManager.refineProvides(ModuleManager.java:896)
at org.netbeans.ModuleData.computeProvides(ModuleData.java:379)
at org.netbeans.ModuleData.<init>(ModuleData.java:114)
at org.netbeans.Module.createData(Module.java:122)
at org.netbeans.Module.dataWithCheck(Module.java:158)
at org.netbeans.Module.data(Module.java:132)
at org.netbeans.Module.parseManifest(Module.java:383)
at org.netbeans.FixedModule.<init>(FixedModule.java:62)
at org.netbeans.ModuleFactory.createFixed(ModuleFactory.java:82)
at org.netbeans.ModuleManager.createFixed(ModuleManager.java:863)
at org.netbeans.ModuleManager.createFixed(ModuleManager.java:851)
at org.netbeans.core.startup.ModuleSystem.createBootModules(ModuleSystem.java:264)
at org.netbeans.core.startup.ModuleSystem.loadBootModules(ModuleSystem.java:192)
at org.netbeans.core.startup.Main.getModuleSystem(Main.java:154)
at org.netbeans.core.startup.Main.getModuleSystem(Main.java:125)
at org.netbeans.core.startup.Main.start(Main.java:282)
at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:98)
at java.lang.Thread.run(Thread.java:750)
> java -version
java version "1.8.0_451"
Java(TM) SE Runtime Environment (build 1.8.0_451-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.451-b10, mixed mode)
A DESCRIPTION OF THE PROBLEM :
It appears that something in `sun.launcher.LauncherHelper` was not created by the ClassLoader before `checkJavaFXRemoval` was called.
This happens immediately at startup:
> java.lang.NullPointerException
at sun.launcher.LauncherHelper.checkJavaFXRemoval(LauncherHelper.java:841)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:373)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at org.netbeans.ProxyClassLoader.doFindClass(ProxyClassLoader.java:159)
at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:125)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.netbeans.core.startup.CoreBridge.isJavaFX(CoreBridge.java:171)
at org.netbeans.core.startup.CoreBridge.defineOsTokens(CoreBridge.java:164)
at org.netbeans.core.startup.NbInstaller.refineProvides(NbInstaller.java:772)
at org.netbeans.ModuleManager.refineProvides(ModuleManager.java:896)
at org.netbeans.ModuleData.computeProvides(ModuleData.java:379)
at org.netbeans.ModuleData.<init>(ModuleData.java:114)
at org.netbeans.Module.createData(Module.java:122)
at org.netbeans.Module.dataWithCheck(Module.java:158)
at org.netbeans.Module.data(Module.java:132)
at org.netbeans.Module.parseManifest(Module.java:383)
at org.netbeans.FixedModule.<init>(FixedModule.java:62)
at org.netbeans.ModuleFactory.createFixed(ModuleFactory.java:82)
at org.netbeans.ModuleManager.createFixed(ModuleManager.java:863)
at org.netbeans.ModuleManager.createFixed(ModuleManager.java:851)
at org.netbeans.core.startup.ModuleSystem.createBootModules(ModuleSystem.java:264)
at org.netbeans.core.startup.ModuleSystem.loadBootModules(ModuleSystem.java:192)
at org.netbeans.core.startup.Main.getModuleSystem(Main.java:154)
at org.netbeans.core.startup.Main.getModuleSystem(Main.java:125)
at org.netbeans.core.startup.Main.start(Main.java:282)
at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:98)
at java.lang.Thread.run(Thread.java:750)
(If it is important: The application does not require or use JavaFX. However, some transitive dependencies may include `javafx.*` imports.)
REGRESSION : Last worked in version 8
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Use Java 8, **update 451**, with code that incidentally includes unused `javafx` classes.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
We expect that the ClassLoader will properly initialize the Launcher before the Launcher is used.
ACTUAL -
> java.lang.NullPointerException
at sun.launcher.LauncherHelper.checkJavaFXRemoval(LauncherHelper.java:841)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:373)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at org.netbeans.ProxyClassLoader.doFindClass(ProxyClassLoader.java:159)
at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:125)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.netbeans.core.startup.CoreBridge.isJavaFX(CoreBridge.java:171)
at org.netbeans.core.startup.CoreBridge.defineOsTokens(CoreBridge.java:164)
at org.netbeans.core.startup.NbInstaller.refineProvides(NbInstaller.java:772)
at org.netbeans.ModuleManager.refineProvides(ModuleManager.java:896)
at org.netbeans.ModuleData.computeProvides(ModuleData.java:379)
at org.netbeans.ModuleData.<init>(ModuleData.java:114)
at org.netbeans.Module.createData(Module.java:122)
at org.netbeans.Module.dataWithCheck(Module.java:158)
at org.netbeans.Module.data(Module.java:132)
at org.netbeans.Module.parseManifest(Module.java:383)
at org.netbeans.FixedModule.<init>(FixedModule.java:62)
at org.netbeans.ModuleFactory.createFixed(ModuleFactory.java:82)
at org.netbeans.ModuleManager.createFixed(ModuleManager.java:863)
at org.netbeans.ModuleManager.createFixed(ModuleManager.java:851)
at org.netbeans.core.startup.ModuleSystem.createBootModules(ModuleSystem.java:264)
at org.netbeans.core.startup.ModuleSystem.loadBootModules(ModuleSystem.java:192)
at org.netbeans.core.startup.Main.getModuleSystem(Main.java:154)
at org.netbeans.core.startup.Main.getModuleSystem(Main.java:125)
at org.netbeans.core.startup.Main.start(Main.java:282)
at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:98)
at java.lang.Thread.run(Thread.java:750)
- relates to
-
JDK-8046143 JEP 153: Launch JavaFX Applications
-
- Closed
-