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

Hiding the Hierarchy and making the FXML file to be reloaded makes the TreeView to allocate memory untill death of process

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2 P2
    • 7u6
    • None
    • javafx
    • None
    • Mac, Windows

      As soon as the file is reloaded, the TreeView skin enters an infinite loop allocating memories like a crazy. Observed both on mac and Windows.

      I captured thread stack as soon as the mem allocation started, it seems that an infinite number of TreeCell is allocated.

      at javafx.scene.Parent$1.onProposedChange(Parent.java:249)
      at com.sun.javafx.collections.VetoableObservableList.add(VetoableObservableList.java:165)
      at com.sun.javafx.collections.ObservableListWrapper.add(ObservableListWrapper.java:144)
      at com.sun.javafx.scene.control.skin.VirtualFlow.getAvailableCell(VirtualFlow.java:1606)
      at com.sun.javafx.scene.control.skin.VirtualFlow.addTrailingCells(VirtualFlow.java:1090)
      at com.sun.javafx.scene.control.skin.VirtualFlow.layoutChildren(VirtualFlow.java:984)
      at com.sun.javafx.scene.control.skin.VirtualFlow.setCellCount(VirtualFlow.java:206)
      at com.sun.javafx.scene.control.skin.TreeViewSkin.updateItemCount(TreeViewSkin.java:225)
      at com.sun.javafx.scene.control.skin.TreeViewSkin.handleControlPropertyChanged(TreeViewSkin.java:135)
      at com.sun.javafx.scene.control.skin.SkinBase$3.changed(SkinBase.java:282)
      at javafx.beans.value.WeakChangeListener.changed(WeakChangeListener.java:107)
      at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:196)
      at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:100)
      at javafx.beans.property.IntegerPropertyBase.fireValueChangedEvent(IntegerPropertyBase.java:123)
      at javafx.beans.property.IntegerPropertyBase.markInvalid(IntegerPropertyBase.java:130)
      at javafx.beans.property.IntegerPropertyBase.set(IntegerPropertyBase.java:163)
      at javafx.scene.control.TreeView.setTreeItemCount(TreeView.java:515)
      at javafx.scene.control.TreeView.updateTreeItemCount(TreeView.java:876)
      at javafx.scene.control.TreeView.updateRootExpanded(TreeView.java:928)
      at javafx.scene.control.TreeView.access$400(TreeView.java:118)
      at javafx.scene.control.TreeView$2.invalidated(TreeView.java:358)
      at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:129)
      at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:163)
      at javafx.scene.control.TreeView.setRoot(TreeView.java:378)
      at com.oracle.javafx.authoring.panels.layers.HierarchyPanel.updateRoot(HierarchyPanel.java:270)
      at com.oracle.javafx.authoring.Frame.updateProject(Frame.java:1052)
      at com.oracle.javafx.authoring.Frame.reloadProject(Frame.java:1008)
      at com.oracle.javafx.authoring.Frame$3.handleProjectEvent(Frame.java:205)
      at com.oracle.javafx.authoring.Project.notifyEventListeners(Project.java:816)
      at com.oracle.javafx.authoring.watch.ProjectWatcher$3.run(ProjectWatcher.java:68)
      at com.oracle.javafx.authoring.watch.ProjectWatcher$5.run(ProjectWatcher.java:350)
      at com.sun.javafx.application.PlatformImpl$3.run(PlatformImpl.java:141)

            sjiang Shanliang Jiang (Inactive)
            jfdenise Jean-Francois Denise (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported: