Skip to content

[BUG]: Fabric 1.21.11 startup crash with Distant Horizons — GlDevice$ShaderCompilationKey not found #170

Description

@Ghostridr

Before creating an issue, please make sure you have checked the following:

  • This issue does not appear without Chunks Fade In installed.
  • All my mods (not only Chunks Fade In) are up-to-date.
  • Similar issue had not already been reported before in the issue tracker.

What happened?

Minecraft crashes during renderer initialization before the game window finishes opening when Chunks Fade In 3.0.21 and Distant Horizons 3.1.2-b are enabled on Fabric 1.21.11.
The immediate cause is:

java.lang.ExceptionInInitializerError
    at com.mojang.blaze3d.systems.RenderSystem.initRenderer(RenderSystem.java:205)

Caused by: java.lang.ClassNotFoundException:
com.mojang.blaze3d.opengl.GlDevice$ShaderCompilationKey
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
    at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:239)
    at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Unknown Source)
    at net.minecraft.class_10865.<clinit>(class_10865.java:59)

I isolated the exact class-name reference by scanning all enabled mod JARs. The executable reference is inside Chunks Fade In:

FOUND IN: chunksfadein-fabric-3.0.21-1.21.11.jar
  com/koteinik/chunksfadein/compat/dh/mixin/blaze/GlDeviceMixin.class

The same string also appears in UniLib's mappings.srg, but that appears to be mapping metadata rather than executable mixin bytecode.

The Distant Horizons compatibility mixin appears to be using or reflectively loading this hard-coded Mojang class name:

com.mojang.blaze3d.opengl.GlDevice$ShaderCompilationKey

That name cannot be resolved in this Fabric production runtime, where the affected Minecraft classes are loaded under intermediary names.

Disabling Chunks Fade In allows the client to start. The crash persists with Iris and GPUBooster both disabled, which rules them out as the direct cause, the initial suspected culprits.

Steps to reproduce

  1. Create a Fabric 1.21.11 client instance.
  2. Install Fabric Loader 0.19.3.
  3. Install Fabric API 0.141.4+1.21.11.
  4. Install Chunks Fade In 3.0.21 for Fabric 1.21.11.
  5. Install Distant Horizons 3.1.2-b for Fabric/NeoForge 1.21.11.
  6. Launch Minecraft.
  7. The client crashes during RenderSystem.initRenderer with:
  • ClassNotFoundException: com.mojang.blaze3d.opengl.GlDevice$ShaderCompilationKey
  1. Disable Chunks Fade In and launch again.
  2. The startup crash no longer occurs.

Environment

Minecraft: 1.21.11
Fabric Loader: 0.19.3
Fabric API: 0.141.4+1.21.11
Chunks Fade In: 3.0.21-1.21.11
Distant Horizons: 3.1.2-b-1.21.11
Sodium: 0.8.13-beta.1+mc1.21.11
ImmediatelyFast: 1.14.2+1.21.11
Java: Eclipse Temurin 21.0.10, x86_64
Launcher: Prism Launcher 11.0.2
Operating system: macOS 26.5.1, Intel
GPU: AMD Radeon Pro 5500M

Additional isolation performed

  • Tested with Iris disabled.
  • Tested with GPUBooster disabled.
  • Tested with Iris and GPUBooster disabled simultaneously.
  • The identical crash occurred in all configurations while Chunks Fade In remained enabled.
  • Scanned all enabled JARs for the exact missing class name.
  • The executable match was found in Chunks Fade In's Distant Horizons GlDeviceMixin.class.
  • Disabling Chunks Fade In resolves the startup crash.

Logs

latest.log

Crash Report

crash-2026-06-22_18.33.37-client.txt

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions