Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-261785

MC Doesn't launch on Linux if /tmp is a noexec filesystem

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Awaiting Response
    • None
    • 1.19.4
    • None
    • Bundled Java runtime
    • Unconfirmed
    • (Unassigned)

      It seems that the launcher is copying some .so files to /tmp (specifically the liblwjgl shared objects in this case) and then loading them from this location. If /tmp is a noexec filesystem then MC fails to launch, giving the error...

      [20:34:55] [Datafixer Bootstrap/INFO]: 180 Datafixer optimizations took 105 milliseconds
      [20:34:56] [Render thread/INFO]: [STDERR]: java.lang.NoClassDefFoundError: Could not initialize class com.mojang.blaze3d.systems.RenderSystem
      [20:34:56] [Render thread/INFO]: [STDERR]: at ab.a(SourceFile:66)
      [20:34:56] [Render thread/INFO]: [STDERR]: at emh.a(SourceFile:2424)
      [20:34:56] [Render thread/INFO]: [STDERR]: at emh.a(SourceFile:2419)
      [20:34:56] [Render thread/INFO]: [STDERR]: at net.minecraft.client.main.Main.main(SourceFile:207)
      

      This error is slightly vague but capturing an strace output indicates the underlying issue...

      14501 openat(AT_FDCWD, "/tmp/lwjgluser/3.3.1-build-7/liblwjgl.so", O_RDONLY|O_CLOEXEC) = 121
      
      ...(unrelated lines omitted)...
      
      14501 mmap(0x7f15aee00000, 2537472, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 121, 0) = -1 EPERM (Operation not permitted)
      

      This shows that MC is attempting to load liblwjgl.so from /tmp/... and failing.

      WORKAROUND

      • Create/use a folder somewhere on a filesystem that doesn't have the noexec flag set, e.g. /home/user/.local/tmp
      • Add the following to the JVM arguments in the MC launcher
        -Djava.io.tmpdir=/home/user/.local/tmp
        

            Unassigned Unassigned
            is_fundamental is_fundamental
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: