-
Bug
-
Resolution: Fixed
-
P2
-
8
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 or two of these locked textures are due to a bug in NGCanvas that leaves a temporary texture locked after applying a non-SrcOver blending mode, but the rest (about 26) of the locked textures come from the WCGraphics code 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.scenario.effect.impl.prism.ps.PPSDrawable.create(PPSDrawable.java:67)
[java] at com.sun.scenario.effect.impl.prism.ps.PPSRenderer.createCompatibleImage(PPSRenderer.java:164)
[java] at com.sun.scenario.effect.impl.prism.ps.PPSRenderer.createCompatibleImage(PPSRenderer.java:65)
[java] at com.sun.scenario.effect.Effect.createCompatibleImage(Effect.java:466)
[java] at com.sun.javafx.webkit.prism.WCGraphicsPrismContext$Composite.blend(WCGraphicsPrismContext.java:1324)
[java] at com.sun.javafx.webkit.prism.WCGraphicsPrismContext$Composite.paint(WCGraphicsPrismContext.java:1307)
[java] at com.sun.javafx.webkit.prism.WCGraphicsPrismContext$Composite.paint(WCGraphicsPrismContext.java:1287)
[java] at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.drawImage(WCGraphicsPrismContext.java:700)
[java] at com.sun.webkit.graphics.GraphicsDecoder.drawImage(GraphicsDecoder.java:408)
[java] at com.sun.webkit.graphics.GraphicsDecoder.decode(GraphicsDecoder.java:166)
[java] at com.sun.webkit.graphics.WCRenderQueue.decode(WCRenderQueue.java:69)
[java] at com.sun.webkit.graphics.WCRenderQueue.decode(WCRenderQueue.java:80)
[java] at com.sun.webkit.graphics.WCRenderQueue.decode(WCRenderQueue.java:86)
[java] at com.sun.webkit.graphics.GraphicsDecoder.decode(GraphicsDecoder.java:322)
[java] at com.sun.webkit.graphics.WCRenderQueue.decode(WCRenderQueue.java:69)
[java] at com.sun.webkit.WebPage.paint2GC(WebPage.java:669)
[java] at com.sun.webkit.WebPage.paint(WebPage.java:637)
[java] at com.sun.javafx.sg.prism.NGWebView.renderContent(NGWebView.java:73)
(To get the stack traces of where unmatched locks occur, set the ManagedResource.trackLockSources flag to true...)
One or two of these locked textures are due to a bug in NGCanvas that leaves a temporary texture locked after applying a non-SrcOver blending mode, but the rest (about 26) of the locked textures come from the WCGraphics code 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.scenario.effect.impl.prism.ps.PPSDrawable.create(PPSDrawable.java:67)
[java] at com.sun.scenario.effect.impl.prism.ps.PPSRenderer.createCompatibleImage(PPSRenderer.java:164)
[java] at com.sun.scenario.effect.impl.prism.ps.PPSRenderer.createCompatibleImage(PPSRenderer.java:65)
[java] at com.sun.scenario.effect.Effect.createCompatibleImage(Effect.java:466)
[java] at com.sun.javafx.webkit.prism.WCGraphicsPrismContext$Composite.blend(WCGraphicsPrismContext.java:1324)
[java] at com.sun.javafx.webkit.prism.WCGraphicsPrismContext$Composite.paint(WCGraphicsPrismContext.java:1307)
[java] at com.sun.javafx.webkit.prism.WCGraphicsPrismContext$Composite.paint(WCGraphicsPrismContext.java:1287)
[java] at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.drawImage(WCGraphicsPrismContext.java:700)
[java] at com.sun.webkit.graphics.GraphicsDecoder.drawImage(GraphicsDecoder.java:408)
[java] at com.sun.webkit.graphics.GraphicsDecoder.decode(GraphicsDecoder.java:166)
[java] at com.sun.webkit.graphics.WCRenderQueue.decode(WCRenderQueue.java:69)
[java] at com.sun.webkit.graphics.WCRenderQueue.decode(WCRenderQueue.java:80)
[java] at com.sun.webkit.graphics.WCRenderQueue.decode(WCRenderQueue.java:86)
[java] at com.sun.webkit.graphics.GraphicsDecoder.decode(GraphicsDecoder.java:322)
[java] at com.sun.webkit.graphics.WCRenderQueue.decode(WCRenderQueue.java:69)
[java] at com.sun.webkit.WebPage.paint2GC(WebPage.java:669)
[java] at com.sun.webkit.WebPage.paint(WebPage.java:637)
[java] at com.sun.javafx.sg.prism.NGWebView.renderContent(NGWebView.java:73)
(To get the stack traces of where unmatched locks occur, set the ManagedResource.trackLockSources flag to true...)
- relates to
-
JDK-8088378 Some (internal) developers may believe that Effect.releaseCompatibleImage() releases non-pool textures
-
- Open
-
-
JDK-8123125 WebView keeps permanent back buffers for HTML pages and Canvas objects, can cause NPE
-
- Closed
-
-
JDK-8096004 NGCanvas fails to unlock temporary texture while processing non-SrcOver blend modes
-
- Closed
-