Severe chunk saving issues on servers with Supplementaries 0.15.2
NJL5390 opened this issue ยท 4 comments
Supplementaries Version: 0.15.2
Forge Version: 36.2.2
Minecraft Version: 1.16.5
Latest Server Log: https://gist.github.com/NJL5390/685966fa9406a10a16920d75518d3e4d
Hello,
I've discovered quite a severe bug when trying out the latest version of supplementaries on my modded server. There seems to be some issue with 0.15.2 that prevents servers from saving chunks properly as shown in the server log linked above. When I load back into one of these worlds that failed to save, then everything is reset back to how it was when the world was first generated.
If I go back to version 0.15.1b then everything works fine and the server is able to save chunks properly. This issue doesn't seem to happen in singleplayer, only on servers. Thankfully I did this on a test world and was using FTB Backups. Supplementaries seems to be the main culprit here since this issue only started happening after I updated Supplementaries to 0.15.2. Though I'm unsure right now if any of my other mods are conflicting with it.
Do you think you could get this addressed? This is quite a severe issue that could affect many modded servers. This issue doesn't happen in singleplayer and only happens on my server.
Thanks in advance and let me know if you need any more information from me about this issue.
(EDIT: In case it matters I was using Quark's Realistic World type when I discovered this issue)
Ok, So I have tried resetting my config files for Supplementaries and that seems to have partly addressed this issue. There still seems to be an issue in relation to generating waysigns though, as whenever I'm on the server it just spams this in the server log and it massively slows down the server:
[12Aug2021 18:13:46.578] [Server thread/ERROR] [net.minecraft.world.chunk.storage.ChunkSerializer/]: Unknown structure start: supplementaries:way_sign
EDIT: The issue with chunk saving is still semi-persistent in version 0.15.2
I think the issue with Waysigns might be why the chunk saving error is happening. It seems that the server can't generate the waysigns for whatever reason which then can sometimes cause some issues with chunk saving on servers and progress being subsequently lost.
So maybe something was changed in how way signs were generated and servers don't like it?
So, Disabling Waysigns didn't fix this issue so I'm not entirely sure what is causing this.
This is what is shown when I stop the server and the server fails to save chunks:
[18:57:32] [IO-Worker-15/ERROR] [minecraft/IOWorker]: Failed to store chunk [-23, 17]
java.lang.NullPointerException: null
[18:57:32] [Server thread/ERROR] [minecraft/MinecraftServer]: Exception stopping the server
java.util.concurrent.CompletionException: java.lang.NullPointerException
at java.util.concurrent.CompletableFuture.encodeThrowable(Unknown Source) ~[?:1.8.0_301] {}
at java.util.concurrent.CompletableFuture.completeThrowable(Unknown Source) ~[?:1.8.0_301] {}
at java.util.concurrent.CompletableFuture.biRelay(Unknown Source) ~[?:1.8.0_301] {}
at java.util.concurrent.CompletableFuture$BiRelay.tryFire(Unknown Source) ~[?:1.8.0_301] {}
at java.util.concurrent.CompletableFuture$CoCompletion.tryFire(Unknown Source) ~[?:1.8.0_301] {}
at java.util.concurrent.CompletableFuture.postComplete(Unknown Source) ~[?:1.8.0_301] {}
at java.util.concurrent.CompletableFuture.completeExceptionally(Unknown Source) ~[?:1.8.0_301] {}
at net.minecraft.world.chunk.storage.IOWorker.func_227091_a_(SourceFile:148) ~[?:?] {re:classloading}
at net.minecraft.world.chunk.storage.IOWorker.func_235978_b_(SourceFile:134) ~[?:?] {re:classloading}
at net.minecraft.util.concurrent.ITaskQueue$RunnableWithPriority.run(SourceFile:54) ~[?:?] {re:classloading}
at net.minecraft.util.concurrent.DelegatedTaskExecutor.func_213148_e(SourceFile:94) ~[?:?] {re:classloading}
at net.minecraft.util.concurrent.DelegatedTaskExecutor.func_213145_a(SourceFile:137) ~[?:?] {re:classloading}
at net.minecraft.util.concurrent.DelegatedTaskExecutor.run(SourceFile:105) ~[?:?] {re:classloading}
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:1.8.0_301] {}
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:1.8.0_301] {}
at java.lang.Thread.run(Unknown Source) [?:1.8.0_301] {}
Caused by: java.lang.NullPointerException