Opened 14 years ago
Closed 14 years ago
#124 closed defect (fixed)
hazard curve apps should catch thread death exception on calc stop
Reported by: | Kevin Milner | Owned by: | Kevin Milner |
---|---|---|---|
Priority: | major | Milestone: | OpenSHA 1.1 |
Component: | sha | Version: | |
Keywords: | HazardCurveLocal | Cc: |
Description
Steps to reproduce: start a calculation, hit cancel while still updating forecast
Other info: (PLEASE FILL IN)
Application: HazardCurveLocal?
Version: 1.0.2
Bulid Type: nightly
Exception:
java.lang.ThreadDeath at java.lang.Thread.stop(Thread.java:758) at org.opensha.sha.gui.HazardCurveServerModeApplication.cancelCalculation(HazardCurveServerModeApplication.java:2518) at org.opensha.sha.gui.HazardCurveServerModeApplication.actionPerformed(HazardCurveServerModeApplication.java:745) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6267) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6032) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Note: See
TracTickets for help on using
tickets.
fixed in [7382]. The stack trace is misleading, because it makes it seem as though you could catch it in the cancelCalculation method, but it actually needs to be caught in the run() method.