Hi mafia team.
I see this exception thrown and caught within what I assume is the UI thread, intermittently but reasonably often (one time in five-ten?) on exiting mafia:
I'm running SVN HEAD in Eclipse, and this has been occurring for as long as I've been using mafia - a year or so? I'd assume it's some kind of race condition, but I know basically nothing about the structure of the code, so I'm asking if anyone else sees it, or has any debugging suggestions for tracking it down?
I see this exception thrown and caught within what I assume is the UI thread, intermittently but reasonably often (one time in five-ten?) on exiting mafia:
Code:
KoLmafia v16.9
Released on April 25, 2015
Currently Running on Windows 7
Local Directory is C:\Eclipse\workspaces\KoLMafia\kolmafia
Using Java 1.7.0_65
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 5, Size: 5
at java.util.ArrayList.rangeCheck(ArrayList.java:635)
at java.util.ArrayList.get(ArrayList.java:411)
at javax.swing.JTabbedPane.getTabComponentAt(JTabbedPane.java:2395)
at javax.swing.plaf.basic.BasicTabbedPaneUI.calculateTabWidth(BasicTabbedPaneUI.java:1750)
at tab.CloseTabPaneUI.calculateTabWidth(CloseTabPaneUI.java:270)
at tab.CloseTabPaneUI$TabbedPaneScrollLayout.calculateTabRects(CloseTabPaneUI.java:1322)
at javax.swing.plaf.basic.BasicTabbedPaneUI$TabbedPaneLayout.calculateLayoutInfo(BasicTabbedPaneUI.java:2512)
at tab.CloseTabPaneUI$TabbedPaneScrollLayout.layoutContainer(CloseTabPaneUI.java:1150)
at java.awt.Container.layout(Container.java:1503)
at java.awt.Container.doLayout(Container.java:1492)
at java.awt.Container.validateTree(Container.java:1688)
at java.awt.Container.validate(Container.java:1623)
at tab.CloseTabPaneUI.ensureCurrentLayout(CloseTabPaneUI.java:806)
at tab.CloseTabPaneUI.paint(CloseTabPaneUI.java:658)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
at javax.swing.JComponent.paintComponent(JComponent.java:778)
at javax.swing.JComponent.paint(JComponent.java:1054)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1529)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1452)
at javax.swing.RepaintManager.paint(RepaintManager.java:1249)
at javax.swing.JComponent._paintImmediately(JComponent.java:5167)
at javax.swing.JComponent.paintImmediately(JComponent.java:4978)
at javax.swing.RepaintManager$3.run(RepaintManager.java:808)
at javax.swing.RepaintManager$3.run(RepaintManager.java:796)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
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:1677)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
I'm running SVN HEAD in Eclipse, and this has been occurring for as long as I've been using mafia - a year or so? I'd assume it's some kind of race condition, but I know basically nothing about the structure of the code, so I'm asking if anyone else sees it, or has any debugging suggestions for tracking it down?