Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8168460

IndexOutOfBoundsException if ObservableListWrapper is used.

XMLWordPrintable

    • x86_64
    • windows_7

      FULL PRODUCT VERSION :
      java version "1.8.0_101"
      Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
      Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows [Version 6.1.7601]

      A DESCRIPTION OF THE PROBLEM :
      The exception occurs at several points in the implementation of our Fx GUI. Common starting point is always ObservableListWrapper.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      E.g. I use Listbinding to synchronize 3 comboboxes.
      If the number of elements displayed in the combobox changes, the exception sometimes occurs. The exception can not always be reproduced with the same process.

      ACTUAL -
      Javafx GUI crashes.

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      Exception in thread "JavaFX Application Thread" java.lang.IndexOutOfBoundsException: Index: 19, Size: 19
              at java.util.ArrayList.rangeCheck(ArrayList.java:653)
              at java.util.ArrayList.get(ArrayList.java:429)
              at com.sun.javafx.collections.ObservableListWrapper.get(ObservableListWrapper.java:89)
              at javafx.collections.transformation.FilteredList.get(FilteredList.java:172)
              at javafx.scene.control.ListCell.updateItem(ListCell.java:459)
              at javafx.scene.control.ListCell.indexChanged(ListCell.java:330)
              at javafx.scene.control.IndexedCell.updateIndex(IndexedCell.java:116)
              at com.sun.javafx.scene.control.skin.VirtualFlow.setCellIndex(VirtualFlow.java:1957)
              at com.sun.javafx.scene.control.skin.VirtualFlow.getCell(VirtualFlow.java:1797)
              at com.sun.javafx.scene.control.skin.VirtualFlow.getCellBreadth(VirtualFlow.java:1888)
              at com.sun.javafx.scene.control.skin.VirtualFlow.getMaxCellWidth(VirtualFlow.java:2508)
              at com.sun.javafx.scene.control.skin.VirtualContainerBase.getMaxCellWidth(VirtualContainerBase.java:94)
              at com.sun.javafx.scene.control.skin.ComboBoxListViewSkin$3.computePrefWidth(ComboBoxListViewSkin.java:457)
              at javafx.scene.Parent.prefWidth(Parent.java:915)
              at javafx.scene.layout.Region.prefWidth(Region.java:1419)
              at com.sun.javafx.scene.control.skin.ComboBoxListViewSkin.computePrefWidth(ComboBoxListViewSkin.java:243)
              at javafx.scene.control.Control.computePrefWidth(Control.java:537)
              at javafx.scene.Parent.prefWidth(Parent.java:915)
              at javafx.scene.layout.Region.prefWidth(Region.java:1419)
              at javafx.scene.layout.Region.computeChildPrefAreaWidth(Region.java:1728)
              at javafx.scene.layout.HBox.getAreaWidths(HBox.java:457)
              at javafx.scene.layout.HBox.computeContentWidth(HBox.java:532)
              at javafx.scene.layout.HBox.computePrefWidth(HBox.java:425)
              at javafx.scene.Parent.prefWidth(Parent.java:915)
              at javafx.scene.layout.Region.prefWidth(Region.java:1419)
              at javafx.scene.control.SkinBase.computePrefWidth(SkinBase.java:323)
              at javafx.scene.control.Control.computePrefWidth(Control.java:537)
              at javafx.scene.Parent.prefWidth(Parent.java:915)
              at javafx.scene.layout.Region.prefWidth(Region.java:1419)
              at javafx.scene.layout.Region.computeChildPrefAreaWidth(Region.java:1728)
              at javafx.scene.layout.HBox.getAreaWidths(HBox.java:457)
              at javafx.scene.layout.HBox.layoutChildren(HBox.java:627)
              at javafx.scene.Parent.layout(Parent.java:1087)
              at javafx.scene.Parent.layout(Parent.java:1093)
              at javafx.scene.Parent.layout(Parent.java:1093)
              at javafx.scene.Parent.layout(Parent.java:1093)
              at javafx.scene.Parent.layout(Parent.java:1093)
              at javafx.scene.Parent.layout(Parent.java:1093)
              at javafx.scene.Parent.layout(Parent.java:1093)
              at javafx.scene.Scene.doLayoutPass(Scene.java:552)
              at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2397)
              at com.sun.javafx.tk.Toolkit.lambda$runPulse$30(Toolkit.java:355)
              at java.security.AccessController.doPrivileged(Native Method)
              at com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:354)
              at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:381)
              at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:510)
              at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:490)
              at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$404(QuantumToolkit.java:319)
              at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
              at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
              at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
              at java.lang.Thread.run(Thread.java:745)


      REPRODUCIBILITY :
      This bug can be reproduced often.

            jgiles Jonathan Giles
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: