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

An NPE lead to a VM crash in native code

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P2 P2
    • None
    • 8
    • javafx

      We found an bug in SB that:
      1) triggered a NPE in SB code
      2) lead to a VM crash in native code outside of the VM

      We fixed the bug in SB and, of course, the native crash no longer happens.
      However I think it's worth filing an issue for record.
      May be someone will have time to do post-mortem analysis.

      The SB bug is recorded as DTL-6285:
          => it contains a stack trace that I have copied below.
          => a jvm core dump file is attached to the bug (hs_err_pid6800.log)



      java.lang.NullPointerException
              at com.oracle.javafx.scenebuilder.kit.editor.panel.content.AbstractDecoration.startListeningToLayoutBounds(AbstractDecoration.java:178)
              at com.oracle.javafx.scenebuilder.kit.editor.panel.content.driver.handles.TabHandles.startListeningToSceneGraphObject(TabHandles.java:102)
              at com.oracle.javafx.scenebuilder.kit.editor.panel.content.AbstractDecoration$1.changed(AbstractDecoration.java:85)
              at com.oracle.javafx.scenebuilder.kit.editor.panel.content.AbstractDecoration$1.changed(AbstractDecoration.java:79)
              at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:176)
              at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80)
              at javafx.beans.property.ReadOnlyObjectWrapper$ReadOnlyPropertyImpl.fireValueChangedEvent(ReadOnlyObjectWrapper.java:176)
              at javafx.beans.property.ReadOnlyObjectWrapper.fireValueChangedEvent(ReadOnlyObjectWrapper.java:142)
              at javafx.scene.Node$ReadOnlyObjectWrapperManualFire.fireSuperValueChangedEvent(Node.java:802)
              at javafx.scene.Node.invalidatedScenes(Node.java:851)
              at javafx.scene.Node.setScenes(Node.java:860)
              at javafx.scene.Parent$1.onChanged(Parent.java:276)
              at com.sun.javafx.collections.TrackableObservableList$1.onChanged(TrackableObservableList.java:48)
              at com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:315)
              at com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:72)
              at javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:233)
              at javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
              at javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
              at javafx.collections.ObservableListBase.endChange(ObservableListBase.java:205)
              at javafx.collections.ModifiableObservableListBase.add(ModifiableObservableListBase.java:155)
              at java.util.AbstractList.add(AbstractList.java:108)
              at com.sun.javafx.collections.VetoableListDecorator.add(VetoableListDecorator.java:200)
              at com.oracle.javafx.scenebuilder.kit.editor.panel.content.mode.EditModeController.updateHandles(EditModeController.java:399)
              at com.oracle.javafx.scenebuilder.kit.editor.panel.content.mode.EditModeController.updateHandles(EditModeController.java:341)
              at com.oracle.javafx.scenebuilder.kit.editor.panel.content.mode.EditModeController.fxomDocumentDidRefreshSceneGraph(EditModeController.java:185)
              at com.oracle.javafx.scenebuilder.kit.editor.panel.content.ContentPanelController.fxomDocumentDidRefreshSceneGraph(ContentPanelController.java:818)
              at com.oracle.javafx.scenebuilder.kit.editor.panel.content.ContentPanelController.jobManagerRevisionDidChange(ContentPanelController.java:696)
              at com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractPanelController$3.changed(AbstractPanelController.java:187)
              at com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractPanelController$3.changed(AbstractPanelController.java:184)
              at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:347)
              at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80)
              at javafx.beans.property.IntegerPropertyBase.fireValueChangedEvent(IntegerPropertyBase.java:106)
              at javafx.beans.property.IntegerPropertyBase.markInvalid(IntegerPropertyBase.java:113)
              at javafx.beans.property.IntegerPropertyBase.set(IntegerPropertyBase.java:146)
              at com.oracle.javafx.scenebuilder.kit.editor.JobManager.incrementRevision(JobManager.java:211)
              at com.oracle.javafx.scenebuilder.kit.editor.JobManager.push(JobManager.java:76)
              at com.oracle.javafx.scenebuilder.kit.editor.drag.DragController.end(DragController.java:107)
              at com.oracle.javafx.scenebuilder.kit.editor.panel.library.LibraryPanelController$8.handle(LibraryPanelController.java:621)
              at com.oracle.javafx.scenebuilder.kit.editor.panel.library.LibraryPanelController$8.handle(LibraryPanelController.java:616)
              at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
              at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
              at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
              at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
              at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
              at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
              at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
              at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
              at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
              at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
              at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
              at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
              at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
              at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
              at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
              at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
              at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
              at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
              at javafx.event.Event.fireEvent(Event.java:204)
              at javafx.scene.Scene$DnDGesture.processDropEnd(Scene.java:3017)
              at javafx.scene.Scene$DnDGesture.access$6800(Scene.java:2867)
              at javafx.scene.Scene$DragSourceListener.dragDropEnd(Scene.java:3252)
              at com.sun.javafx.tk.quantum.GlassScene$3$1.run(GlassScene.java:252)
              at com.sun.javafx.tk.quantum.GlassScene$3$1.run(GlassScene.java:247)
              at java.security.AccessController.doPrivileged(Native Method)
              at com.sun.javafx.tk.quantum.GlassScene$3.actionPerformed(GlassScene.java:247)
              at com.sun.glass.ui.Clipboard.actionPerformed(Clipboard.java:173)
              at com.sun.glass.ui.win.WinDnDClipboard.push(Native Method)
              at com.sun.glass.ui.win.WinSystemClipboard.pushToSystem(WinSystemClipboard.java:234)
              at com.sun.glass.ui.SystemClipboard.flush(SystemClipboard.java:51)
              at com.sun.glass.ui.ClipboardAssistance.flush(ClipboardAssistance.java:59)
              at com.sun.javafx.tk.quantum.QuantumClipboard.flush(QuantumClipboard.java:274)
              at com.sun.javafx.tk.quantum.QuantumToolkit.startDrag(QuantumToolkit.java:1149)
              at javafx.scene.Scene$DnDGesture.dragDetectedProcessed(Scene.java:2911)
              at javafx.scene.Scene$DnDGesture.process(Scene.java:2972)
              at javafx.scene.Scene$DnDGesture.access$8400(Scene.java:2867)
              at javafx.scene.Scene$MouseHandler.process(Scene.java:3705)
              at javafx.scene.Scene$MouseHandler.access$1800(Scene.java:3414)
              at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1676)
              at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2467)
              at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:314)
              at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:243)
              at java.security.AccessController.doPrivileged(Native Method)
              at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:345)
              at com.sun.glass.ui.View.handleMouseEvent(View.java:526)
              at com.sun.glass.ui.View.notifyMouse(View.java:898)
              at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
              at com.sun.glass.ui.win.WinApplication.access$300(WinApplication.java:39)
              at com.sun.glass.ui.win.WinApplication$4$1.run(WinApplication.java:112)
              at java.lang.Thread.run(Thread.java:744)
      Exception in thread "JavaFX Application Thread" Error:80de0001 in checkJavaException(env)
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # EXCEPTION_UNCAUGHT_CXX_EXCEPTION (0xe06d7363) at pc=0x752cc41f, pid=15884, tid=15796
      #
      # JRE version: Java(TM) SE Runtime Environment (8.0-b123) (build 1.8.0-ea-b123)
      # Java VM: Java HotSpot(TM) Client VM (25.0-b65 mixed mode windows-x86 )
      # Problematic frame:
      # C [KERNELBASE.dll+0xc41f]
      #
      # Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
      #
      # An error report file with more information is saved as:
      # D:\work\authoring\authoringtool_test\SceneBuilder\app\hs_err_pid15884.log
      #
      # If you would like to submit a bug report, please visit:
      # http://bugreport.sun.com/bugreport/crash.jsp
      # The crash happened outside the Java Virtual Machine in native code.
      # See problematic frame for where to report the bug.
      #
      Phoning home...
      Using server: 10.161.186.18, port 4711

            anthony Anthony Petrov (Inactive)
            eleponn Eric Le Ponner
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported: