Crash when generating .jpeg on OpenJDK 11
MightyKnight opened this issue · 5 comments
Immediate crash happens on server when generating a .jpg file:
java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-11-openjdk-amd64/lib/libjavajpeg.so: libjpeg.so.62: cannot open shared object file: No such file or directory
This only happens with .jpg
files, not with png.
I'm suspecting this to be the Java installation my server host is using, since the mod works fine when I use it locally.
Seems like it OpenJDK may have problems with the image decoding you are using.
Hoping this can be made compatible, since sadly I'm not able to change the java installation on the host I use. I'd ust recently wanted to start using your exeptionally useful mod on the server too.
Crash report | File | Pastebin
---- Minecraft Crash Report ----
// Shall we play a game?
Time: 4/4/21, 9:15 PM
Description: Exception in server tick loop
java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-11-openjdk-amd64/lib/libjavajpeg.so: libjpeg.so.62: cannot open shared object file: No such file or directory
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442)
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498)
at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2648)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
at java.base/java.lang.System.loadLibrary(System.java:1870)
at java.desktop/com.sun.imageio.plugins.jpeg.JPEGImageReader$1.run(JPEGImageReader.java:92)
at java.desktop/com.sun.imageio.plugins.jpeg.JPEGImageReader$1.run(JPEGImageReader.java:90)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/com.sun.imageio.plugins.jpeg.JPEGImageReader.<clinit>(JPEGImageReader.java:89)
at java.desktop/com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi.createReaderInstance(JPEGImageReaderSpi.java:85)
at java.desktop/javax.imageio.spi.ImageReaderSpi.createReaderInstance(ImageReaderSpi.java:320)
at java.desktop/javax.imageio.ImageIO$ImageReaderIterator.next(ImageIO.java:532)
at java.desktop/javax.imageio.ImageIO$ImageReaderIterator.next(ImageIO.java:516)
at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1463)
at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1363)
at space.essem.image2map.Image2Map.lambda$null$1(Image2Map.java:49)
at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:262)
at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:176)
at net.minecraft.class_2170.method_9249(class_2170.java:249)
at net.minecraft.class_3244.method_14370(class_3244.java:1211)
at net.minecraft.class_3244.method_31286(class_3244.java:1198)
at net.minecraft.class_3244.method_12048(class_3244.java:1177)
at net.minecraft.class_2797.method_12115(class_2797.java:36)
at net.minecraft.class_2797.method_11054(class_2797.java:9)
at net.minecraft.class_2600.method_11072(class_2600.java:21)
at net.minecraft.class_3738.run(class_3738.java:18)
at net.minecraft.class_1255.method_18859(class_1255.java:144)
at net.minecraft.class_4093.method_18859(class_4093.java:23)
at net.minecraft.server.MinecraftServer.method_24306(MinecraftServer.java:761)
at net.minecraft.server.MinecraftServer.method_18859(MinecraftServer.java:155)
at net.minecraft.class_1255.method_16075(class_1255.java:118)
at net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:743)
at net.minecraft.server.MinecraftServer.method_16075(MinecraftServer.java:737)
at net.minecraft.class_1255.method_18857(class_1255.java:127)
at net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:722)
at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:674)
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:257)
at java.base/java.lang.Thread.run(Thread.java:834)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- System Details --
Details:
Minecraft Version: 1.16.5
Minecraft Version ID: 1.16.5
Operating System: Linux (amd64) version 5.4.65-1-pve
Java Version: 11.0.7, Debian
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Debian
Memory: 2789140384 bytes (2659 MB) / 3221225472 bytes (3072 MB) up to 3221225472 bytes (3072 MB)
CPUs: 32
JVM Flags: 4 total; -Xms900M -Xmx3072M -Xss2048k -XX:ParallelGCThreads=1
Fabric Mods:
autoconfig1u: Auto Config v1 Updated 3.3.1
fabric: Fabric API 0.32.5+1.16
fabric-api-base: Fabric API Base 0.2.1+9354966b7d
fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.0.0+dc716ea17d
fabric-biome-api-v1: Fabric Biome API (v1) 3.1.1+ca58154a7d
fabric-command-api-v1: Fabric Command API (v1) 1.1.1+351679a77d
fabric-commands-v0: Fabric Commands (v0) 0.2.2+ca58154a7d
fabric-containers-v0: Fabric Containers (v0) 0.1.11+9354966b7d
fabric-content-registries-v0: Fabric Content Registries (v0) 0.2.1+ca58154a7d
fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.3+ca58154a7d
fabric-dimensions-v1: fabric-dimensions-v1 2.0.6+9354966b7d
fabric-entity-events-v1: Fabric Entity Events (v1) 1.0.3+ca58154a7d
fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.2+ca58154a7d
fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.1+ca58154a7d
fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.6+ca58154a7d
fabric-item-api-v1: Fabric Item API (v1) 1.2.1+ca58154a7d
fabric-item-groups-v0: Fabric Item Groups (v0) 0.2.5+351679a77d
fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 1.2.1+ca58154a7d
fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.0.2+ca58154a7d
fabric-mining-levels-v0: Fabric Mining Levels (v0) 0.1.3+ca58154a7d
fabric-networking-api-v1: Fabric Networking API (v1) 1.0.1+ca58154a7d
fabric-networking-blockentity-v0: Fabric Networking Block Entity (v0) 0.2.8+ca58154a7d
fabric-networking-v0: Fabric Networking (v0) 0.3.2+ca58154a7d
fabric-object-builder-api-v1: Fabric Object Builder API (v1) 1.9.4+9354966b7d
fabric-object-builders-v0: Fabric Object Builders (v0) 0.7.2+ca58154a7d
fabric-particles-v1: Fabric Particles (v1) 0.2.4+ca58154a7d
fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.7.4+ca58154a7d
fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.1.5+ca58154a7d
fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.4.2+ca58154a7d
fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.1.5+9354966b7d
fabric-structure-api-v1: Fabric Structure API (v1) 1.1.4+ca58154a7d
fabric-tag-extensions-v0: Fabric Tag Extensions (v0) 1.1.1+ca58154a7d
fabric-tool-attribute-api-v1: Fabric Tool Attribute API (v1) 1.2.6+ca58154a7d
fabricloader: Fabric Loader 0.11.1
image2map: Image2Map 0.2.0
java: OpenJDK 64-Bit Server VM 11
minecraft: Minecraft 1.16.5
Player Count: 1 / 8; [class_3222['[REDACTED]'/31, l='ServerLevel[world]', x=-1301.21, y=44.00, z=261.86]]
Data Packs: vanilla, Fabric Mods
Is Modded: Definitely; Server brand changed to 'fabric'
Type: Dedicated Server (map_server.txt)
Other Information:
- Java: OpenJDK 11.0.7
- Image2Map: 0.2.0
- Fabric Api: 0.32.5
- Fabric loader: 0.11.1
- Minecraft: 1.16.5
Seems that libjpeg is missing on your server, try installing it using your system's package manager.
The issue is that I can't do that. I'm using Host Unlimited for the server, and they only offer restricted FTP access (no access to the full system).
Do you think it would be possible/feasible to ship libjpeg with Image2Map?
I really don't know what to do.
Interesting. Unfortunately I'm not sure if I can bundle libjpeg, since it seems to be a dependency of some of Java's own libraries. It would also be a bit of a pain to build it for nearly every platform out there.
It is a bit concerning that libjpeg isn't on the server already, considering it's a pretty major library used with many applications. Have you tried contacting the hosting company about it?
Good proposition, will create a support ticket there.
On a side note, I was just able to work around it by using the Java 8 option instead of 11. The server provides these two options, and it seems they may focus more on supporting 8, not sure.
I will post an update comment here if I receive an answer.
Essentially, consider the problem solved from your side now.
Big thanks for helping me 🤗, and sorry for bothering you with an issue that isn't even a bug.
no worries, glad you were able to solve your issue :)