Sodium

Sodium

49M Downloads

"Missing palette entry for index..." crash when loading chunks

xannieqt opened this issue ยท 11 comments

commented

Bug Description

The game is constantly crashing, however during somewhat random events. According to the logs, it does mention water blocks, but the game spits the same error(s) regardless of the area, whether there is water there or not.

I'm running Sodium for Minecraft 1.21, but more specifically on a modpack (https://modrinth.com/modpack/cxties-vanilla+).

Reproduction Steps

There isn't really anything I have to do in order to reproduce the issue, as it keeps happening regardless of the actions I do.

Log File

latest.log
2024-11-07-2.log.gz

Crash Report

crash-2024-11-07_06.02.57-client.txt
crash-2024-11-06_21.06.27-client.txt

commented

It seems there are chunks in your save file which have blocks without any mapping. This is often the case of world corruption.

Have you verified whether the issue happens without Sodium and Lithium present? Probably this crash would continue to happen, since Minecraft doesn't handle the problem very well either.

commented

Likely caused by a mixin to BiomeColors from BetterEnd:

https://github.com/quiqueck/BetterEnd/blob/1.21/src/main/java/org/betterx/betterend/mixin/client/BiomeColorsMixin.java#L32-L47

Not exactly sure why it would cause this crash, but the method is mentioned in the crash log and there seems to be Sodium exclusive handling in there.

commented

I have played ~1 hour without having Sodium installed, lithium was however still present. This caused no crashes.
2024-11-07-5.log.gz

I later installed Sodium once again, and the game crashed in about a minute.
crash-2024-11-07_16.18.01-client.txt
2024-11-07-6.log.gz

commented

I don't see why that mixin would cause the crash. The problem is happening way earlier when the world is sliced and sent to meshing threads. However, that hack they're using is terrible... presumably they're trying to get around the fact that Sodium only copies so many blocks into a slice, but accessing the client world from the meshing threads will completely violate memory safety!

commented

I have the same issue using the Better minecraft Fabric modpack for 1.21: https://www.curseforge.com/minecraft/modpacks/better-mc-fabric-bmc3/files/5886831

"net.minecraft.world.chunk.EntryMissingException: Missing Palette entry for index 20."

crash-2024-11-11_17.18.20-client.txt

My crash log also mentions the same mixin:
"at knot//MC//net.minecraft.client.color.world.BiomeColors.handler$bja000$betterend$be_getWaterColor(BiomeColors.java:1041)"

It is likely that this crash is caused by BetterEnd, however it is hard to reproduce as it happens kind of randomly. Should I perhaps contact the creator behind BetterEnd, or what do you propose?

commented

My suggestion is that you check whether BetterEnd is actually conflicting by removing the mod, since it's not obvious from reading the code (though anything is possible when you're corrupting memory.)

If removing it does resolve the issue, then please open an issue with the BetterEnd developers. Though I suspect they won't be able to get rid of that mixin unless we modify the way chunk data is copied to include some additional blocks around a chunk, since that appears to be the whole reason they're doing this in the first place.

commented

Alright, I will try to find a way to reproduce the crash in a more consistent way. At the moment I have no idea how to reproduce the crash, and I find that it just happens pretty randomly. If you have any ideas on how this crash could possibly be reproduced, it would definitely be of help.

commented

Just an update on this. I have been running the modpack without BetterEnd and it have been working flawlessly, there have not been a single crash since the mod was fully removed.

commented

@jellysquid3 I have contacted the BetterX developers and they said this about the issue:

billede
billede
billede

They confirmed that this is a conlfict between BetterEnd and Sodium, and that the latest beta releases of Sodium caused this incompatibility.

commented

If you are using Lithium, can you please try removing it? There might be a problematic interaction only between the combination of Sodium + Lithium + BetterEnd. Right now it is very difficult to tell where the problem is occuring.

If you do find that removing Lithium solves the problem, then modify the lithium-mixins.properties configuration file to include the following line...

mixin.chunk.palette=false

... and let us know if that fixes the crash.

commented

Any updates here? I'm having the same issue, but I'm in a server, so removing BetterEnd isn't really an option.

I've removed Lithium completely, and am still getting the exact same client-side crashes.