java.lang.IndexOutOfBoundsException: Index: 15, Size: 15

ICEsoft JIRA Issue Tracker | Pouya Yanki | 1 year ago
  1. 0

    In our application, we work a lot with annotations to highlight the most important parts of the PDF for our user. The IcePDF viewer tries to paint the annotations when the PDF page is first loaded in the {{PageViewComponentImpl.paintAnnotations()}}. There is a {{for}} loop in this method, which can not properly deal with concurrency and leads to the following exception. This exception sometimes leads to the freezing of the entire IcePdf component and our application. Note that our application performs all the GUI operations related to ICEPDF inside a {{SwingUtilities.invokeLater()}} to make sure it can only be performed withing the {{AWT}} thread. However, the it is still possible that an annotation is removed before the loop in the {{paintAnnotations()}} method is finished. {quote} Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 15, Size: 15 at java.util.ArrayList.rangeCheck(ArrayList.java:635) at java.util.ArrayList.get(ArrayList.java:411) at org.icepdf.ri.common.views.PageViewComponentImpl.paintAnnotations(PageViewComponentImpl.java:524) at org.icepdf.ri.common.views.PageViewComponentImpl.paintComponent(PageViewComponentImpl.java:463) at javax.swing.JComponent.paint(JComponent.java:1054) at javax.swing.JLayeredPane.paint(JLayeredPane.java:585) at javax.swing.JComponent.paintChildren(JComponent.java:887) at javax.swing.JComponent.paint(JComponent.java:1063) at org.icepdf.ri.common.views.PageViewDecorator.paint(PageViewDecorator.java:141) at javax.swing.JComponent.paintChildren(JComponent.java:887) at javax.swing.JComponent.paint(JComponent.java:1063) 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:251) 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) {quote}

    ICEsoft JIRA Issue Tracker | 1 year ago | Pouya Yanki
    java.lang.IndexOutOfBoundsException: Index: 15, Size: 15
  2. 0

    In our application, we work a lot with annotations to highlight the most important parts of the PDF for our user. The IcePDF viewer tries to paint the annotations when the PDF page is first loaded in the {{PageViewComponentImpl.paintAnnotations()}}. There is a {{for}} loop in this method, which can not properly deal with concurrency and leads to the following exception. This exception sometimes leads to the freezing of the entire IcePdf component and our application. Note that our application performs all the GUI operations related to ICEPDF inside a {{SwingUtilities.invokeLater()}} to make sure it can only be performed withing the {{AWT}} thread. However, the it is still possible that an annotation is removed before the loop in the {{paintAnnotations()}} method is finished. {quote} Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 15, Size: 15 at java.util.ArrayList.rangeCheck(ArrayList.java:635) at java.util.ArrayList.get(ArrayList.java:411) at org.icepdf.ri.common.views.PageViewComponentImpl.paintAnnotations(PageViewComponentImpl.java:524) at org.icepdf.ri.common.views.PageViewComponentImpl.paintComponent(PageViewComponentImpl.java:463) at javax.swing.JComponent.paint(JComponent.java:1054) at javax.swing.JLayeredPane.paint(JLayeredPane.java:585) at javax.swing.JComponent.paintChildren(JComponent.java:887) at javax.swing.JComponent.paint(JComponent.java:1063) at org.icepdf.ri.common.views.PageViewDecorator.paint(PageViewDecorator.java:141) at javax.swing.JComponent.paintChildren(JComponent.java:887) at javax.swing.JComponent.paint(JComponent.java:1063) 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:251) 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) {quote}

    ICEsoft JIRA Issue Tracker | 1 year ago | Pouya Yanki
    java.lang.IndexOutOfBoundsException: Index: 15, Size: 15
  3. Speed up your debug routine!

    Automated exception search integrated into your IDE

  4. 0

    Strange outOfBoundsException when iterating through lists

    Stack Overflow | 3 years ago | José Casillas
    java.lang.IndexOutOfBoundsException: Index: 15, Size: 15
  5. 0

    Severe issue when iterating trough lists: IndexOutOfBoundsException in Java

    Stack Overflow | 3 years ago | Eduardo Casillas Allen
    java.lang.IndexOutOfBoundsException: Index: 15, Size: 15

  1. filpgame 1 times, last 1 week ago
  2. Aria Pahlavan 6 times, last 1 week ago
  3. bmacedo 4 times, last 1 week ago
  4. MoYapro 5 times, last 2 weeks ago
  5. Alexandru Popa 12 times, last 2 weeks ago
63 more registered users
32 unregistered visitors
Not finding the right solution?
Take a tour to get the most out of Samebug.

Tired of useless tips?

Automated exception search integrated into your IDE

Root Cause Analysis

  1. java.lang.IndexOutOfBoundsException

    Index: 15, Size: 15

    at java.util.ArrayList.rangeCheck()
  2. Java RT
    ArrayList.get
    1. java.util.ArrayList.rangeCheck(ArrayList.java:635)
    2. java.util.ArrayList.get(ArrayList.java:411)
    2 frames
  3. org.icepdf.ri
    PageViewComponentImpl.paintComponent
    1. org.icepdf.ri.common.views.PageViewComponentImpl.paintAnnotations(PageViewComponentImpl.java:524)
    2. org.icepdf.ri.common.views.PageViewComponentImpl.paintComponent(PageViewComponentImpl.java:463)
    2 frames
  4. Java RT
    JComponent.paint
    1. javax.swing.JComponent.paint(JComponent.java:1054)
    2. javax.swing.JLayeredPane.paint(JLayeredPane.java:585)
    3. javax.swing.JComponent.paintChildren(JComponent.java:887)
    4. javax.swing.JComponent.paint(JComponent.java:1063)
    4 frames
  5. org.icepdf.ri
    PageViewDecorator.paint
    1. org.icepdf.ri.common.views.PageViewDecorator.paint(PageViewDecorator.java:141)
    1 frame
  6. Java RT
    EventDispatchThread.run
    1. javax.swing.JComponent.paintChildren(JComponent.java:887)
    2. javax.swing.JComponent.paint(JComponent.java:1063)
    3. javax.swing.JComponent.paintToOffscreen(JComponent.java:5219)
    4. javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1529)
    5. javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1452)
    6. javax.swing.RepaintManager.paint(RepaintManager.java:1249)
    7. javax.swing.JComponent._paintImmediately(JComponent.java:5167)
    8. javax.swing.JComponent.paintImmediately(JComponent.java:4978)
    9. javax.swing.RepaintManager$3.run(RepaintManager.java:808)
    10. javax.swing.RepaintManager$3.run(RepaintManager.java:796)
    11. java.security.AccessController.doPrivileged(Native Method)
    12. java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    13. javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
    14. javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
    15. javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
    16. javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
    17. javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1677)
    18. java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    19. java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
    20. java.awt.EventQueue.access$200(EventQueue.java:103)
    21. java.awt.EventQueue$3.run(EventQueue.java:694)
    22. java.awt.EventQueue$3.run(EventQueue.java:692)
    23. java.security.AccessController.doPrivileged(Native Method)
    24. java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    25. java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
    26. java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    27. java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    28. java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    29. java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    30. java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    31. java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
    31 frames