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

Invisible Indeterminate ProgressBar has memory leak

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 8u40
    • Fix Version/s: 9
    • Component/s: javafx
    • Labels:
    • Environment:

      Windows 7 64-bit
      Java 8u40

      Backports

        Description

        Tracking down a leak in my application I found that tens of thousands of BindingHelperObserver and WeakReference objcts were accumulating, all rooted in an indeterminate ProgressBar that wasn't even visible.

        Using jvisualvm to compare heap dumps at various points (after forcing GC), I see the following chain of objects:

        WeakReference
        BindingHelperObserver
        InvalidationListener[]
        ExpressionHelper$Generic
        Node$NodeTransformation$2
        Node$NodeTransformation
        StackPane
        ProgressBarSkin
        ProgressBar

        or

        WeakReference
        BindingHelperObserver
        InvalidationListener[]
        ExpressionHelper$Generic
        ProgressBarSkin$1
        ProgressBarSkin
        ProgressBar


        (The one with the NodeTransformation appears to be related to the animated style of the indeterminate ProgressBar.)

        After changing my application to force the invisible progress bar to have a progress value of 0.0 (it was initially left at the default of -1.0), I could no longer reproduce the leak.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  jgiles Jonathan Giles
                  Reporter:
                  swpalmer Scott Palmer
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Imported: