Opened 13 years ago

Closed 13 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)

Change History (1)

comment:1 Changed 13 years ago by Kevin Milner

Resolution: fixed
Status: newclosed

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.

Note: See TracTickets for help on using tickets.