AHilyard / Iceberg

A library containing events, helpers, and utilities to make modding easier.
Other
23 stars 10 forks source link

1.20.1 Crashes while rendering screen #37

Closed MarkinhosMLP closed 1 year ago

MarkinhosMLP commented 1 year ago
org.spongepowered.asm.mixin.injection.throwables.InjectionError: LVT in net/minecraft/class_332::method_51435(Lnet/minecraft/class_327;Ljava/util/List;IILnet/minecraft/class_8000;)V has incompatible changes at opcode 233 in callback iceberg.mixins.json:GuiGraphicsMixin from mod iceberg->@Inject::storeLocals(Lnet/minecraft/class_327;Ljava/util/List;IILnet/minecraft/class_8000;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;IIIILorg/joml/Vector2ic;)V.
 Expected: [I, I, I, I, Lorg/joml/Vector2ic;]
    Found: [Ljava/lang/Object;, I, I, I, I]
Available: [Ljava/lang/Object;, I, I, I, I, Lorg/joml/Vector2ic;]
    at net.minecraft.class_332.handler$bge000$iceberg$storeLocals$missing(class_332.java)
    at net.minecraft.class_332.method_51435(class_332.java:788)
    at net.minecraft.class_332.method_51447(class_332.java:738)
    at net.minecraft.class_332.method_51434(class_332.java:723)
    at net.minecraft.class_500.method_25394(class_500.java:257)
    at net.minecraft.class_437.method_47413(class_437.java:110)
    at net.minecraft.class_757.method_3192(class_757.java:1405)
    at net.minecraft.class_310.method_1523(class_310.java:1219)
    at net.minecraft.class_310.method_1514(class_310.java:802)
    at net.minecraft.client.main.Main.main(Main.java:250)
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:468)
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
AHilyard commented 1 year ago

Unfortunately this isn't enough information to go off of, could you post the full crash log or latest.log file?

jaimii commented 1 year ago

I encountered a similar problem to this one, did a few tests and narrowed the problem to Optifabric. Yuck, I know.

The game either closes the world or crashes completely when opening options, opening the inventory, opening the mod list through MrCrayfish's Catalogue. The game stops crashing once Optifabric is removed from the mod list. I'm guessing Optifine's GUI rendering code conflicts with Iceberg's.

Here's a comparison between a log file with Optifabric and one without:

nooptifine.log optifine.log

AHilyard commented 1 year ago

Thank you @jaimii, that was enough information for me to be able to add a workaround that prevents the crash when using OptiFabric. The fix is available in the latest version (1.1.13).