Bug in LabelView when resizing window larger
So I was using my 133x133 test data, debugging some reorganization of zoom code and encountered an error when resizing the window larger (quickly & a lot). I started out with the window at minimum size (the way it was on app start) and then quickly dragged the top left corner of the window to approximately max size. I got these errors in the console:
error: tried to retrieve header for index 133 but max is 133
java.lang.ArrayIndexOutOfBoundsException: 133
0
- edu.stanford.genetics.treeview.HeaderSummary.getSummary(HeaderSummary.java:86)
- edu.stanford.genetics.treeview.plugin.dendroview.LabelView.updateBuffer(LabelView.java:416)
- edu.stanford.genetics.treeview.plugin.dendroview.LabelView.updateBuffer(LabelView.java:347)
at edu.stanford.genetics.treeview.model.IntHeaderInfo.getHeader(IntHeaderInfo.java:72)
at edu.stanford.genetics.treeview.HeaderSummary.getSummary(HeaderSummary.java:66)
at edu.stanford.genetics.treeview.plugin.dendroview.LabelView.updateBuffer(LabelView.java:416)
at edu.stanford.genetics.treeview.plugin.dendroview.LabelView.updateBuffer(LabelView.java:347)
at edu.stanford.genetics.treeview.ModelView.paintComponent(ModelView.java:161)
at javax.swing.JComponent.paint(JComponent.java:1053)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JViewport.paint(JViewport.java:744)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JSplitPane.paintChildren(JSplitPane.java:1047)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5224)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1532)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1455)
at javax.swing.RepaintManager.paint(RepaintManager.java:1252)
at javax.swing.JComponent.paint(JComponent.java:1039)
at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79)
at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116)
at java.awt.Container.paint(Container.java:1973)
at java.awt.Window.paint(Window.java:3901)
at javax.swing.RepaintManager$3.run(RepaintManager.java:822)
at javax.swing.RepaintManager$3.run(RepaintManager.java:794)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:794)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
at javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1680)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
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)
- edu.stanford.genetics.treeview.ModelView.paintComponent(ModelView.java:161)
- javax.swing.JComponent.paint(JComponent.java:1053)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JComponent.paint(JComponent.java:1062)
- javax.swing.JViewport.paint(JViewport.java:744)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JComponent.paint(JComponent.java:1062)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JComponent.paint(JComponent.java:1062)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JSplitPane.paintChildren(JSplitPane.java:1047)
- javax.swing.JComponent.paint(JComponent.java:1062)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JComponent.paint(JComponent.java:1062)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JComponent.paint(JComponent.java:1062)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JComponent.paint(JComponent.java:1062)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JComponent.paint(JComponent.java:1062)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JComponent.paint(JComponent.java:1062)
- javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JComponent.paintToOffscreen(JComponent.java:5224)
- javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1532)
- javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1455)
- javax.swing.RepaintManager.paint(RepaintManager.java:1252)
- javax.swing.JComponent.paint(JComponent.java:1039)
- java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
- sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79)
- sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116)
- java.awt.Container.paint(Container.java:1973)
- java.awt.Window.paint(Window.java:3901)
- javax.swing.RepaintManager$3.run(RepaintManager.java:822)
- javax.swing.RepaintManager$3.run(RepaintManager.java:794)
- java.security.AccessController.doPrivileged(Native Method)
- java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
- javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:794)
- javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
- javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
- javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
- javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1680)
- java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
- java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
- java.awt.EventQueue.access$400(EventQueue.java:97)
- java.awt.EventQueue$3.run(EventQueue.java:697)
- java.awt.EventQueue$3.run(EventQueue.java:691)
- java.security.AccessController.doPrivileged(Native Method)
- java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
- java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
- java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
- java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
- java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
- java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
- java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
- java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
error: tried to retrieve header for index 133 but max is 133
java.lang.ArrayIndexOutOfBoundsException: 133
at edu.stanford.genetics.treeview.model.IntHeaderInfo.getHeader(IntHeaderInfo.java:72)
at edu.stanford.genetics.treeview.plugin.dendroview.LabelView.updateBuffer(LabelView.java:417)
at edu.stanford.genetics.treeview.plugin.dendroview.LabelView.updateBuffer(LabelView.java:347)
at edu.stanford.genetics.treeview.ModelView.paintComponent(ModelView.java:161)
at javax.swing.JComponent.paint(JComponent.java:1053)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JViewport.paint(JViewport.java:744)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JSplitPane.paintChildren(JSplitPane.java:1047)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5224)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1532)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1455)
at javax.swing.RepaintManager.paint(RepaintManager.java:1252)
at javax.swing.JComponent.paint(JComponent.java:1039)
at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79)
at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116)
at java.awt.Container.paint(Container.java:1973)
at java.awt.Window.paint(Window.java:3901)
at javax.swing.RepaintManager$3.run(RepaintManager.java:822)
at javax.swing.RepaintManager$3.run(RepaintManager.java:794)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:794)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
at javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1680)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
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)
133
- edu.stanford.genetics.treeview.TreeSelection$IntegerSelection.isSelected(TreeSelection.java:306)
- edu.stanford.genetics.treeview.TreeSelection.isIndexSelected(TreeSelection.java:119)
- edu.stanford.genetics.treeview.plugin.dendroview.LabelView.updateBuffer(LabelView.java:424)
- edu.stanford.genetics.treeview.plugin.dendroview.LabelView.updateBuffer(LabelView.java:347)
- edu.stanford.genetics.treeview.ModelView.paintComponent(ModelView.java:161)
- javax.swing.JComponent.paint(JComponent.java:1053)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JComponent.paint(JComponent.java:1062)
- javax.swing.JViewport.paint(JViewport.java:744)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JComponent.paint(JComponent.java:1062)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JComponent.paint(JComponent.java:1062)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JSplitPane.paintChildren(JSplitPane.java:1047)
- javax.swing.JComponent.paint(JComponent.java:1062)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JComponent.paint(JComponent.java:1062)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JComponent.paint(JComponent.java:1062)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JComponent.paint(JComponent.java:1062)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JComponent.paint(JComponent.java:1062)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JComponent.paint(JComponent.java:1062)
- javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
- javax.swing.JComponent.paintChildren(JComponent.java:886)
- javax.swing.JComponent.paintToOffscreen(JComponent.java:5224)
- javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1532)
- javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1455)
- javax.swing.RepaintManager.paint(RepaintManager.java:1252)
- javax.swing.JComponent.paint(JComponent.java:1039)
- java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
- sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79)
- sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116)
- java.awt.Container.paint(Container.java:1973)
- java.awt.Window.paint(Window.java:3901)
- javax.swing.RepaintManager$3.run(RepaintManager.java:822)
- javax.swing.RepaintManager$3.run(RepaintManager.java:794)
- java.security.AccessController.doPrivileged(Native Method)
- java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
- javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:794)
- javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
- javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
- javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
- javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1680)
- java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
- java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
- java.awt.EventQueue.access$400(EventQueue.java:97)
- java.awt.EventQueue$3.run(EventQueue.java:697)
- java.awt.EventQueue$3.run(EventQueue.java:691)
- java.security.AccessController.doPrivileged(Native Method)
- java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
- java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
- java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
- java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
- java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
- java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
- java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
- java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Comments (8)
-
reporter -
reporter Also getting this error occasionally in DoubleArrayDrawer, line 297:
ArrayIndexOutOfBoundsException in paint() in DoubleArrayDrawer: null
-
repo owner I have seen these errors before but couldn't look at them right away. This seems to be an issue about updating all used classes to the current state of the matrix/ model. At given occasions, not all classes are updated properly such that their variables contain the appropriate state at that time.
-
- changed milestone to General interface
- changed version to alpha03
-
reporter I'm not sure that this is happening anymore.
-
reporter - changed status to closed
This appears to no longer be an issue.
-
reporter - changed component to General interface
-
reporter - removed milestone
Removing milestone: General interface (automated comment)
- Log in to comment
Max index should be 132, so it's calling with an index of 133 (out of bounds) on LabelView.java:416.