[ https://issues.apache.org/jira/browse/SLING-6433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15798062#comment-15798062 ]
Krystian Nowak commented on SLING-6433: --------------------------------------- The exception is thrown due to changes made in SLING-4114 > Request Processing Analyzer throws IOOB due to old format assumptions of > RequestProgressTracker output > ------------------------------------------------------------------------------------------------------ > > Key: SLING-6433 > URL: https://issues.apache.org/jira/browse/SLING-6433 > Project: Sling > Issue Type: Bug > Components: Extensions > Reporter: Krystian Nowak > Fix For: Request Analyzer 1.0.0 > > Attachments: SLING-6433-krystian.patch > > > In certain cases Request Processing Analyzer throws IndexOutOfBoundsException > and fails to display request details: > {noformat} > Exception in thread "AWT-EventQueue-0" > java.lang.StringIndexOutOfBoundsException: String index out of range: -1 > at java.lang.String.substring(String.java:1931) > at > org.apache.sling.reqanalyzer.impl.gui.RequestTableModel.addRow(RequestTableModel.java:37) > at > org.apache.sling.reqanalyzer.impl.gui.RequestTrackerFile.getData(RequestTrackerFile.java:64) > at > org.apache.sling.reqanalyzer.impl.gui.RequestListSelectionListener.valueChanged(RequestListSelectionListener.java:65) > at > javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184) > at > javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:154) > at > javax.swing.DefaultListSelectionModel.setValueIsAdjusting(DefaultListSelectionModel.java:685) > at > javax.swing.plaf.basic.BasicTableUI$Handler.setValueIsAdjusting(BasicTableUI.java:953) > at > javax.swing.plaf.basic.BasicTableUI$Handler.mouseReleased(BasicTableUI.java:1166) > at > javax.swing.plaf.basic.BasicTableUI$MouseInputHandler.mouseReleased(BasicTableUI.java:802) > at > java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290) > at java.awt.Component.processMouseEvent(Component.java:6533) > at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) > at java.awt.Component.processEvent(Component.java:6298) > at java.awt.Container.processEvent(Container.java:2236) > at java.awt.Component.dispatchEventImpl(Component.java:4889) > at java.awt.Container.dispatchEventImpl(Container.java:2294) > at java.awt.Component.dispatchEvent(Component.java:4711) > at > java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) > at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) > at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) > at java.awt.Container.dispatchEventImpl(Container.java:2280) > at java.awt.Window.dispatchEventImpl(Window.java:2746) > at java.awt.Component.dispatchEvent(Component.java:4711) > at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) > at java.awt.EventQueue.access$500(EventQueue.java:97) > at java.awt.EventQueue$3.run(EventQueue.java:709) > at java.awt.EventQueue$3.run(EventQueue.java:703) > at java.security.AccessController.doPrivileged(Native Method) > at > java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) > at > java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) > at java.awt.EventQueue$4.run(EventQueue.java:731) > at java.awt.EventQueue$4.run(EventQueue.java:729) > at java.security.AccessController.doPrivileged(Native Method) > at > java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) > at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) > 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) > {noformat} > This is due to an old (pre-SLING-4114) assumptions on RequestProgressTracker > output. > SLING-4114 removed date and time fields which were ending in closing > parenthesis but the analyzer is still looking for it while calculating string > index. In most of the cases the request details are just wrongly displayed, > but when the closing parenthesis character is at the end of the string then > the index exceeds string length resulting in the exception. The solution is > to update the code to the current RequestProgressTracker output format > without those removed fields. -- This message was sent by Atlassian JIRA (v6.3.4#6332)