-
Bug
-
Resolution: Fixed
-
P4
-
6
-
b73
-
generic
-
generic
-
Verified
As of Mustang b64, if unluckily you try to display MBean attribute when it is being unregistered, you get a stack as below.
jconsole might catch that.
In order to easier reproduce it, I attached a JMX server that every second register and unregister a single MBean instance using two different names.
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 2 >= 2
at java.util.Vector.elementAt(Vector.java:434)
at javax.swing.tree.DefaultMutableTreeNode.getChildAt(DefaultMutableTreeNode.java:230)
at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.updateNextIndex(VariableHeightLayoutCache.java:1739)
at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.updateNextObject(VariableHeightLayoutCache.java:1690)
at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.nextElement(VariableHeightLayoutCache.java:1681)
at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.nextElement(VariableHeightLayoutCache.java:1635)
at javax.swing.plaf.basic.BasicTreeUI.paint(BasicTreeUI.java:1182)
at javax.swing.plaf.metal.MetalTreeUI.paint(MetalTreeUI.java:152)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:143)
at javax.swing.JComponent.paintComponent(JComponent.java:704)
at javax.swing.JComponent.paint(JComponent.java:968)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5074)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:279)
at javax.swing.RepaintManager.paint(RepaintManager.java:1105)
at javax.swing.JComponent._paintImmediately(JComponent.java:5022)
at javax.swing.JComponent.paintImmediately(JComponent.java:4840)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:714)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:670)
at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:650)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
jconsole might catch that.
In order to easier reproduce it, I attached a JMX server that every second register and unregister a single MBean instance using two different names.
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 2 >= 2
at java.util.Vector.elementAt(Vector.java:434)
at javax.swing.tree.DefaultMutableTreeNode.getChildAt(DefaultMutableTreeNode.java:230)
at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.updateNextIndex(VariableHeightLayoutCache.java:1739)
at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.updateNextObject(VariableHeightLayoutCache.java:1690)
at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.nextElement(VariableHeightLayoutCache.java:1681)
at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.nextElement(VariableHeightLayoutCache.java:1635)
at javax.swing.plaf.basic.BasicTreeUI.paint(BasicTreeUI.java:1182)
at javax.swing.plaf.metal.MetalTreeUI.paint(MetalTreeUI.java:152)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:143)
at javax.swing.JComponent.paintComponent(JComponent.java:704)
at javax.swing.JComponent.paint(JComponent.java:968)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5074)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:279)
at javax.swing.RepaintManager.paint(RepaintManager.java:1105)
at javax.swing.JComponent._paintImmediately(JComponent.java:5022)
at javax.swing.JComponent.paintImmediately(JComponent.java:4840)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:714)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:670)
at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:650)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)