-
Notifications
You must be signed in to change notification settings - Fork 834
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BetterEnd causes "Missing palette entry for index..." crashes when loading chunks #2869
Comments
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. |
I have played ~1 hour without having Sodium installed, lithium was however still present. This caused no crashes. I later installed Sodium once again, and the game crashed in about a minute. |
Likely caused by a mixin to BiomeColors from BetterEnd: 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. |
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! |
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: 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? |
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. |
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. |
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. |
@jellysquid3 I have contacted the BetterX developers and they said this about the issue: They confirmed that this is a conlfict between BetterEnd and Sodium, and that the latest beta releases of Sodium caused this incompatibility. |
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
... and let us know if that fixes the crash. |
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. |
I am also experiencing crashes. Having Sodium, Lithium and BetterEnd installed. |
With the Lithium mixins set i still get the crash just without the mention of lithium now |
After further investigation, it seems that current versions of BetterEnd have special compatibility code for Sodium, which has it accessing the incorrect world object in an unsafe manner. This leads to gradual memory corruption and eventually to the crash shown in this bug report. The reason BetterEnd seems to do this is because it is modifying fluid tinting, and needs to access blocks that are outside the area that Sodium normally copies for rendering. I have started a patch here which attempts to expands the copied area, but it may impact performance negatively. If we find that doing such does not impact performance too much and merge the patch, we'll still need the aforementioned code to be removed from BetterEnd to solve the crashes. |
BetterEnd illegally accesses the client's World object from the chunk meshing threads, which causes memory corruption and cryptic crashes. These crashes are reported to us frequently and are difficult for users to debug. Since there is no workaround for the time being, and it is unlikely there will be an update on BetterEnd's part to resolve the issue in the near future, mark all current versions of the mod as incompatible. See #2869 for more information.
My investigation shows that increasing the size of the copied area from 20^3 to 48^3 would cause a severe performance regression (>10x slower), which was the expected result. We don't have a way to make these copies any faster right now, so this problem remains unfixed. |
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
The text was updated successfully, but these errors were encountered: