Mod incompatibility crash on world join
clarfonthey opened this issue · 7 comments
Decided to link this issue here since maybe ETF might be at fault on this one, but I'm not sure. See the linked issue in maruohon/litematica#509 for similar discussion.
Mostly copy-pasted version of that issue here:
So, when I tried testing the configuration of my mods on 1.18.2, I got this crash when loading a brand new single player world, where the crash happens at the "Joining World" screen. Here's the trace using Not Enough Crashes:
[01:43:39] [Render thread/WARN]: addIdMetaToBlockState(): Exception while adding blockstate conversion map entry for ID '2943'
java.lang.IllegalArgumentException: Data fixer not registered for: minecraft:DUMMY in block_entity
at Not Enough Crashes deobfuscated stack trace.(1.18.2+build.2) ~[?:?]
at com.mojang.datafixers.schemas.Schema.getChoiceType(Schema.java:109) ~[datafixerupper-4.1.27.jar:?]
at net.minecraft.datafixer.schema.IdentifierNormalizingSchema.getChoiceType(IdentifierNormalizingSchema:52) ~[?:?]
at net.minecraft.datafixer.fix.ChoiceFix.makeRule(ChoiceFix:24) ~[?:?]
at com.mojang.datafixers.DataFix.getRule(DataFix.java:108) ~[datafixerupper-4.1.27.jar:?]
at com.mojang.datafixers.DataFixerUpper.lambda$getRule$6(DataFixerUpper.java:130) ~[datafixerupper-4.1.27.jar:?]
at it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap.computeIfAbsent(Long2ObjectOpenHashMap.java:499) ~[fastutil-8.5.6.jar:?]
at it.unimi.dsi.fastutil.longs.Long2ObjectMaps$SynchronizedMap.computeIfAbsent(Long2ObjectMaps.java:455) ~[fastutil-8.5.6.jar:?]
at com.mojang.datafixers.DataFixerUpper.getRule(DataFixerUpper.java:125) ~[datafixerupper-4.1.27.jar:?]
at com.mojang.datafixers.DataFixerUpper.update(DataFixerUpper.java:84) ~[datafixerupper-4.1.27.jar:?]
at fi.dy.masa.litematica.schematic.conversion.SchematicConversionMaps.updateBlockName(SchematicConversionMaps.java:281) ~[litematica-fabric-1.18.2-0.11.1.jar:?]
at fi.dy.masa.litematica.schematic.conversion.SchematicConversionMaps.addIdMetaToBlockState(SchematicConversionMaps.java:192) ~[litematica-fabric-1.18.2-0.11.1.jar:?]
at fi.dy.masa.litematica.schematic.conversion.SchematicConversionMaps.computeMaps(SchematicConversionMaps.java:72) ~[litematica-fabric-1.18.2-0.11.1.jar:?]
at fi.dy.masa.litematica.event.WorldLoadListener.onWorldLoadPost(WorldLoadListener.java:31) ~[litematica-fabric-1.18.2-0.11.1.jar:?]
at fi.dy.masa.malilib.event.WorldLoadHandler.onWorldLoadPost(WorldLoadHandler.java:89) ~[malilib-fabric-1.18.2-0.12.1.jar:?]
at net.minecraft.client.network.ClientPlayNetworkHandler.handler$cmo000$onPostGameJoin(ClientPlayNetworkHandler:6915) ~[?:?]
at net.minecraft.client.network.ClientPlayNetworkHandler.onGameJoin(ClientPlayNetworkHandler:395) ~[?:?]
at net.minecraft.network.packet.s2c.play.GameJoinS2CPacket.apply(GameJoinS2CPacket:83) ~[?:?]
at net.minecraft.network.packet.s2c.play.GameJoinS2CPacket.apply(GameJoinS2CPacket:19) ~[?:?]
at net.minecraft.network.NetworkThreadUtils.method_11072(NetworkThreadUtils:22) ~[?:?]
at net.minecraft.util.thread.ThreadExecutor.executeTask(ThreadExecutor:157) ~[?:?]
at net.minecraft.util.thread.ReentrantThreadExecutor.executeTask(ReentrantThreadExecutor:23) ~[?:?]
at net.minecraft.util.thread.ThreadExecutor.runTask(ThreadExecutor:131) ~[?:?]
at net.minecraft.util.thread.ThreadExecutor.runTasks(ThreadExecutor:116) ~[?:?]
at net.minecraft.client.MinecraftClient.render(MinecraftClient:1085) ~[?:?]
at net.minecraft.client.MinecraftClient.run(MinecraftClient:737) ~[?:?]
at net.minecraft.client.main.Main.main(Main:236) [client-intermediary.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:416) [fabric-loader-0.13.3.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77) [fabric-loader-0.13.3.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.13.3.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210) [NewLaunch.jar:?]
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245) [NewLaunch.jar:?]
at org.multimc.EntryPoint.listen(EntryPoint.java:143) [NewLaunch.jar:?]
at org.multimc.EntryPoint.main(EntryPoint.java:34) [NewLaunch.jar:?]
And here's the trace without Not Enough Traces:
[02:17:15] [Render thread/WARN]: addIdMetaToBlockState(): Exception while adding blockstate conversion map entry for ID '691'
java.lang.IllegalArgumentException: Data fixer not registered for: minecraft:DUMMY in block_entity
at com.mojang.datafixers.schemas.Schema.getChoiceType(Schema.java:109) ~[datafixerupper-4.1.27.jar:?]
at net.minecraft.class_1220.getChoiceType(class_1220.java:52) ~[client-intermediary.jar:?]
at net.minecraft.class_1197.makeRule(class_1197.java:24) ~[client-intermediary.jar:?]
at com.mojang.datafixers.DataFix.getRule(DataFix.java:108) ~[datafixerupper-4.1.27.jar:?]
at com.mojang.datafixers.DataFixerUpper.lambda$getRule$6(DataFixerUpper.java:130) ~[datafixerupper-4.1.27.jar:?]
at it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap.computeIfAbsent(Long2ObjectOpenHashMap.java:499) ~[fastutil-8.5.6.jar:?]
at it.unimi.dsi.fastutil.longs.Long2ObjectMaps$SynchronizedMap.computeIfAbsent(Long2ObjectMaps.java:455) ~[fastutil-8.5.6.jar:?]
at com.mojang.datafixers.DataFixerUpper.getRule(DataFixerUpper.java:125) ~[datafixerupper-4.1.27.jar:?]
at com.mojang.datafixers.DataFixerUpper.update(DataFixerUpper.java:84) ~[datafixerupper-4.1.27.jar:?]
at fi.dy.masa.litematica.schematic.conversion.SchematicConversionMaps.updateBlockName(SchematicConversionMaps.java:281) ~[litematica-fabric-1.18.2-0.11.1.jar:?]
at fi.dy.masa.litematica.schematic.conversion.SchematicConversionMaps.addIdMetaToBlockState(SchematicConversionMaps.java:192) ~[litematica-fabric-1.18.2-0.11.1.jar:?]
at fi.dy.masa.litematica.schematic.conversion.SchematicConversionMaps.computeMaps(SchematicConversionMaps.java:72) ~[litematica-fabric-1.18.2-0.11.1.jar:?]
at fi.dy.masa.litematica.event.WorldLoadListener.onWorldLoadPost(WorldLoadListener.java:31) ~[litematica-fabric-1.18.2-0.11.1.jar:?]
at fi.dy.masa.malilib.event.WorldLoadHandler.onWorldLoadPost(WorldLoadHandler.java:89) ~[malilib-fabric-1.18.2-0.12.1.jar:?]
at net.minecraft.class_634.handler$zcm000$onPostGameJoin(class_634.java:2915) ~[client-intermediary.jar:?]
at net.minecraft.class_634.method_11120(class_634.java:395) ~[client-intermediary.jar:?]
at net.minecraft.class_2678.method_11567(class_2678.java:83) ~[client-intermediary.jar:?]
at net.minecraft.class_2678.method_11054(class_2678.java:19) ~[client-intermediary.jar:?]
at net.minecraft.class_2600.method_11072(class_2600.java:22) ~[client-intermediary.jar:?]
at net.minecraft.class_1255.method_18859(class_1255.java:157) [client-intermediary.jar:?]
at net.minecraft.class_4093.method_18859(class_4093.java:23) [client-intermediary.jar:?]
at net.minecraft.class_1255.method_16075(class_1255.java:131) [client-intermediary.jar:?]
at net.minecraft.class_1255.method_5383(class_1255.java:116) [client-intermediary.jar:?]
at net.minecraft.class_310.method_1523(class_310.java:1085) [client-intermediary.jar:?]
at net.minecraft.class_310.method_1514(class_310.java:737) [client-intermediary.jar:?]
at net.minecraft.client.main.Main.main(Main.java:236) [client-intermediary.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:416) [fabric-loader-0.13.3.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77) [fabric-loader-0.13.3.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.13.3.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210) [NewLaunch.jar:?]
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245) [NewLaunch.jar:?]
at org.multimc.EntryPoint.listen(EntryPoint.java:143) [NewLaunch.jar:?]
at org.multimc.EntryPoint.main(EntryPoint.java:34) [NewLaunch.jar:?]
Disabling ETF fixed the crash, but what's weird is that running with just ETF does not have the crash. So, clearly, it's an incompatibility of some sort.
After much pain, I finally determined the combination of mods that made this happen. Removing any of the bolded mods fixes the crash:
- Minecraft 1.18.2
- MaLiLib 0.12.1 (required for Litematica)
- Litematica 0.11.1
- LazyDFU 0.1.2
- Entity Texture Features 2.6.RC2
Removing Not Enough Crashes (4.1.4+1.18.2) does not actually stop the crash, but I did check for completeness. I'm also running on the Fabric Loader 0.13.3, but that shouldn't affect this.
This was originally shared on the Litematica repo since that's the mod that directly shows up in the stack trace, but I decided to link this here too in case anyone has any insight on why this might be happening with specifically ETF, since it's very strange that a textures mod would cause this. Note that I do not have this crash on 1.18.1 where I also have these mods installed, in case that helps narrow down the issue:
- Minecraft 1.18.1
- MaLiLib 0.11.8
- Litematica 0.10.4
- LazyDFU 0.1.2
- Entity Texture Features 2.4.1
I strongly suspect that this isn't LazyDFU's fault since it hasn't had any changes since then, and I also shared this issue on the Litematica repo. Once this issue is solved on either side I'll close this issue on all the repos, but I figured I'd share here for visibility.
Thanks for the help. I haven't looked into that yet, but regardless, I'll move that discussion over to the Litematica side. ❤️
Theres only 1 thing i can think of that might cause a conflict, please try the latest ETF version the 2.6.0 release not RC2, and disable the config option "Allow non [a-z0-9/._-] characters in texture paths", otherwise i have no ideas it is indeed a litematica crash
Theres only 1 thing i can think of that might cause a conflict, please try the latest ETF version the 2.6.0 release not RC2, and disable the config option "Allow non [a-z0-9/._-] characters in texture paths", otherwise i have no ideas it is indeed a litematica crash
This actually fixes the issue for me.
This actually fixes the issue for me too. Maybe it should be disabled by default?
Follow #35 for updates