-
Bug
-
Resolution: Fixed
-
P2
-
internal
-
jfx-sandbox:metal branch
macOS 14.x or macOS 13.x (both Intel and aarch64)
-
os_x
We get a fatal exception when running any system test (whether or not they are robot tests) on the macOS / metal graphics pipeline, after which the test hangs indefinitely.
To reproduce:
$ gradle --info -PFULL_TEST=true :systemTests:test
...
DefaultExceptionHandlerTest STANDARD_ERROR
RenderJob.run: internal exception
java.lang.UnsatisfiedLinkError: Invalid URL for class: file:/Users/kcr/dev/javafx/jfx-metal/jfx/rt/build/shims/javafx.graphics/com/sun/prism/mtl/MTLContext.class
at javafx.graphics@23-internal/com.sun.prism.mtl.MTLContext.<clinit>(MTLContext.java:127)
at javafx.graphics@23-internal/com.sun.prism.mtl.MTLResourceFactory.<init>(MTLResourceFactory.java:52)
at javafx.graphics@23-internal/com.sun.prism.mtl.MTLPipeline.getResourceFactory(MTLPipeline.java:90)
at javafx.graphics@23-internal/com.sun.prism.mtl.MTLPipeline.getDefaultResourceFactory(MTLPipeline.java:82)
at javafx.graphics@23-internal/com.sun.prism.GraphicsPipeline.getDefaultResourceFactory(GraphicsPipeline.java:155)
at javafx.graphics@23-internal/com.sun.javafx.tk.quantum.QuantumRenderer.lambda$createResourceFactory$2(QuantumRenderer.java:163)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
at javafx.graphics@23-internal/com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at javafx.graphics@23-internal/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:126)
at java.base/java.lang.Thread.run(Thread.java:1583)
To reproduce:
$ gradle --info -PFULL_TEST=true :systemTests:test
...
DefaultExceptionHandlerTest STANDARD_ERROR
RenderJob.run: internal exception
java.lang.UnsatisfiedLinkError: Invalid URL for class: file:/Users/kcr/dev/javafx/jfx-metal/jfx/rt/build/shims/javafx.graphics/com/sun/prism/mtl/MTLContext.class
at javafx.graphics@23-internal/com.sun.prism.mtl.MTLContext.<clinit>(MTLContext.java:127)
at javafx.graphics@23-internal/com.sun.prism.mtl.MTLResourceFactory.<init>(MTLResourceFactory.java:52)
at javafx.graphics@23-internal/com.sun.prism.mtl.MTLPipeline.getResourceFactory(MTLPipeline.java:90)
at javafx.graphics@23-internal/com.sun.prism.mtl.MTLPipeline.getDefaultResourceFactory(MTLPipeline.java:82)
at javafx.graphics@23-internal/com.sun.prism.GraphicsPipeline.getDefaultResourceFactory(GraphicsPipeline.java:155)
at javafx.graphics@23-internal/com.sun.javafx.tk.quantum.QuantumRenderer.lambda$createResourceFactory$2(QuantumRenderer.java:163)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
at javafx.graphics@23-internal/com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at javafx.graphics@23-internal/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:126)
at java.base/java.lang.Thread.run(Thread.java:1583)