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

StackOverflow when changing sort order in the TreeTable

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P4
    • 8u60
    • 8u20
    • javafx
    • None

    Description

      Run helloworld.HelloTreeTableView, switch to the Big Tree tab.
      Select element "Elem 0"
      Click column header twice, StackOverflow exception will occur after noticeable non responsiveness.
      The part of the stack trace is:
      javafx.scene.control.TreeItem.runSort(TreeItem.java:842)
      javafx.scene.control.TreeItem.checkSortState(TreeItem.java:836)
      javafx.scene.control.TreeItem.getChildren(TreeItem.java:644)
      javafx.scene.control.TreeUtil.getItem(TreeUtil.java:66)
      javafx.scene.control.TreeUtil.getItem(TreeUtil.java:87)
      javafx.scene.control.TreeTableView.getTreeItem(TreeTableView.java:1616)
      javafx.scene.control.TreeTableView$TreeTableViewArrayListSelectionModel.select(TreeTableView.java:2727)
      javafx.scene.control.TreeTableView$TreeTableViewArrayListSelectionModel$4.handle(TreeTableView.java:2456)
      javafx.scene.control.TreeTableView$TreeTableViewArrayListSelectionModel$4.handle(TreeTableView.java:2362)
      javafx.event.WeakEventHandler.handle(WeakEventHandler.java:79)
      com.sun.javafx.event.CompositeEventHandler$WeakEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:248)
      com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
      com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
      com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
      com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
      com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
      com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
      javafx.event.Event.fireEvent(Event.java:198)
      javafx.scene.control.TreeItem.fireEvent(TreeItem.java:745)
      javafx.scene.control.TreeItem.updateChildren(TreeItem.java:915)
      javafx.scene.control.TreeItem.lambda$new$114(TreeItem.java:413)
      javafx.scene.control.TreeItem$$Lambda$78.639466704.onChanged
      com.sun.javafx.collections.ListListenerHelper$SingleChange.fireValueChangedEvent(ListListenerHelper.java:164)
      com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
      javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:233)
      com.sun.javafx.collections.ObservableListWrapper.sort(ObservableListWrapper.java:226)
      javafx.collections.FXCollections.sort(FXCollections.java:671)
      javafx.scene.control.TreeItem.doSort(TreeItem.java:875)
      javafx.scene.control.TreeItem.runSort(TreeItem.java:842)
      javafx.scene.control.TreeItem.checkSortState(TreeItem.java:836)
      javafx.scene.control.TreeItem.getChildren(TreeItem.java:644)
      javafx.scene.control.TreeUtil.getItem(TreeUtil.java:66)
      javafx.scene.control.TreeUtil.getItem(TreeUtil.java:87)
      javafx.scene.control.TreeTableView.getTreeItem(TreeTableView.java:1616)
      javafx.scene.control.TreeTableView$TreeTableViewArrayListSelectionModel.select(TreeTableView.java:2727)
      javafx.scene.control.TreeTableView$TreeTableViewArrayListSelectionModel$4.handle(TreeTableView.java:2456)
      javafx.scene.control.TreeTableView$TreeTableViewArrayListSelectionModel$4.handle(TreeTableView.java:2362)
      javafx.event.WeakEventHandler.handle(WeakEventHandler.java:79)
      com.sun.javafx.event.CompositeEventHandler$WeakEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:248)
      com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
      com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
      com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
      com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
      com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
      com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
      javafx.event.Event.fireEvent(Event.java:198)
      javafx.scene.control.TreeItem.fireEvent(TreeItem.java:745)
      javafx.scene.control.TreeItem.updateChildren(TreeItem.java:915)
      javafx.scene.control.TreeItem.lambda$new$114(TreeItem.java:413)
      javafx.scene.control.TreeItem$$Lambda$78.639466704.onChanged
      com.sun.javafx.collections.ListListenerHelper$SingleChange.fireValueChangedEvent(ListListenerHelper.java:164)
      com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
      javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:233)
      com.sun.javafx.collections.ObservableListWrapper.sort(ObservableListWrapper.java:226)
      javafx.collections.FXCollections.sort(FXCollections.java:671)
      javafx.scene.control.TreeItem.doSort(TreeItem.java:875)
      javafx.scene.control.TreeItem.runSort(TreeItem.java:842)
      javafx.scene.control.TreeItem.sort(TreeItem.java:817)
      javafx.scene.control.TreeItem.sort(TreeItem.java:808)
      javafx.scene.control.TreeTableView$3.call(TreeTableView.java:567)
      javafx.scene.control.TreeTableView$3.call(TreeTableView.java:556)
      javafx.scene.control.TreeTableView.sort(TreeTableView.java:1783)
      javafx.scene.control.TreeTableView.doSort(TreeTableView.java:1855)
      javafx.scene.control.TreeTableView.lambda$new$120(TreeTableView.java:828)
      javafx.scene.control.TreeTableView$$Lambda$85.803745456.invalidated
      javafx.beans.WeakInvalidationListener.invalidated(WeakInvalidationListener.java:83)
      com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:349)
      com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
      javafx.beans.property.ObjectPropertyBase.fireValueChangedEvent(ObjectPropertyBase.java:105)
      javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:112)
      javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:146)
      javafx.scene.control.TreeTableColumn.setSortType(TreeTableColumn.java:448)
      com.sun.javafx.scene.control.TableColumnSortTypeWrapper.setSortType(TableColumnSortTypeWrapper.java:60)
      com.sun.javafx.scene.control.skin.TableColumnHeader.sortColumn(TableColumnHeader.java:770)
      com.sun.javafx.scene.control.skin.TableColumnHeader.lambda$static$55(TableColumnHeader.java:243)
      com.sun.javafx.scene.control.skin.TableColumnHeader$$Lambda$182.1035318213.handle
      com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)

      Attachments

        Activity

          People

            jgiles Jonathan Giles
            vadim Vadim Pakhnushev
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:
              Imported: