JDK-8314729 : java.lang.InternalError: Error loading stock shader FillPgram_Color on Pop!_OS
  • Type: Bug
  • Component: javafx
  • Sub-Component: base
  • Affected Version: jfx20
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: linux_debian_3.0
  • CPU: x86_64
  • Submitted: 2023-08-18
  • Updated: 2023-08-22
  • Resolved: 2023-08-22
Related Reports
Duplicate :  
Description
ADDITIONAL SYSTEM INFORMATION :
Pop!_OS 22.04 LTS (NVidia drivers)
64 bits Intel
GraalVM 20.0.1
JavaFX 20.0.1

A DESCRIPTION OF THE PROBLEM :
A user recently reported an issue with having a white screen when opening my JavaFX application. (Full discussion can be found at https://github.com/xpipe-io/xpipe/issues/65)

When the following properties are set:
            System.setProperty("prism.verbose", "true");
            System.setProperty("prism.debug", "true");
            System.setProperty("prism.trace", "true");

This is the output:
11:16:26:539 - info: ES2ResourceFactory: Prism - createStockShader: FillPgram_Color.frag
11:16:26:542 - error: java.lang.reflect.InvocationTargetException
11:16:26:542 - error:   at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119)
11:16:26:542 - error:   at java.base/java.lang.reflect.Method.invoke(Method.java:578)
11:16:26:542 - error:   at javafx.graphics@20.0.1/com.sun.prism.es2.ES2ResourceFactory.createStockShader(ES2ResourceFactory.java:324)
11:16:26:542 - error:   at javafx.graphics@20.0.1/com.sun.prism.impl.ps.BaseShaderContext.getPaintShader(BaseShaderContext.java:269)
11:16:26:542 - error:   at javafx.graphics@20.0.1/com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:500)
11:16:26:542 - error:   at javafx.graphics@20.0.1/com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:369)
11:16:26:542 - error:   at javafx.graphics@20.0.1/com.sun.prism.impl.ps.BaseShaderGraphics.renderGeneralRoundedPgram(BaseShaderGraphics.java:927)
11:16:26:542 - error:   at javafx.graphics@20.0.1/com.sun.prism.impl.ps.BaseShaderGraphics.renderGeneralRoundedRect(BaseShaderGraphics.java:628)
11:16:26:543 - error:   at javafx.graphics@20.0.1/com.sun.prism.impl.ps.BaseShaderGraphics.fillRect(BaseShaderGraphics.java:1535)
11:16:26:543 - error:   at javafx.graphics@20.0.1/com.sun.javafx.sg.prism.NGRegion.renderBackgroundRectanglesDirectly(NGRegion.java:1112)
11:16:26:543 - error:   at javafx.graphics@20.0.1/com.sun.javafx.sg.prism.NGRegion.renderBackgroundRectangle(NGRegion.java:852)
11:16:26:543 - error:   at javafx.graphics@20.0.1/com.sun.javafx.sg.prism.NGRegion.renderAsRectangle(NGRegion.java:754)
11:16:26:543 - error:   at javafx.graphics@20.0.1/com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:575)
11:16:26:543 - error:   at javafx.graphics@20.0.1/com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2074)
11:16:26:543 - error:   at javafx.graphics@20.0.1/com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1966)
11:16:26:543 - error:   at javafx.graphics@20.0.1/com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:480)
11:16:26:543 - error:   at javafx.graphics@20.0.1/com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:329)
11:16:26:543 - error:   at javafx.g11:16:26:876 - error: java.lang.reflect.InvocationTargetException
11:16:26:877 - error:   at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119)
11:16:26:877 - error:   at java.base/java.lang.reflect.Method.invoke(Method.java:578)
11:16:26:877 - error:   at javafx.graphics@20.0.1/com.sun.prism.es2.ES2ResourceFactory.createStockShader(ES2ResourceFactory.java:324)
11:16:26:877 - error:   at javafx.graphics@20.0.1/com.sun.prism.impl.ps.BaseShaderContext.getPaintShader(BaseShaderContext.java:269)
11:16:26:877 - error:   at javafx.graphics@20.0.1/com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:500)
11:16:26:877 - error:   at javafx.graphics@20.0.1/com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:369)
11:16:26:878 - error:   at javafx.graphics@20.0.1/com.sun.prism.impl.ps.BaseShaderGraphics.renderGeneralRoundedPgram(BaseShaderGraphics.java:927)
11:16:26:878 - error:   at javafx.graphics@20.0.1/com.sun.prism.impl.ps.BaseShaderGraphics.renderGeneralRoundedRect(BaseShaderGraphics.java:628)
11:16:26:878 - error:   at javafx.graphics@20.0.1/com.sun.prism.impl.ps.BaseShaderGraphics.fillRect(BaseShaderGraphics.java:1535)
11:16:26:878 - error:   at javafx.graphics@20.0.1/com.sun.javafx.sg.prism.NGRegion.renderBackgroundRectanglesDirectly(NGRegion.java:1112)
11:16:26:878 - error:   at javafx.graphics@20.0.1/com.sun.javafx.sg.prism.NGRegion.renderBackgroundRectangle(NGRegion.java:852)
11:16:26:878 - error:   at javafx.graphics@20.0.1/com.sun.javafx.sg.prism.NGRegion.renderAsRectangle(NGRegion.java:754)
11:16:26:878 - error:   at javafx.graphics@20.0.1/com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:575)
11:16:26:878 - error:   at javafx.graphics@20.0.1/com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2074)
11:16:26:878 - error:   at javafx.graphics@20.0.1/com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1966)
11:16:26:878 - error:   at javafx.graphics@20.0.1/com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:480)
11:16:26:878 - error:   at javafx.graphics@20.0.1/com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:329)
11:16:26:879 - error:   at javafx.graphics@20.0.1/com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:92)
11:16:26:879 - error:   at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
11:16:26:879 - error:   at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
11:16:26:879 - error:   at javafx.graphics@20.0.1/com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
11:16:26:879 - error:   at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
11:16:26:879 - error:   at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
11:16:26:879 - error:   at javafx.graphics@20.0.1/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:126)
11:16:26:879 - error:   at java.base/java.lang.Thread.run(Thread.java:1623)
11:16:26:879 - error: Caused by: java.lang.RuntimeException: Error creating vertex shader
11:16:26:879 - error:   at javafx.graphics@20.0.1/com.sun.prism.es2.ES2Shader.createFromSource(ES2Shader.java:132)
11:16:26:879 - error:   at javafx.graphics@20.0.1/com.sun.prism.es2.ES2Shader.createFromSource(ES2Shader.java:173)
11:16:26:879 - error:   at javafx.graphics@20.0.1/com.sun.prism.es2.ES2ResourceFactory.createShader(ES2ResourceFactory.java:235)
11:16:26:880 - error:   at javafx.graphics@20.0.1/com.sun.prism.shader.FillPgram_Color_Loader.loadShader(FillPgram_Color_Loader.java:47)
11:16:26:880 - error:   at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
11:16:26:880 - error:   ... 24 moreraphics@20.0.1/com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:92)
11:16:26:543 - error:   at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
11:16:26:543 - error:   at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
11:16:26:543 - error:   at javafx.graphics@20.0.1/com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
11:16:26:544 - error:   at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
11:16:26:544 - error:   at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
11:16:26:544 - error:   at javafx.graphics@20.0.1/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:126)
11:16:26:544 - error:   at java.base/java.lang.Thread.run(Thread.java:1623)
11:16:26:544 - error: Caused by: java.lang.RuntimeException: Error creating vertex shader
11:16:26:544 - error:   at javafx.graphics@20.0.1/com.sun.prism.es2.ES2Shader.createFromSource(ES2Shader.java:132)
11:16:26:544 - error:   at javafx.graphics@20.0.1/com.sun.prism.es2.ES2Shader.createFromSource(ES2Shader.java:173)
11:16:26:544 - error:   at javafx.graphics@20.0.1/com.sun.prism.es2.ES2ResourceFactory.createShader(ES2ResourceFactory.java:235)
11:16:26:544 - error:   at javafx.graphics@20.0.1/com.sun.prism.shader.FillPgram_Color_Loader.loadShader(FillPgram_Color_Loader.java:47)
11:16:26:544 - error:   at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
11:16:26:544 - error:   ... 24 more
...
11:16:26:880 - error: java.lang.InternalError: Error loading stock shader FillPgram_Color
11:16:26:880 - error:   at javafx.graphics@20.0.1/com.sun.prism.es2.ES2ResourceFactory.createStockShader(ES2ResourceFactory.java:327)
11:16:26:880 - error:   at javafx.graphics@20.0.1/com.sun.prism.impl.ps.BaseShaderContext.getPaintShader(BaseShaderContext.java:269)
11:16:26:880 - error:   at javafx.graphics@20.0.1/com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:500)
11:16:26:880 - error:   at javafx.graphics@20.0.1/com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:369)
11:16:26:880 - error:   at javafx.graphics@20.0.1/com.sun.prism.impl.ps.BaseShaderGraphics.renderGeneralRoundedPgram(BaseShaderGraphics.java:927)
11:16:26:880 - error:   at javafx.graphics@20.0.1/com.sun.prism.impl.ps.BaseShaderGraphics.renderGeneralRoundedRect(BaseShaderGraphics.java:628)
11:16:26:880 - error:   at javafx.graphics@20.0.1/com.sun.prism.impl.ps.BaseShaderGraphics.fillRect(BaseShaderGraphics.java:1535)
11:16:26:881 - error:   at javafx.graphics@20.0.1/com.sun.javafx.sg.prism.NGRegion.renderBackgroundRectanglesDirectly(NGRegion.java:1112)
11:16:26:881 - error:   at javafx.graphics@20.0.1/com.sun.javafx.sg.prism.NGRegion.renderBackgroundRectangle(NGRegion.java:852)
11:16:26:881 - error:   at javafx.graphics@20.0.1/com.sun.javafx.sg.prism.NGRegion.renderAsRectangle(NGRegion.java:754)
11:16:26:881 - error:   at javafx.graphics@20.0.1/com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:575)
11:16:26:881 - error:   at javafx.graphics@20.0.1/com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2074)
11:16:26:881 - error:   at javafx.graphics@20.0.1/com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1966)
11:16:26:881 - error:   at javafx.graphics@20.0.1/com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:480)
11:16:26:881 - error:   at javafx.graphics@20.0.1/com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:329)
11:16:26:881 - error:   at javafx.graphics@20.0.1/com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:92)
11:16:26:881 - error:   at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
11:16:26:881 - error:   at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
11:16:26:881 - error:   at javafx.graphics@20.0.1/com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
11:16:26:882 - error:   at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
11:16:26:882 - error:   at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
11:16:26:882 - error:   at javafx.graphics@20.0.1/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:126)
11:16:26:882 - error:   at java.base/java.lang.Thread.run(Thread.java:1623)

Everything works fine on basically any system that I have tested with so I sadly can't reproduce the issue myself. In this case, it works with hardware acceleration disabled for the user.


FREQUENCY : always



Comments
This is likely graphics driver problem. Duplicates to JDK-8276172
22-08-2023