Immersive Portals

Immersive Portals

5M Downloads

Immsersive Portals crashing when Universal Graves mod added to server

Zxurian opened this issue ยท 4 comments

commented

Is it a mod compatibility issue?

Yes

If it's a mod compatibility issue, please provide the link(s) to the incompatible mod(s)

Universal Graves - https://modrinth.com/mod/universal-graves

Minecraft version

1.20.4

Describe the issue

Server Runtime Log: https://mclo.gs/fT6p3fd
Server Crash Log: https://mclo.gs/4wHbqZS
Client Log: https://mclo.gs/HCOJGvZ

  • Running headless server on ubuntu lite
  • Tested with/without Universal Graves installed. Without mod, server & client run fine.

When I add the "Universal Graves", server starts up fine, but as soon as I join the server, the server instantly crashes. I'm not entirely sure whether the issue is with Universal Graves or Immersive Portals, but given the initial crash was java.lang.NoClassDefFoundError: qouteall/q_misc_util/dimension/DimensionIdRecord I figured I'd start here.

On the client side, I hit connect to server, and it goes through the connection process, but as soon as it would normally drop me into the game, it instead immediately disconnects.

commented

Turns out that the crash happens in polymer's iPortal compat code. As iPortal code changed, that stopped working.

java.lang.NoClassDefFoundError: qouteall/q_misc_util/dimension/DimensionIdRecord
	at eu.pb4.polymer.core.impl.compat.ImmersivePortalsUtils.sendBlockPackets(ImmersivePortalsUtils.java:16) ~[polymer-core-0.7.5+1.20.4-2bba185de40c5160.jar:?]
	at eu.pb4.polymer.core.impl.networking.PacketPatcher.sendExtra(PacketPatcher.java:78) ~[polymer-core-0.7.5+1.20.4-2bba185de40c5160.jar:?]
	at net.minecraft.class_8609.handler$cdi000$polymer-core$polymer$extra(class_8609.java:3088) ~[client-intermediary.jar:?]
	at net.minecraft.class_8609.method_52391(class_8609.java:128) ~[client-intermediary.jar:?]
	at net.minecraft.class_8609.method_14364(class_8609.java:113) ~[client-intermediary.jar:?]
	at qouteall.imm_ptl.core.chunk_loading.PlayerChunkLoading.sendChunkPacket(PlayerChunkLoading.java:194) ~[immersive-portals-5.1.5-mc1.20.4-fabric.jar:?]
	at qouteall.imm_ptl.core.chunk_loading.PlayerChunkLoading.lambda$doChunkSending$0(PlayerChunkLoading.java:166) ~[immersive-portals-5.1.5-mc1.20.4-fabric.jar:?]
	at qouteall.q_misc_util.Helper.removeIfWithEarlyExit(Helper.java:823) ~[immersive-portals-5.1.5-mc1.20.4-fabric.jar:?]
	at qouteall.imm_ptl.core.chunk_loading.PlayerChunkLoading.doChunkSending(PlayerChunkLoading.java:124) ~[immersive-portals-5.1.5-mc1.20.4-fabric.jar:?]
	at qouteall.imm_ptl.core.chunk_loading.ImmPtlChunkTracking.immediatelyUpdateForPlayer(ImmPtlChunkTracking.java:151) ~[immersive-portals-5.1.5-mc1.20.4-fabric.jar:?]
	at net.minecraft.class_3324.handler$bda000$immersive_portals$onOnPlayerConnect(class_3324.java:1033) ~[client-intermediary.jar:?]
	at net.minecraft.class_3324.method_14570(class_3324.java:282) ~[client-intermediary.jar:?]
	at net.minecraft.class_8610.mixinextras$bridge$method_14570$28(class_8610.java) ~[client-intermediary.jar:?]
	at net.minecraft.class_8610.md1590c6$polymer-networking$lambda$polymerNet$prePlayHandshakeHackfest$0$0(class_8610.java:1044) ~[client-intermediary.jar:?]
	at eu.pb4.polymer.networking.impl.EarlyPlayConnectionMagic.lambda$handle$0(EarlyPlayConnectionMagic.java:36) ~[polymer-networking-0.7.5+1.20.4-11d2a2ffcbee75cf.jar:?]
	at eu.pb4.polymer.networking.impl.EarlyPlayConnectionMagic.handle(EarlyPlayConnectionMagic.java:39) ~[polymer-networking-0.7.5+1.20.4-11d2a2ffcbee75cf.jar:?]
	at net.minecraft.class_8610.wrapOperation$cfm000$polymer-networking$polymerNet$prePlayHandshakeHackfest(class_8610.java:1031) ~[client-intermediary.jar:?]
	at net.minecraft.class_8610.method_52408(class_8610.java:128) ~[client-intermediary.jar:?]
	at net.minecraft.class_8736.method_53043(class_8736.java:20) ~[client-intermediary.jar:?]
	at net.minecraft.class_8736.method_11054(class_8736.java:7) ~[client-intermediary.jar:?]
	at net.minecraft.class_2600.method_11072(class_2600.java:24) ~[client-intermediary.jar:?]
	at net.minecraft.class_3738.run(class_3738.java:18) ~[client-intermediary.jar:?]
	at net.minecraft.class_1255.method_18859(class_1255.java:156) ~[client-intermediary.jar:?]
	at net.minecraft.class_4093.method_18859(class_4093.java:23) ~[client-intermediary.jar:?]
	at net.minecraft.server.MinecraftServer.method_24306(MinecraftServer.java:797) ~[client-intermediary.jar:?]
	at net.minecraft.server.MinecraftServer.method_18859(MinecraftServer.java:165) ~[client-intermediary.jar:?]
	at net.minecraft.class_1255.method_16075(class_1255.java:130) ~[client-intermediary.jar:?]
	at net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:779) ~[client-intermediary.jar:?]
	at net.minecraft.server.MinecraftServer.method_16075(MinecraftServer.java:773) ~[client-intermediary.jar:?]
	at net.minecraft.class_1255.method_18857(class_1255.java:139) ~[client-intermediary.jar:?]
	at net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:758) ~[client-intermediary.jar:?]
	at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:687) ~[client-intermediary.jar:?]
	at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:270) ~[client-intermediary.jar:?]
	at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.ClassNotFoundException: qouteall.q_misc_util.dimension.DimensionIdRecord
	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.15.2.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.15.2.jar:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
	... 34 more
commented

I am going to temporarily workaround it by re-adding the iPortal classes and fields.