IrisShaders / Iris

A modern shaders mod for Minecraft compatible with existing OptiFine shader packs
https://irisshaders.dev
GNU Lesser General Public License v3.0
3.37k stars 639 forks source link

redirect conflict beforeGenerateMipLevels when already redirected by iris causes crash #1989

Closed velocityraptor-real closed 1 year ago

velocityraptor-real commented 1 year ago

Minecraft Version

1.19.4

Iris Version

iris-mc1.19.4-1.6.1

Sodium Version

sodium-fabric-mc1.19.4-0.4.11+build26

Operating System

Linux Ubuntu

What is your GPU?

NVIDIA GeForce GTX 1050 Ti

Java Version

Java 17

Reproduction Steps

  1. Try to load game with Sodium and Iris installed in a highly modded environment (including sodium extra, indium, fastload, ...)
  2. experience crash during game loading
  3. Load game, but with Iris disabled
  4. experiance game successfully loading

Crash Report file and latest.log

[14:18:54] [Worker-Main-2/WARN]: @Redirect conflict. Skipping sodium.mixins.json:features.mipmaps.MixinSpriteContents from mod sodium->@Redirect::sodium$beforeGenerateMipLevels(Lnet/minecraft/class_7764;Lnet/minecraft/class_1011;Lnet/minecraft/class_2960;)V with priority 1000, already redirected by mixins.iris.bettermipmaps.json:MixinTextureAtlasSprite from mod iris->@Redirect::iris$beforeGenerateMipLevels(Lnet/minecraft/class_7764;Lnet/minecraft/class_1011;Lnet/minecraft/class_2960;)V with priority 1000
[14:18:54] [Worker-Main-2/WARN]: @Redirect conflict. Skipping sodium.mixins.json:features.mipmaps.MixinSpriteContents from mod sodium->@Redirect::sodium$beforeGenerateMipLevels(Lnet/minecraft/class_7764;Lnet/minecraft/class_1011;Lnet/minecraft/class_2960;)V with priority 1000, already redirected by mixins.iris.bettermipmaps.json:MixinTextureAtlasSprite from mod iris->@Redirect::iris$beforeGenerateMipLevels(Lnet/minecraft/class_7764;Lnet/minecraft/class_1011;Lnet/minecraft/class_2960;)V with priority 1000
[14:18:54] [Render thread/INFO]: [MemoryLeakFix] Attempting to ForceLoad All Mixins and clear cache
[14:18:55] [Render thread/INFO]: Mixing server.MixinServerboundChatCommandPacket from mixins/common/nochatreports.mixins.json into net.minecraft.class_7472
[14:18:55] [Render thread/INFO]: Mixing client.MixinGuiMessageTag from mixins/common/nochatreports.mixins.json into net.minecraft.class_7591
[14:18:55] [Render thread/INFO]: Mixing server.MixinServerboundChatPacket from mixins/common/nochatreports.mixins.json into net.minecraft.class_2797
[14:18:55] [Render thread/INFO]: Mixing client.MixinOnlineServerEntry from mixins/common/nochatreports.mixins.json into net.minecraft.class_4267$class_4270
[14:18:55] [Render thread/INFO]: Renaming synthetic method lambda$onRender$0()Ljava/util/ArrayList; to md0a2283$nochatreports$lambda$onRender$0$0 in mixins/common/nochatreports.mixins.json:client.MixinOnlineServerEntry from mod nochatreports
[14:18:55] [Render thread/ERROR]: Unhandled game exception
java.lang.NoClassDefFoundError: me/jellysquid/mods/sodium/client/render/vertex/VertexFormatRegistry
    at net.coderbot.iris.compat.sodium.impl.vertex_format.entity_xhfp.GlyphVertexExt.<clinit>(GlyphVertexExt.java:21) ~[iris-mc1.19.4-1.6.1.jar:?]
    at java.lang.Class.forName0(Native Method) ~[?:?]
    at java.lang.Class.forName(Class.java:467) ~[?:?]
    at net.fabricmc.loader.impl.launch.knot.MixinServiceKnot.findClass(MixinServiceKnot.java:96) ~[fabric-loader-0.14.19.jar:?]
    at org.spongepowered.asm.mixin.transformer.MixinProcessor.audit(MixinProcessor.java:254) ~[sponge-mixin-0.12.4+mixin.0.8.5.jar:0.12.4+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.MixinTransformer.audit(MixinTransformer.java:171) ~[sponge-mixin-0.12.4+mixin.0.8.5.jar:0.12.4+mixin.0.8.5]
    at org.spongepowered.asm.mixin.MixinEnvironment.audit(MixinEnvironment.java:1425) ~[sponge-mixin-0.12.4+mixin.0.8.5.jar:0.12.4+mixin.0.8.5]
    at ca.fxco.memoryleakfix.fabric.MemoryLeakFixFabric.internalForceLoadAllMixinsAndClearSpongePoweredCache(MemoryLeakFixFabric.java:40) ~[memoryleakfix-fabric-1.17+-1.0.0.jar:?]
    at ca.fxco.memoryleakfix.fabric.MemoryLeakFixFabric.forceLoadAllMixinsAndClearSpongePoweredCache(MemoryLeakFixFabric.java:32) ~[memoryleakfix-fabric-1.17+-1.0.0.jar:?]
    at net.minecraft.class_310.handler$end000$memoryleakfix$memoryLeakFix$loadAllMixinsClientSide(class_310.java:22507) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1514(class_310.java) ~[client-intermediary.jar:?]
    at net.minecraft.client.main.Main.main(Main.java:237) ~[minecraft-1.19.4-client.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:462) ~[fabric-loader-0.14.19.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.14.19.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.14.19.jar:?]
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:88) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:126) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:71) ~[NewLaunch.jar:?]
Caused by: java.lang.ClassNotFoundException: me.jellysquid.mods.sodium.client.render.vertex.VertexFormatRegistry
    at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[?:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:226) ~[fabric-loader-0.14.19.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:112) ~[fabric-loader-0.14.19.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
    ... 18 more
[14:18:55] [Render thread/INFO]: Stopping!
[14:18:55] [Render thread/INFO]: Loading Xaero's World Map - Stage 2/2
[14:18:56] [Render thread/INFO]: New world map region cache hash code: 1576996253
[14:18:56] [Render thread/INFO]: Xaero's WorldMap Mod: Xaero's minimap found!
[14:18:56] [Render thread/INFO]: No Optifine!
[14:18:56] [Render thread/INFO]: Xaero's World Map: No Vivecraft!
[14:18:56] [Render thread/INFO]: Xaero's World Map: Iris found!
[14:18:56] [Render thread/WARN]: getErrorETFTexture() was called, investigate this if called more than once
[14:18:56] [Render thread/INFO]: emissive suffixes loaded: {_e}
[14:18:56] [Render thread/INFO]: emissive suffixes loaded: {_e}
[14:18:56] [Render thread/INFO]: [FastQuit] Exiting FastQuit.
[14:18:56] [Render thread/WARN]: @Redirect conflict. Skipping sodium.mixins.json:features.mipmaps.MixinSpriteContents from mod sodium->@Redirect::sodium$beforeGenerateMipLevels(Lnet/minecraft/class_7764;Lnet/minecraft/class_1011;Lnet/minecraft/class_2960;)V with priority 1000, already redirected by mixins.iris.bettermipmaps.json:MixinTextureAtlasSprite from mod iris->@Redirect::iris$beforeGenerateMipLevels(Lnet/minecraft/class_7764;Lnet/minecraft/class_1011;Lnet/minecraft/class_2960;)V with priority 1000
[14:18:56] [Render thread/ERROR]: Shutdown failure!
java.lang.BootstrapMethodError: java.lang.RuntimeException: Mixin transformation of net.minecraft.class_7764 failed
    at net.minecraft.class_1059.method_4601(class_1059.java:151) ~[client-intermediary.jar:?]
    at net.minecraft.class_4724$class_7772.close(class_4724.java:75) ~[client-intermediary.jar:?]
    at java.util.HashMap$Values.forEach(HashMap.java:1065) ~[?:?]
    at net.minecraft.class_4724.close(class_4724.java:33) ~[client-intermediary.jar:?]
    at net.minecraft.class_1092.close(class_1092.java:218) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.close(class_310.java:1129) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1490(class_310.java:1112) ~[client-intermediary.jar:?]
    at net.minecraft.client.main.Main.main(Main.java:253) ~[minecraft-1.19.4-client.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:462) ~[fabric-loader-0.14.19.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.14.19.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.14.19.jar:?]
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:88) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:126) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:71) ~[NewLaunch.jar:?]
Caused by: java.lang.RuntimeException: Mixin transformation of net.minecraft.class_7764 failed
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:427) ~[fabric-loader-0.14.19.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.14.19.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.14.19.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:112) ~[fabric-loader-0.14.19.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
    ... 14 more
Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
    at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392) ~[sponge-mixin-0.12.4+mixin.0.8.5.jar:0.12.4+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.12.4+mixin.0.8.5.jar:0.12.4+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.12.4+mixin.0.8.5.jar:0.12.4+mixin.0.8.5]
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422) ~[fabric-loader-0.14.19.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.14.19.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.14.19.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:112) ~[fabric-loader-0.14.19.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
    ... 14 more
Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Redirector sodium$beforeGenerateMipLevels(Lnet/minecraft/class_7764;Lnet/minecraft/class_1011;Lnet/minecraft/class_2960;)V in sodium.mixins.json:features.mipmaps.MixinSpriteContents from mod sodium failed injection check, (0/1) succeeded. Scanned 1 target(s). Using refmap mixins.sodium.refmap.json
    at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.postInject(InjectionInfo.java:468) ~[sponge-mixin-0.12.4+mixin.0.8.5.jar:0.12.4+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1385) ~[sponge-mixin-0.12.4+mixin.0.8.5.jar:0.12.4+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:1062) ~[sponge-mixin-0.12.4+mixin.0.8.5.jar:0.12.4+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:402) ~[sponge-mixin-0.12.4+mixin.0.8.5.jar:0.12.4+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:327) ~[sponge-mixin-0.12.4+mixin.0.8.5.jar:0.12.4+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:421) ~[sponge-mixin-0.12.4+mixin.0.8.5.jar:0.12.4+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403) ~[sponge-mixin-0.12.4+mixin.0.8.5.jar:0.12.4+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[sponge-mixin-0.12.4+mixin.0.8.5.jar:0.12.4+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.12.4+mixin.0.8.5.jar:0.12.4+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.12.4+mixin.0.8.5.jar:0.12.4+mixin.0.8.5]
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422) ~[fabric-loader-0.14.19.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.14.19.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.14.19.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:112) ~[fabric-loader-0.14.19.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
    ... 14 more
Process exited with code 0.

Additional context

No response

purple512 commented 1 year ago

Sodium 0.4.11 requires Iris 1.6.2.

velocityraptor-real commented 1 year ago

Issue solved. Prism launcher did not detect mod update, so I thought iris 1.6.1 was the latest version