Log4j 2
  1. Log4j 2
  2. LOG4J2-538

occasional ArrayIndexOutOfBoundsException after pressing "reconfigure with XML below"

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-rc1
    • Fix Version/s: 2.0-rc2
    • Component/s: JMX
    • Labels:
      None
    • Environment:

      Windows 7, Java 1.6.0_45-b06

      Description

      While testing the fix for LOG4J2-443, I have encountered a number of ArrayIndexOutOfBoundsException's after pressing "reconfigure with XML below" button.

      Exception is:

      Exception occurred during event dispatching:
      java.lang.ArrayIndexOutOfBoundsException: 1
      	at javax.swing.plaf.basic.BasicTabbedPaneUI.paintTabArea(BasicTabbedPaneUI.java:817)
      	at javax.swing.plaf.basic.BasicTabbedPaneUI.paint(BasicTabbedPaneUI.java:780)
      	at javax.swing.plaf.ComponentUI.update(ComponentUI.java:143)
      	at javax.swing.JComponent.paintComponent(JComponent.java:760)
      	at javax.swing.JComponent.paint(JComponent.java:1037)
      	at javax.swing.JComponent.paintChildren(JComponent.java:870)
      	at javax.swing.JComponent.paint(JComponent.java:1046)
      	at javax.swing.JComponent.paintChildren(JComponent.java:870)
      	at javax.swing.JComponent.paint(JComponent.java:1046)
      	at javax.swing.JComponent.paintChildren(JComponent.java:870)
      	at javax.swing.JComponent.paint(JComponent.java:1046)
      	at javax.swing.JComponent.paintChildren(JComponent.java:870)
      	at javax.swing.JComponent.paint(JComponent.java:1046)
      	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5132)
      	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1523)
      	at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1454)
      	at javax.swing.RepaintManager.paint(RepaintManager.java:1257)
      	at javax.swing.JComponent._paintImmediately(JComponent.java:5080)
      	at javax.swing.JComponent.paintImmediately(JComponent.java:4890)
      	at javax.swing.RepaintManager$3.run(RepaintManager.java:814)
      	at javax.swing.RepaintManager$3.run(RepaintManager.java:802)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
      	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:802)
      	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:745)
      	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:725)
      	at javax.swing.RepaintManager.access$1000(RepaintManager.java:46)
      	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1668)
      	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
      	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:672)
      	at java.awt.EventQueue.access$400(EventQueue.java:81)
      	at java.awt.EventQueue$2.run(EventQueue.java:633)
      	at java.awt.EventQueue$2.run(EventQueue.java:631)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
      	at java.awt.EventQueue.dispatchEvent(EventQueue.java:642)
      	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
      	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
      	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
      	at java.awt.Dialog$1.run(Dialog.java:1052)
      	at java.awt.Dialog$3.run(Dialog.java:1104)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at java.awt.Dialog.show(Dialog.java:1102)
      	at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:853)
      	at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:650)
      	at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:621)
      	at org.apache.logging.log4j.jmx.gui.ClientEditConfigPanel.showConfirmation(ClientEditConfigPanel.java:110)
      	at org.apache.logging.log4j.jmx.gui.ClientEditConfigPanel.access$300(ClientEditConfigPanel.java:43)
      	at org.apache.logging.log4j.jmx.gui.ClientEditConfigPanel$2.actionPerformed(ClientEditConfigPanel.java:85)
      	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:6297)
      	at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)
      	at java.awt.Component.processEvent(Component.java:6062)
      	at java.awt.Container.processEvent(Container.java:2039)
      	at java.awt.Component.dispatchEventImpl(Component.java:4660)
      	at java.awt.Container.dispatchEventImpl(Container.java:2097)
      	at java.awt.Component.dispatchEvent(Component.java:4488)
      	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575)
      	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4236)
      	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166)
      	at java.awt.Container.dispatchEventImpl(Container.java:2083)
      	at java.awt.Window.dispatchEventImpl(Window.java:2489)
      	at java.awt.Component.dispatchEvent(Component.java:4488)
      	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:674)
      	at java.awt.EventQueue.access$400(EventQueue.java:81)
      	at java.awt.EventQueue$2.run(EventQueue.java:633)
      	at java.awt.EventQueue$2.run(EventQueue.java:631)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
      	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
      	at java.awt.EventQueue$3.run(EventQueue.java:647)
      	at java.awt.EventQueue$3.run(EventQueue.java:645)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
      	at java.awt.EventQueue.dispatchEvent(EventQueue.java:644)
      	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)
      Exception occurred during event dispatching:
      java.lang.ArrayIndexOutOfBoundsException
      

      This happens after pressing "reconfigure with XML below". It opens in a dialog titled "JConsole:Output". After it pops up it is possible to ignore it and carry on with all the above steps.

        Activity

        Hide
        Remko Popma added a comment -

        Colin, I believe this issue was fixed with the changes in revision 1568957.
        Please verify and close (or re-open if you find any issue).

        Show
        Remko Popma added a comment - Colin, I believe this issue was fixed with the changes in revision 1568957. Please verify and close (or re-open if you find any issue).
        Hide
        Remko Popma added a comment -

        I've made a change (revision 1568957) to ensure JMX notifications are handled in the AWT event thread. Not sure if this is sufficient, need to take another look later.

        Show
        Remko Popma added a comment - I've made a change (revision 1568957) to ensure JMX notifications are handled in the AWT event thread. Not sure if this is sufficient, need to take another look later.

          People

          • Assignee:
            Remko Popma
            Reporter:
            Colin Froggatt
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development