It is very hard to reproduce this bug:
My guess is that it is somehow related to the timing of all the different Threads in JHV.
However, this message is shown from time to time, when removing a Layer.
Uncaught Exception detected.
JHelioviewer Version: null
JHelioviewer Revision: null
Date: Thu Sep 23 08:22:39 GMT 2010
Thread: Thread[AWT-EventQueue-0,6,main]
Message: JP2Image abolished more than once: file:/Users/mnuhn/Desktop/jpx/AIA_2010-08-01/SDO_AIA_AIA_171_F2010-08-01T00.00.00Z_T2010-08-02T00.00.00ZB216.jpx
Stacktrace:
java.lang.IllegalStateException
at org.helioviewer.viewmodel.view.jp2view.JP2Image.abolish(JP2Image.java:649)
at org.helioviewer.viewmodel.view.jp2view.JHVJP2View.abolish(JHVJP2View.java:430)
at org.helioviewer.viewmodel.view.jp2view.JHVJPXView.abolish(JHVJPXView.java:325)
at org.helioviewer.viewmodel.view.AbstractLayeredView.removeLayer(AbstractLayeredView.java:228)
at org.helioviewer.viewmodel.view.SynchronizeOverviewChainView.removeLayer(SynchronizeOverviewChainView.java:229)
at org.helioviewer.viewmodel.view.SynchronizeOverviewChainView.layerChanged(SynchronizeOverviewChainView.java:112)
at org.helioviewer.viewmodel.view.SynchronizeOverviewChainView.analyzeObservedView(SynchronizeOverviewChainView.java:74)
at org.helioviewer.viewmodel.view.AbstractSynchronizeChainView.viewChanged(AbstractSynchronizeChainView.java:87)
at org.helioviewer.viewmodel.view.AbstractView.notifyViewListeners(AbstractView.java:63)
at org.helioviewer.viewmodel.view.AbstractLayeredView.setRegion(AbstractLayeredView.java:328)
at org.helioviewer.viewmodel.view.AbstractLayeredView.removeLayer(AbstractLayeredView.java:259)
at org.helioviewer.viewmodel.view.AbstractLayeredView.removeLayer(AbstractLayeredView.java:274)
at org.helioviewer.jhv.layers.LayersModel.removeLayer(LayersModel.java:809)
at org.helioviewer.jhv.gui.components.layerTable.LayerTable$1.mouseClicked(LayerTable.java:137)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:212)
at java.awt.Component.processMouseEvent(Component.java:5605)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3129)
at java.awt.Component.processEvent(Component.java:5367)
at java.awt.Container.processEvent(Container.java:2010)
at java.awt.Component.dispatchEventImpl(Component.java:4068)
at java.awt.Container.dispatchEventImpl(Container.java:2068)
at java.awt.Component.dispatchEvent(Component.java:3903)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4256)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3945)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3866)
at java.awt.Container.dispatchEventImpl(Container.java:2054)
at java.awt.Window.dispatchEventImpl(Window.java:1801)
at java.awt.Component.dispatchEvent(Component.java:3903)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)