[ 
https://issues.apache.org/jira/browse/LOG4J2-538?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13903176#comment-13903176
 ] 

Remko Popma commented on LOG4J2-538:
------------------------------------

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.

> occasional ArrayIndexOutOfBoundsException after pressing "reconfigure with 
> XML below"
> -------------------------------------------------------------------------------------
>
>                 Key: LOG4J2-538
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-538
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: JMX
>    Affects Versions: 2.0-rc1
>         Environment: Windows 7, Java 1.6.0_45-b06
>            Reporter: Colin Froggatt
>            Assignee: Remko Popma
>
> While testing the fix for LOG4J2-443, I have encountered a number of 
> {{ArrayIndexOutOfBoundsException}}'s after pressing "reconfigure with XML 
> below" button.
> Exception is: 
> {code}
> 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
> {code}
> 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.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to