Sodium

Sodium

35M Downloads

Incompatability with Cardboard

ZenithAstralis opened this issue ยท 4 comments

commented

Expected Behavior

The error log should not contain NoClassDefFoundError(s)

Actual Behavior

But it does [log]

It does however get to the main menu, so I don't know how much to worry. I'm making a modpack and have been running into a week's worth of headache on conflicts, so I am rebuilding it one mod at a time, and found this. Thought it best I make a clean testing environment to capture the log from, but it's not staying clean for long if I can help it.

Reproduction Steps

Fresh install of MultiMC
Fresh instance of 1.16.4
Install mods listed below
Launch and inspect log

System Information

Mods Installed:
CardboardMod-1.16.4.jar [build 150 according to MultiMC, but I got it from the build 153 download page]
fabric-api-0.32.0+1.16.jar
sodium-fabric-mc1.16.3-0.1.0.jar

Fabric Modloader 11.3
Minecraft 1.16.4
MultiMC Launcher v0.6.11-1430
4096MB memory allocated
Windows 10

  • Java Version: jre1.8.0_281 (x64)
  • CPU: Ryzen Threadripper 2950X
  • GPU: GTX 1080Ti

Edit: Oh and I've posted this over on the Cardboard Github as well.

commented

Update: When entering a singleplayer world (a new one; creative mode, cheats on, all else default) I get these additional lines:

[23:04:16] [main/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[23:04:26] [main/INFO]: Narrator library for x64 successfully loaded
[23:04:54] [main/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
22:04:54.824 [Server thread] ERROR net.minecraft.server.MinecraftServer - Encountered an unexpected exception
java.lang.NullPointerException: null
	at net.minecraft.server.MinecraftServer.method_3735(MinecraftServer.java:1974) ~[intermediary-minecraft-1.16.4-client.jar:?]
	at net.minecraft.class_1132.method_3823(class_1132.java:67) ~[intermediary-minecraft-1.16.4-client.jar:?]
	at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:645) ~[intermediary-minecraft-1.16.4-client.jar:?]
	at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:257) ~[intermediary-minecraft-1.16.4-client.jar:?]
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_281]
22:04:54.827 [Server thread] ERROR net.minecraft.server.MinecraftServer - This crash report has been saved to: H:\Games Stuff\Minecraft & Minecraft Acessories\mmc-stable-win32\MultiMC\instances\1.16.4\.minecraft\crash-reports\crash-2021-03-14_23.04.54-server.txt
22:04:54.828 [Server thread] ERROR net.minecraft.server.MinecraftServer - Exception stopping the server
java.lang.NullPointerException: null
	at net.minecraft.server.MinecraftServer.method_3723(MinecraftServer.java:572) ~[intermediary-minecraft-1.16.4-client.jar:?]
	at net.minecraft.server.MinecraftServer.method_3782(MinecraftServer.java:599) ~[intermediary-minecraft-1.16.4-client.jar:?]
	at net.minecraft.class_1132.method_3782(class_1132.java:203) ~[intermediary-minecraft-1.16.4-client.jar:?]
	at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:707) ~[intermediary-minecraft-1.16.4-client.jar:?]
	at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:257) ~[intermediary-minecraft-1.16.4-client.jar:?]
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_281]
commented

Sodium's mixins do not reference the class org.jline.terminal.Terminal in any way.
It seems to be Mixin itself referencing the class while loading Sodium's mixins, thus causing it to blame Sodium.
If Cardboard breaks Mixin, it's incompatible with pretty much all Fabric mods, including every mod that uses any module of Fabric API (since pretty much all of them depend on mixins).


Cardboard should not be used anyway. IsaiahPatton, the maintainer of the mod, has an... interesting history with Fabric mods.
And by that I mean stealing code without knowing what said code does, leading to broken mods.

commented

I agree with Leo, this is definitely a Cardboard-specific problem. Sodium just shows up because its Mixin plugin is loaded first.

I have some guidance on how to fix it in my other comment CardboardPowered/cardboard#169 (comment), it's now up to them to finish the fix.

commented

Closing as this is an external issue, and one in a mod we wouldn't be working to maintain compatibility with at that.