Sodium

Sodium

35M Downloads

MixinBakedQuad method failing to bake models.

TempUser13 opened this issue ยท 12 comments

commented

Expected Behavior

The models of the mods bake correctly.

Actual Behavior

Many models including vanilla models are unable to be baked correctly.

Reproduction Steps

Launch the game with multiple mods with Sodium 0.1 on Fabric 0.11.3 Minecraft 1.16.5,
Look at the log and wait for the bake stage to occur.

I personally see this,

[00:56:47] [main/WARN]: Method overwrite conflict for getSprite in computercraft.mixins.json:BakedQuadAccess, previously written by me.jellysquid.mods.sodium.mixin.pipeline.MixinBakedQuad. Skipping method.
[00:56:47] [main/WARN]: Method overwrite conflict for getSprite in xaerominimap.mixins.json:MixinBakedQuad, previously written by me.jellysquid.mods.sodium.mixin.pipeline.MixinBakedQuad. Skipping method.
[00:56:47] [main/WARN]: Method overwrite conflict for getSprite in ctm.mixins.json:BakedQuadAccessor, previously written by me.jellysquid.mods.sodium.mixin.pipeline.MixinBakedQuad. Skipping method.
[00:56:47] [main/WARN]: Method overwrite conflict for getSprite in appliedenergistics2.mixins.json:unlitquad.BakedQuadAccessor, previously written by me.jellysquid.mods.sodium.mixin.pipeline.MixinBakedQuad. Skipping method.
[00:56:47] [main/WARN]: Method overwrite conflict for getSprite in truerooms.mixins.json:AccessibleBakedQuad, previously written by me.jellysquid.mods.sodium.mixin.pipeline.MixinBakedQuad. Skipping method.
[00:56:47] [main/WARN]: Method overwrite conflict for getSprite in xaeroworldmap.mixins.json:MixinBakedQuad, previously written by me.jellysquid.mods.sodium.mixin.pipeline.MixinBakedQuad. Skipping method.

Followed by (random examples but all throw the same error of java.lang.NullPointerException)

[00:56:48] [main/WARN]: Unable to bake model: 'minecraft:ravager_spawn_egg#inventory': java.lang.NullPointerException
[00:56:48] [main/WARN]: Unable to bake model: 'indrev:cable_mk3#up=true,west=true,covered=false,south=true,down=true,north=true,east=false': java.lang.NullPointerException
[00:56:48] [main/WARN]: Unable to bake model: 'appliedenergistics2:cable_bus#light_level=8': java.lang.NullPointerException

General Information

  • Java Version: Java is version 1.8.0_51, using 64-bit architecture. (Using the bundled Java Runtime from the Official Minecraft Launcher)
  • CPU: Intel i5 - 7600k
  • GPU: Nvidia 1060 6GB
  • Launcher: MultiMC 0.6.11-1430
  • Minecraft Version: 1.16.5
  • Fabric Version: 0.11.3
  • Sodium Version: 0.1

Apologies in advanced if this isn't enough information, thank you for all of the work you do.

(Update: forgot a closing bracket)

commented

I found something else, having Sodium and Indium loaded, I can't load my non important world.

[03:42:58] [main/FATAL]: Mixin apply failed indium.mixins.json:sodium.MixinWorldSlice -> me.jellysquid.mods.sodium.client.world.WorldSlice: org.spongepowered.asm.mixin.transformer.throwables.InvalidMixinException @Shadow field chunks was not located in the target class me.jellysquid.mods.sodium.client.world.WorldSlice. No refMap loaded.
org.spongepowered.asm.mixin.transformer.throwables.InvalidMixinException: @Shadow field chunks was not located in the target class me.jellysquid.mods.sodium.client.world.WorldSlice. No refMap loaded.
	at Not Enough Crashes deobfuscated stack trace.(1.16.5+build.5) ~[?:?]
	at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.attachFields(MixinPreProcessorStandard.java:610) ~[sponge-mixin-0.9.2+mixin.0.8.2.jar:0.9.2+mixin.0.8.2]
	at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.attach(MixinPreProcessorStandard.java:289) ~[sponge-mixin-0.9.2+mixin.0.8.2.jar:0.9.2+mixin.0.8.2]
	at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.createContextFor(MixinPreProcessorStandard.java:264) ~[sponge-mixin-0.9.2+mixin.0.8.2.jar:0.9.2+mixin.0.8.2]
	at org.spongepowered.asm.mixin.transformer.MixinInfo.createContextFor(MixinInfo.java:1272) ~[sponge-mixin-0.9.2+mixin.0.8.2.jar:0.9.2+mixin.0.8.2]
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:287) ~[sponge-mixin-0.9.2+mixin.0.8.2.jar:0.9.2+mixin.0.8.2]
	at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:345) ~[sponge-mixin-0.9.2+mixin.0.8.2.jar:0.9.2+mixin.0.8.2]
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:569) ~[sponge-mixin-0.9.2+mixin.0.8.2.jar:0.9.2+mixin.0.8.2]
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:351) ~[sponge-mixin-0.9.2+mixin.0.8.2.jar:0.9.2+mixin.0.8.2]
	at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:208) ~[sponge-mixin-0.9.2+mixin.0.8.2.jar:0.9.2+mixin.0.8.2]
	at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:178) ~[sponge-mixin-0.9.2+mixin.0.8.2.jar:0.9.2+mixin.0.8.2]
	at org.spongepowered.asm.mixin.transformer.FabricMixinTransformerProxy.transformClassBytes(FabricMixinTransformerProxy.java:23) ~[fabric-loader-0.11.3.jar:0.9.2+mixin.0.8.2]
	at net.fabricmc.loader.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:157) ~[fabric-loader-0.11.3.jar:?]
	at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:150) ~[fabric-loader-0.11.3.jar:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_51]
	at me.jellysquid.mods.sodium.client.render.chunk.ChunkRenderManager.<init>(ChunkRenderManager.java:100) ~[sodium-fabric-mc1.16.4-0.1.1+unknown.jar:?]
	at me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.initRenderer(SodiumWorldRenderer.java:271) ~[sodium-fabric-mc1.16.4-0.1.1+unknown.jar:?]
	at me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.loadWorld(SodiumWorldRenderer.java:113) ~[sodium-fabric-mc1.16.4-0.1.1+unknown.jar:?]
	at me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setWorld(SodiumWorldRenderer.java:104) ~[sodium-fabric-mc1.16.4-0.1.1+unknown.jar:?]
	at net.minecraft.client.render.WorldRenderer.handler$clp000$onWorldChanged(WorldRenderer:10863) ~[?:?]
	at net.minecraft.client.render.WorldRenderer.setWorld(WorldRenderer:744) ~[?:?]
	at net.minecraft.client.MinecraftClient.setWorld(MinecraftClient:2049) ~[?:?]
	at net.minecraft.client.MinecraftClient.joinWorld(MinecraftClient:1974) ~[?:?]
	at net.minecraft.client.network.ClientPlayNetworkHandler.onGameJoin(ClientPlayNetworkHandler:382) ~[?:?]
	at net.minecraft.network.packet.s2c.play.GameJoinS2CPacket.apply(GameJoinS2CPacket:110) ~[?:?]
	at net.minecraft.network.packet.s2c.play.GameJoinS2CPacket.apply(GameJoinS2CPacket:18) ~[?:?]
	at net.minecraft.network.NetworkThreadUtils.method_11072(NetworkThreadUtils:21) ~[?:?]
	at net.minecraft.class_2600$$Lambda$11647/276947458.run(Unknown Source) ~[?:?]
	at net.minecraft.util.thread.ThreadExecutor.executeTask(ThreadExecutor:144) ~[?:?]
	at net.minecraft.util.thread.ReentrantThreadExecutor.executeTask(ReentrantThreadExecutor:23) ~[?:?]
	at net.minecraft.util.thread.ThreadExecutor.runTask(ThreadExecutor:118) ~[?:?]
	at net.minecraft.util.thread.ThreadExecutor.runTasks(ThreadExecutor:103) ~[?:?]
	at net.minecraft.client.MinecraftClient.render(MinecraftClient:1015) ~[?:?]
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:681) ~[?:?]
	at net.minecraft.client.main.Main.main(Main:215) [intermediary-minecraft-1.16.5-client.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51]
	at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51]
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:226) [fabric-loader-0.11.3.jar:?]
	at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:146) [fabric-loader-0.11.3.jar:?]
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28) [fabric-loader-0.11.3.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51]
	at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51]
	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196) [NewLaunch.jar:?]
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231) [NewLaunch.jar:?]
	at org.multimc.EntryPoint.listen(EntryPoint.java:143) [NewLaunch.jar:?]
	at org.multimc.EntryPoint.main(EntryPoint.java:34) [NewLaunch.jar:?]

After this fatal was thrown, the game hasn't done anything for 15 minutes.

commented

Could you try to narrow down a minimal set of mods that causes this issue?
Possibly related to #5

commented

Could you try to narrow down a minimal set of mods that causes this issue?
Possibly related to #5

In the first code block, you'll see the conflicting methods from the mods which are causing the issue.

commented

Could you try to narrow down a minimal set of mods that causes this issue?
Possibly related to #5

In the first code block, you'll see the conflicting methods from the mods which are causing the issue.

The reason why I'm report this here is because the method which Sodium provides is the one being used in the end.

commented
  1. Exactly what version of Sodium are you using?
  2. If you are using a build of the next branch, can you reproduce this with the release version of Sodium?
  3. If you are using Indium, can you reproduce this without Indium? (And without any mods that require the Fabric Rendering API)
commented
1. Exactly what version of Sodium are you using?

2. If you are using a build of the `next` branch, can you reproduce this with the release version of Sodium?

3. If you are using Indium, can you reproduce this without Indium? (And without any mods that require the Fabric Rendering API)

Like stated in the original post, I'm using Sodium 0.1, I'll try with a build from that branch and I'm not using Indium.

commented

Many of the mods you are using require the Fabric Rendering API, which is not yet implemented by Sodium. You'll need to use a build of the next branch with Indium in order to use them.

commented

Ah, thank you for your help.

commented

Can you still reproduce this issue with Indium?

commented

I'm in the middle of compiling Indium. I'll let you know once I've compiled.

commented

I compiled Sodium from the Next branch and Indium from the Github Repo you sent and the same error is coming up.

commented

This is a problem with someone else trying to patch Sodium code... Narrow down whichever mod causes the crash with Sodium and verify that you're using compatible versions between the two mods. If that doesn't resolve your issue, report it upstream to their authors.