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

Disposer.pollRemove may fail to dispose

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 9
    • 9
    • client-libs
    • None
    • 2d
    • b76

        In ./jdk/src/java.desktop/share/classes/sun/java2d/Disposer.java, in the function pollRemove, there is a loop with the following test:

                   while ((obj = queue.poll()) != null
                          && freed < 10000 && deferred < 100) {

        If obj != null but freed or deferred exceed the indicated bounds, obj just gets dropped, without having its dispose function called.

        The bound checks for freed and deferred should be performed *before* polling the queue.

              psadhukhan Prasanta Sadhukhan
              kbarrett Kim Barrett
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: