Details

    • Type: Bug
    • Status: Closed
    • Priority: Medium
    • Resolution: Done
    • Affects Version/s: 4.1.1
    • Fix Version/s: 4.1.2
    • Component/s: Terminal
    • Sprint:
      4.1.2

      Description

      Seen in user's debug log. Note that showHide is being re-entered, which definitely looks wrong:

      Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
      	at bluej.terminal.Terminal.showHide(Terminal.java:334)
      	at bluej.utility.javafx.JavaFXUtil.lambda$addChangeListenerPlatform$24(JavaFXUtil.java:1357)
      	at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
      	at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
      	at javafx.beans.property.BooleanPropertyBase.fireValueChangedEvent(BooleanPropertyBase.java:103)
      	at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
      	at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:144)
      	at com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding.changed(BidirectionalBinding.java:264)
      	at com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding.changed(BidirectionalBinding.java:227)
      	at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
      	at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
      	at javafx.beans.property.BooleanPropertyBase.fireValueChangedEvent(BooleanPropertyBase.java:103)
      	at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
      	at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:144)
      	at com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding.changed(BidirectionalBinding.java:264)
      	at com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding.changed(BidirectionalBinding.java:227)
      	at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
      	at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
      	at javafx.beans.property.BooleanPropertyBase.fireValueChangedEvent(BooleanPropertyBase.java:103)
      	at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
      	at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:144)
      	at com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding.changed(BidirectionalBinding.java:266)
      	at com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding.changed(BidirectionalBinding.java:227)
      	at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
      	at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
      	at javafx.beans.property.BooleanPropertyBase.fireValueChangedEvent(BooleanPropertyBase.java:103)
      	at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
      	at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:144)
      	at com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding.changed(BidirectionalBinding.java:266)
      	at com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding.changed(BidirectionalBinding.java:227)
      	at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
      	at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
      	at javafx.beans.property.BooleanPropertyBase.fireValueChangedEvent(BooleanPropertyBase.java:103)
      	at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
      	at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:144)
      	at bluej.terminal.Terminal.lambda$new$10(Terminal.java:293)
      	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.EventUtil.fireEventImpl(EventUtil.java:74)
      	at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
      	at javafx.event.Event.fireEvent(Event.java:198)
      	at javafx.stage.Window.fireEvent(Window.java:1120)
      	at javafx.stage.Window$9.invalidated(Window.java:870)
      	at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:109)
      	at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:144)
      	at javafx.stage.Window.setShowing(Window.java:922)
      	at javafx.stage.Window.show(Window.java:937)
      	at javafx.stage.Stage.show(Stage.java:259)
      	at bluej.terminal.Terminal.showHide(Terminal.java:334)
      	at bluej.terminal.Terminal.prepare(Terminal.java:495)
      	at bluej.terminal.Terminal.writeToPane(Terminal.java:458)
      	at bluej.terminal.Terminal.access$400(Terminal.java:102)
      	at bluej.terminal.Terminal$TerminalWriter.lambda$write$0(Terminal.java:899)
      	at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
      	at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
      	at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
      	at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
      	at java.lang.Thread.run(Thread.java:748)
      Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
      	at bluej.terminal.Terminal.showHide(Terminal.java:339)
      	at bluej.utility.javafx.JavaFXUtil.lambda$addChangeListenerPlatform$24(JavaFXUtil.java:1357)
      	at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
      	at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
      	at javafx.beans.property.BooleanPropertyBase.fireValueChangedEvent(BooleanPropertyBase.java:103)
      	at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
      	at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:144)
      	at com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding.changed(BidirectionalBinding.java:264)
      	at com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding.changed(BidirectionalBinding.java:227)
      	at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
      	at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
      	at javafx.beans.property.BooleanPropertyBase.fireValueChangedEvent(BooleanPropertyBase.java:103)
      	at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
      	at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:144)
      	at com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding.changed(BidirectionalBinding.java:264)
      	at com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding.changed(BidirectionalBinding.java:227)
      	at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
      	at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
      	at javafx.beans.property.BooleanPropertyBase.fireValueChangedEvent(BooleanPropertyBase.java:103)
      	at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
      	at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:144)
      	at com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding.changed(BidirectionalBinding.java:266)
      	at com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding.changed(BidirectionalBinding.java:227)
      	at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
      	at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
      	at javafx.beans.property.BooleanPropertyBase.fireValueChangedEvent(BooleanPropertyBase.java:103)
      	at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
      	at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:144)
      	at com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding.changed(BidirectionalBinding.java:266)
      	at com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding.changed(BidirectionalBinding.java:227)
      	at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
      	at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
      	at javafx.beans.property.BooleanPropertyBase.fireValueChangedEvent(BooleanPropertyBase.java:103)
      	at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
      	at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:144)
      	at bluej.terminal.Terminal.lambda$new$11(Terminal.java:296)
      	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.EventUtil.fireEventImpl(EventUtil.java:74)
      	at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
      	at javafx.event.Event.fireEvent(Event.java:198)
      	at javafx.stage.Window.fireEvent(Window.java:1120)
      	at javafx.stage.Window$9.invalidated(Window.java:875)
      	at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:109)
      	at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:144)
      	at javafx.stage.Window.setShowing(Window.java:922)
      	at javafx.stage.Window.hide(Window.java:947)
      	at bluej.terminal.Terminal.showHide(Terminal.java:339)
      	at bluej.terminal.Terminal.dispose(Terminal.java:345)
      	at bluej.pkgmgr.Project.cleanUp(Project.java:571)
      	at bluej.pkgmgr.PkgMgrFrame.closePackage(PkgMgrFrame.java:1200)
      	at bluej.Main.doQuit(Main.java:424)
      	at bluej.pkgmgr.PkgMgrFrame.doClose(PkgMgrFrame.java:1792)
      	at bluej.pkgmgr.PkgMgrFrame.lambda$null$35(PkgMgrFrame.java:3021)
      	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.EventUtil.fireEventImpl(EventUtil.java:74)
      	at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
      	at javafx.event.Event.fireEvent(Event.java:198)
      	at com.sun.javafx.stage.WindowPeerListener.closing(WindowPeerListener.java:88)
      	at com.sun.javafx.tk.quantum.GlassWindowEventHandler.run(GlassWindowEventHandler.java:122)
      	at com.sun.javafx.tk.quantum.GlassWindowEventHandler.run(GlassWindowEventHandler.java:40)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at com.sun.javafx.tk.quantum.GlassWindowEventHandler.lambda$handleWindowEvent$423(GlassWindowEventHandler.java:151)
      	at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
      	at com.sun.javafx.tk.quantum.GlassWindowEventHandler.handleWindowEvent(GlassWindowEventHandler.java:149)
      	at com.sun.glass.ui.Window.handleWindowEvent(Window.java:1266)
      	at com.sun.glass.ui.Window.notifyClose(Window.java:1174)
      	at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
      	at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
      	at java.lang.Thread.run(Thread.java:748)
      

        Attachments

          Activity

            People

            • Assignee:
              nccb Neil Brown
              Reporter:
              nccb Neil Brown
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: