AdoptOpenJDK/jitwatch

Latest JitWatch UI fails with no suitable pipeline found error.

sureshg opened this issue · 3 comments

Thanks for this awesome tool. I was trying to use the latest version (https://github.com/AdoptOpenJDK/jitwatch/releases/tag/1.4.0), but fails with the following error on Mac

Mac OS: 10.15.7
$  java -version  
openjdk version "11.0.9" 2020-10-20
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.9+11)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9+11, mixed mode)
$  java -jar jitwatch-ui-1.4.0-shaded.jar                                                                                                                               
Graphics Device initialization failed for :  es2, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
	at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
	at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:244)
	at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:261)
	at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
	at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
	at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
	at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
	at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
	... 1 more
Exception in thread "main" java.lang.RuntimeException: No toolkit found
	at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:273)
	at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
	at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
	at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
	at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
	at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
	at java.base/java.lang.Thread.run(Thread.java:834)

Something related to packaging as per this issue - javafxports/openjdk-jfx#237

Confirmed, same on my Mac. Investigating.

Looks like maven shade plugin created a fat jar for the system it was built on (Linux) so stripped the Mac JavaFX dependencies.

This post has a couple of solutions - build a download for each platform or make an oversized cross-platform jar. https://stackoverflow.com/questions/52653836/maven-shade-javafx-runtime-components-are-missing

Will test out both and make a 1.4.1 release ASAP.

Thanks for reporting!

Fixed, there are now platform specific jars for Linux, Mac, and Windows.