Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8359872

null pointer exception from `sun.launcher.LauncherHelper.checkJavaFXRemoval`

XMLWordPrintable

    • 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)

            kcr Kevin Rushforth
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: