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

NGCanvas fails to unlock temporary texture while processing non-SrcOver blend modes

XMLWordPrintable

      Running the "FullTutorial" CanvasTest toy from rt-closed, we get texture statistics being printed out starting from the "Operations" tab showing that some textures are left locked.

      One source of these locked textures are due to a bug in NGCanvas that leaves a temporary texture locked after applying a non-SrcOver blending mode with the following stack trace showing where they were locked:

           [java] java.lang.Throwable: 1
           [java] at com.sun.prism.impl.ManagedResource.lock(ManagedResource.java:286)
           [java] at com.sun.prism.impl.ManagedResource.<init>(ManagedResource.java:197)
           [java] at com.sun.prism.impl.DisposerManagedResource.<init>(DisposerManagedResource.java:34)
           [java] at com.sun.prism.es2.ES2TextureResource.<init>(ES2TextureResource.java:34)
           [java] at com.sun.prism.es2.ES2RTTexture.create(ES2RTTexture.java:285)
           [java] at com.sun.prism.es2.ES2ResourceFactory.createRTTexture(ES2ResourceFactory.java:101)
           [java] at com.sun.prism.es2.ES2ResourceFactory.createRTTexture(ES2ResourceFactory.java:97)
           [java] at com.sun.javafx.sg.prism.NGCanvas$RenderBuf.validate(NGCanvas.java:193)
           [java] at com.sun.javafx.sg.prism.NGCanvas.renderStream(NGCanvas.java:901)
           [java] at com.sun.javafx.sg.prism.NGCanvas.renderContent(NGCanvas.java:522)

      The rest are coming from the WebView code and a related bug RT-33625 was filed on those unbalanced lock()s.

      (To get the stack traces of where unmatched locks occur, set the ManagedResource.trackLockSources flag to true...)

            flar Jim Graham
            flar Jim Graham
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported: