mojira.dev

Dāvis Mosāns

Assigned

No issues.

Reported

MC-210887 Game launch crashes on Linux with Unicode home folder/username Fixed

Comments

The issue is that it can't find GLFW library. For some reason it messes up Unicode path.

Tested that it still crashes with latest available snapshot  1.18-pre1

 

java.lang.ExceptionInInitializerError
    at dxf.<init>(SourceFile:163)
    at dxb.<init>(SourceFile:456)
    at net.minecraft.client.main.Main.main(SourceFile:197)
Caused by: java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: Failed to dynamically load library: /home/Dāvis/.minecraft/bin/eb1d-162c-8209-f124/libglfw.so(error = /home/Dvis/.minecraft/bin/eb1d-162c-8209-f124/libglfw.so: cannot open shared object file: No such file or directory)
    at dqs.<clinit>(SourceFile:46)
    ... 3 more
Caused by: java.lang.UnsatisfiedLinkError: Failed to dynamically load library: /home/Dāvis/.minecraft/bin/eb1d-162c-8209-f124/libglfw.so(error = /home/Dvis/.minecraft/bin/eb1d-162c-8209-f124/libglfw.so: cannot open shared object file: No such file or directory)
    at org.lwjgl.system.linux.LinuxLibrary.loadLibrary(LinuxLibrary.java:32)
    at org.lwjgl.system.linux.LinuxLibrary.<init>(LinuxLibrary.java:19)
    at org.lwjgl.system.APIUtil.apiCreateLibrary(APIUtil.java:123)
    at org.lwjgl.system.Library.loadNative(Library.java:335)
    at org.lwjgl.system.Library.loadNative(Library.java:281)
    at org.lwjgl.system.Library.loadNative(Library.java:205)
    at org.lwjgl.glfw.GLFW.<clinit>(GLFW.java:674)
    at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)
    at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1155)
    at java.base/java.lang.invoke.DirectMethodHandle$EnsureInitialized.computeValue(DirectMethodHandle.java:378)
    at java.base/java.lang.invoke.DirectMethodHandle$EnsureInitialized.computeValue(DirectMethodHandle.java:375)
    at java.base/java.lang.ClassValue.getFromHashMap(ClassValue.java:228)
    at java.base/java.lang.ClassValue.getFromBackup(ClassValue.java:210)
    at java.base/java.lang.ClassValue.get(ClassValue.java:116)
    at java.base/java.lang.invoke.DirectMethodHandle.checkInitialized(DirectMethodHandle.java:401)
    at java.base/java.lang.invoke.DirectMethodHandle.ensureInitialized(DirectMethodHandle.java:389)
    at java.base/java.lang.invoke.DirectMethodHandle.ensureInitialized(DirectMethodHandle.java:423)
    at dqs.<clinit>(SourceFile:43)
    ... 3 more

 

 

When using different launcher with 1.17.1

 

Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.lwjgl.glfw.GLFW
    at com.mojang.blaze3d.platform.GLX.getOpenGLVersionString(SourceFile:35)
    at com.mojang.blaze3d.systems.RenderSystem.getApiDescription(SourceFile:770)
    at ac.a(SourceFile:65)
    at dvp.a(SourceFile:2418)
    at dvp.a(SourceFile:2412)
    at net.minecraft.client.main.Main.main(SourceFile:187)

 

 

There is a workaround. MultiMC launcher allows to use system's GLFW library instead of bundled one. Enabling that option /usr/lib/libglfw.so will be used instead which will load fine and everything will work 🙂