Universal Graves requires full (graphical) JVM on server
gniftygnome opened this issue ยท 6 comments
This might be a wontfix but I figured I would ask ... It seems like Universal Graves tries to initialize some GUI code on the server which requires the full (not headless) JVM. I don't like having a bunch of unused graphical environment installed on the server.
OpenJDK headless JRE 17.0.1+12-1+deb11u2
Minecraft 1.18.1
Fabric Loader 0.12.12
fabric-api-0.45.1+1.18.jar
graves-2.0.0-beta.3+1.18.jar
(and lots of other mods)
java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'universal-graves'!
[...]
Caused by: java.lang.UnsatisfiedLinkError: Can't load library: /usr/lib/jvm/java-17-openjdk-amd64/lib/libawt_xawt.so
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:2393) ~[?:?]
[...]
at javax.imageio.ImageIO.<clinit>(ImageIO.java:66) ~[?:?]
at eu.pb4.graves.GenericModInfo.build(GenericModInfo.java:24) ~[graves-2.0.0-beta.3+1.18.jar:?]
at eu.pb4.graves.GravesMod.onInitialize(GravesMod.java:38) ~[graves-2.0.0-beta.3+1.18.jar:?]
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47) ~[fabric-loader-0.12.12.jar:?]
Full log:
graves-crash.log
Hmm, it's not catched by try {} catch
sadly. Technically it's not required for mod to function, through ideally you should have these (as other mods might require them). I used ImageIO since it was described to work in headless jvm
described to work in headless jvm
That's a bummer. I vaguely recall there have been some builds of the headless JVM in earlier Java versions that included some of AWT because of things like printing. So it could be a "somewhat true" statement.
Oh I meant to say, about other mods requiring it, of course that's true. However FWIW I've got quite a few on the server and so far only Universal Graves mod has crashed for this reason.
Not when using builds of OpenJDK that split it into GUI/non-GUI components. I've been running modded Minecraft servers for years now without the graphical JVM components. But thanks for considering it. I've gone back to the somewhat less featureful Graves datapack from Vanilla Tweaks.