Menu

#208 ArrayIndexOutOfBoundsException when delete last element

2.4
closed-fixed
None
5
2023-02-24
2023-02-14
anon
No

To reproduce the bug: * First create a task named e.g. "zzz" * sort by description, so that it becomes the one lowest on the screen * click on it to select it, then click [Remove]

Problem: the following gets logged on the screen:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 42
        at java.base/java.util.Vector.get(Vector.java:750)
        at org.cesilko.rachota.gui.DayTableModel.getTask(DayTableModel.java:315)
        at org.cesilko.rachota.gui.DayView.checkButtons(DayView.java:1028)
        at org.cesilko.rachota.gui.DayView.btRemoveActionPerformed(DayView.java:686)
        at org.cesilko.rachota.gui.DayView.access$2100(DayView.java:66)
        at org.cesilko.rachota.gui.DayView$23.actionPerformed(DayView.java:621)
        at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
        at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
        at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
        at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
        at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
        at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
        at java.desktop/java.awt.Component.processMouseEvent(Component.java:6620)
        at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398)
        at java.desktop/java.awt.Component.processEvent(Component.java:6385)
        at java.desktop/java.awt.Container.processEvent(Container.java:2266)
        at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4995)
        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4827)
        at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
        at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
        at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
        at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4827)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Discussion

  • Jiri Kovalsky

    Jiri Kovalsky - 2023-02-16
    • status: open --> open-accepted
    • assigned_to: Jiri Kovalsky
     
  • Jiri Kovalsky

    Jiri Kovalsky - 2023-02-16

    I am able to reproduce the issue and will fix it next week. Thanks for the report!

     
  • Jiri Kovalsky

    Jiri Kovalsky - 2023-02-24

    Explicit refresh of day view table model was necessary when deleting the last task of a day plan. This bug is fixed in Rachota 2.4 build #230224.

    https://sourceforge.net/p/rachota/code/ci/98c672c21e31967f1eed48e1dd9b7aebcd6284c2/

    Thanks for the report and steps how to reproduce the issue!

     

    Last edit: Jiri Kovalsky 2023-02-24
  • Jiri Kovalsky

    Jiri Kovalsky - 2023-02-24
    • status: open-accepted --> closed-fixed
     

Log in to post a comment.