dialogos-project / dialogos

The DialogOS dialog system.
https://www.dialogos.app
GNU General Public License v3.0
21 stars 8 forks source link

NullPointerException when closing TTS node #128

Closed alexanderkoller closed 5 years ago

alexanderkoller commented 5 years ago

DialogOS throws a NullPointerException when closing the node properties window of a TTS node.

To reproduce, create a new document. Drag a TTS node to the canvas. Double-click on it to open the properties window, and then close it by clicking either Ok or Cancel. The exception shown below is printed to the console.

@timobaumann , can this be related to your recent change to the tab order in the properties windows (#122)? I don't think I've seen this bug before.

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at de.saar.coli.dialogos.marytts.MaryTTS.stop(MaryTTS.java:288)
        at de.saar.coli.dialogos.marytts.plugin.TTSNode.stopSynthesis(TTSNode.java:155)
        at com.clt.diamant.graph.nodes.AbstractOutputNode.editProperties(AbstractOutputNode.java:309)
        at com.clt.diamant.graph.ui.GraphUI$17.mousePressed(GraphUI.java:2322)
        at com.clt.diamant.graph.ui.GraphUI$16.mousePressed(GraphUI.java:1886)
        at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:280)
        at java.awt.Component.processMouseEvent(Component.java:6530)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
        at java.awt.Component.processEvent(Component.java:6298)
        at java.awt.Container.processEvent(Container.java:2236)
        at java.awt.Component.dispatchEventImpl(Component.java:4889)
        at java.awt.Container.dispatchEventImpl(Container.java:2294)
        at java.awt.Component.dispatchEvent(Component.java:4711)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4522)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
        at java.awt.Container.dispatchEventImpl(Container.java:2280)
        at java.awt.Window.dispatchEventImpl(Window.java:2746)
        at java.awt.Component.dispatchEvent(Component.java:4711)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
        at java.awt.EventQueue.access$500(EventQueue.java:97)
        at java.awt.EventQueue$3.run(EventQueue.java:709)
        at java.awt.EventQueue$3.run(EventQueue.java:703)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
        at java.awt.EventQueue$4.run(EventQueue.java:731)
        at java.awt.EventQueue$4.run(EventQueue.java:729)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
timobaumann commented 5 years ago

no, it's unrelated to my changes. 55f2ea41cdafd08d54b72697373d501634c23632 (20. april) has the problem, a5c631c22b0afb7698ad91145c0b144ccda2aa9d (23. march) does not. I'll continue to bisect.

timobaumann commented 5 years ago

break is in 7396884b5e8c866a527d603cdc76a729b1087a8b because I removed an unconditional catch.