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

NPE when calling FXMLLoader.load() in a background thread

XMLWordPrintable

      In SB 2.0, we have a background thread which performs some FXMLLoader.load() calls.
      Sometimes we get the exception below.
      We have no clear way to reproduce this exception.

      Looking at BeanAdapter sources, I wonder if the update of globalMethodCache is fully thread safe.


      java.lang.NullPointerException
      file:/Users/yjoan/Library/Application%20Support/Scene%20Builder/Library/ThermostatView.jar!/thermostatview/ThermostatView.fxml:15
       at com.sun.javafx.fxml.BeanAdapter.getMethod(BeanAdapter.java:139)
       at com.sun.javafx.fxml.BeanAdapter.getGetterMethod(BeanAdapter.java:161)
       at com.sun.javafx.fxml.BeanAdapter.get(BeanAdapter.java:204)
       at com.sun.javafx.fxml.BeanAdapter.get(BeanAdapter.java:200)
       at javafx.fxml.FXMLLoader$ValueElement.processValue(FXMLLoader.java:831)
       at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:731)
       at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2572)
       at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2384)
       at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2283)
       at thermostatview.ThermostatView.load(ThermostatView.java:39)
       at thermostatview.ThermostatView.<init>(ThermostatView.java:25)
       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
       at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:414)
       at java.lang.Class.newInstance(Class.java:432)
       at sun.reflect.misc.ReflectUtil.newInstance(ReflectUtil.java:47)
       at javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:995)
       at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:726)
       at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2572)
       at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2384)
       at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.instantiateWithFXMLLoader(JarExplorer.java:83)
       at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.exploreEntry(JarExplorer.java:121)
       at com.oracle.javafx.scenebuilder.kit.library.util.JarExplorer.explore(JarExplorer.java:43)
       at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.exploreAndUpdateLibrary(LibraryFolderWatcher.java:209)
       at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.runDiscovery(LibraryFolderWatcher.java:83)
       at com.oracle.javafx.scenebuilder.kit.library.user.LibraryFolderWatcher.run(LibraryFolderWatcher.java:52)
       at java.lang.Thread.run(Thread.java:724)

            msladecek Martin Sládeček
            eleponn Eric Le Ponner
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported: