Sodium

Sodium

35M Downloads

Freezing when in certain chunks

Bendimester23 opened this issue ยท 11 comments

commented

Expected Behavior

I can play.

Actual Behavior

The game freezes.

Reproduction Steps

Go to a certain chunk.

Attachments

https://pastebin.com/k7qw6wfU

System Information

  • Java Version: Oracle JDK 12
  • CPU: i5 6400K
  • GPU: GTX 1050
commented

The client side freeze happens in single player as well. I assumed the client freeze is causing the server world corruption but maybe they are separate issues. I'll look into if adding indium will fix the freeze or not.

Do you know of any good ways to track down bugs related to players joining/leaving worlds?

commented

This is a real issue and it's been plaguing my server for the past week! I really hope the dev team looks into this. I believe it is due to some combination of sodium and the following mods: bewitchment, mo structures, and their dependencies. Please check this issue which has some more details: MoriyaShiine/bewitchment#44 (comment)

This bug is causing some form of world corruption overtime which makes the server get progressively laggy and it has to do with loading/unloading chunks or generating new ones. If you try to stop and start the server, it will start but will spam "Preparing world spawn 0%" for a second and then just say it is done. When a player joins the server will crash. Moving the save to singleplayer and running the optimize world -> erase cache tool will fix the corrupted data and the server will run smoothly again.

This issue is a huge pain in the ass to track down since the client just hangs and doesn't generate a crash report since you are forced to kill the instance. The log isn't super helpful. And the server crash report is useless (just spams: "server tick loop" or something).

commented

Also turning smooth lighting off reduces the frequency of the freezes but does not fix it entirely

commented

You say you're running this world on a server? Sodium is client side only, so while it can be involved in the client freeze you talk about it shouldn't have any involvement in the world corruption. Though maybe the server doesn't like some particular circumstance of how the client disconnects.

I can see you're using a lot of mods that rely on the fabric rendering api, which sodium does not currently support (and I don't see indium in your list). This is likely to make those mods work incorrectly, possibly leading to client crashes.

It'd take more investigation to figure out whether this particular client freeze is related to frapi support, but, I'm surprised your game is working that well at all.

commented

Alright so adding Indium and comp500's fork of sodium fixed my issue with client freezing. I think it was some corrupt advancement data that was causing the server crash on player join.

commented

Well that's your issue solved, it doesn't seem very related to the original report though.
@Bendimester23 could you provide a full crash report if a crash does happen, or a full log otherwise? In your minecraft instance directory it'll be the latest file in /crash-reports, or otherwise /logs/latest.log

commented

latest.log This is the log
same with indium with comp500's sodium or sodium. Seems light corrupted light data. There is no crash, the game just freezes.

commented

I see you're using Barium 0.1.0, which I would suggest is a poor choice - a version this old from before their rebranding comes with a lot of thread safety concerns. I'm not sure how much it even applies to a client though.
I have two questions. Can you reproduce the crash with only sodium and nothing else on your client? (assuming the server is vanilla compatible, it looks like it).
Is the server also running Barium 0.1.0?

commented

Older versions of that mod had a number of very serious issues, unless you can reproduce the issue without it sodium likely isn't at fault. On another note, I would highly recommend updating the version of it on your server as soon as possible given said issues.

commented

yes, the server is also using barium

commented

Had a second case on the discord that points to it likely being Barium, though it wasn't in use at the time of the error - just earlier in the world's use.
https://discord.com/channels/602796788608401408/602805020861267968/820638989715111947