Description
I am using a canvas to draw grid lines in the back of ListView cells and get an NPE when scrolling "furiously" up and down (a test case can be found in the comments section).
java.lang.NullPointerException
at com.sun.javafx.sg.prism.NGCanvas$RenderBuf.validate(NGCanvas.java:190)
at com.sun.javafx.sg.prism.NGCanvas.initCanvas(NGCanvas.java:531)
at com.sun.javafx.sg.prism.NGCanvas.renderContent(NGCanvas.java:507)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2028)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1937)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1175)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2028)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1937)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2028)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1937)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1175)
at com.sun.javafx.sg.prism.NGNode.renderForClip(NGNode.java:2267)
at com.sun.javafx.sg.prism.NGNode.renderRectClip(NGNode.java:2161)
at com.sun.javafx.sg.prism.NGNode.renderClip(NGNode.java:2187)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2022)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1937)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1175)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2028)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1937)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1175)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2028)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1937)
at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:472)
at com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:331)
at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:88)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:129)
at java.lang.Thread.run(Thread.java:724)
ERROR: unexpected fbo is bound! Expected 1, but found 2
ES2 Vram Pool: 268'299'836 used (99.9%), 268'299'836 managed (99.9%), 268'435'456 total
1287 total resources being managed
1286 permanent resources (99.9%)
1 resources locked (0.1%)
1286 resources contain interesting data (99.9%)
0 resources disappeared (0.0%)
java.lang.NullPointerException
at com.sun.javafx.sg.prism.NGCanvas$RenderBuf.validate(NGCanvas.java:190)
at com.sun.javafx.sg.prism.NGCanvas.initCanvas(NGCanvas.java:531)
at com.sun.javafx.sg.prism.NGCanvas.renderContent(NGCanvas.java:507)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2028)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1937)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1175)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2028)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1937)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2028)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1937)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1175)
at com.sun.javafx.sg.prism.NGNode.renderForClip(NGNode.java:2267)
at com.sun.javafx.sg.prism.NGNode.renderRectClip(NGNode.java:2161)
at com.sun.javafx.sg.prism.NGNode.renderClip(NGNode.java:2187)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2022)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1937)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1175)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2028)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1937)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:225)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1175)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2028)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1937)
at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:472)
at com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:331)
at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:88)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:129)
at java.lang.Thread.run(Thread.java:724)
ERROR: unexpected fbo is bound! Expected 1, but found 2
ES2 Vram Pool: 268'299'836 used (99.9%), 268'299'836 managed (99.9%), 268'435'456 total
1287 total resources being managed
1286 permanent resources (99.9%)
1 resources locked (0.1%)
1286 resources contain interesting data (99.9%)
0 resources disappeared (0.0%)
Attachments
Issue Links
- relates to
-
JDK-8092791 If any code in the rendering pass gets an exception, textures may not be unlocked correctly
-
- Closed
-
-
JDK-8101914 Centralized resource management should use an aging algorithm to prioritize proactive resource limiting
-
- Resolved
-