Fabricators-of-Create / Create

[Fabric Mod] Building Tools and Aesthetic Technology
MIT License
834 stars 188 forks source link

Basins cause "Failed to store chunk [x, z]" error in log and eventually crashes servers #126

Closed armuell closed 2 years ago

armuell commented 2 years ago

Describe the Bug

I'm playing on a multiplayer server using a custom pack that contains create for the past week or so. Due to how I setup the pack the create mod is gated behind other content and I was the first person on the server to unlock/use create related items. After building an early game setup using a windmill/sailblocks + a press + a mixer/basin I noticed the same error being spammed in the log file: [03:08:24] [IO-Worker-7/ERROR]: Failed to store chunk [-33, 128] java.util.ConcurrentModificationException: null at Not Enough Crashes deobfuscated stack trace.(1.18.1+build.22) ~[?:?] at java.util.HashMap$HashIterator.nextNode(HashMap.java:1597) ~[?:?] at java.util.HashMap$KeyIterator.next(HashMap.java:1620) ~[?:?] at net.minecraft.nbt.NbtCompound.write(NbtCompound:163) ~[?:?] at net.minecraft.nbt.NbtIo.write(NbtIo:118) ~[?:?] at net.minecraft.nbt.NbtIo.write(NbtIo:83) ~[?:?] at net.minecraft.world.storage.RegionBasedStorage.write(RegionBasedStorage:79) ~[?:?] at net.minecraft.world.storage.StorageIoWorker.write(StorageIoWorker:174) ~[?:?] at net.minecraft.world.storage.StorageIoWorker.writeResult(StorageIoWorker:164) ~[?:?] at net.minecraft.util.thread.TaskQueue$PrioritizedTask.run(TaskQueue:59) ~[?:?] at net.minecraft.util.thread.TaskExecutor.runNext(TaskExecutor:91) ~[?:?] at net.minecraft.util.thread.TaskExecutor.runWhile(TaskExecutor:146) ~[?:?] at net.minecraft.util.thread.TaskExecutor.run(TaskExecutor:102) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?] at java.lang.Thread.run(Thread.java:833) [?:?]

The error only occurs when the chunk in question was unloaded in a specific way (I log off the server OR I travel far away from the chunk so it unloads and then I change dimensions by going through a nether portal). The only things in chunk [-33, 128] were some shafts, a belt, a mechanical press, and a mixer+basin. I knew of a bug on forge related to basins that was fixed recently so that was the first thing that I removed and the error/log spam went away so I think that is most likely the culprit,

Before I removed the basin the above error was spammed in the log until eventually the server crashed. Crash report can be found in a pastebin linked below

Reproduction Steps

  1. Play on a multiplayer server?
  2. Place a basin in a chunk away from spawn chunks
  3. Log off the server OR travel far enough away from the basin chunk so that it unloads then enter the nether
  4. Check the log for "Failed to store chunk [x.z]" error and wait long enough for the server to crash (it doesn't crash instantly)

Expected Result

Basins don't cause problems

Screenshots and Videos

No response

Crash Report or Log

https://pastebin.com/ZvKBXcxn

Operating System

Client = Windows, Server = Linux

Mod Version

0.4.0c

Minecraft Version

1.18.1

Other Mods

see crash report

Additional Context

I was using this build of create btw: https://github.com/Fabricators-of-Create/Create/actions/runs/1775103261

TropheusJ commented 2 years ago

Can't reproduce. Try on the latest commit, and if it happens again can you provide a world download?

michlbro commented 2 years ago

I am also getting this report in the logs however, the server has not crashed yet. I am also running a modpack with create being one of them. This is the log that I get - https://pastebin.com/9Nztz2mF. Modpack w/ list, mods and the world. - https://drive.google.com/drive/folders/1y1S2hN5mk6Kfo3BT3XWj_dbCdN2qKyrc?usp=sharing.

I don't know if this bug is also related to this error - When unloading the chunk with this contraption setup, that armuell has said. There's a chance for the system to say it's over stressed but it isn't and some of the connected shafts still turn, while the others stay stationary. It happens when moving away from the chunk and sleeping in a bed. https://streamable.com/3ekah6 (I have updated this system in the world download to a furnace generator and the problem is still the same. - Might be an issue with the rotation speed controller and the basin?.)

TropheusJ commented 2 years ago

I still can't reproduce it locally. I think it might be an issue with NBT tag instances being shared across threads somehow.

armuell commented 2 years ago

if it's a mod conflict issue our packs share a few mods but the ones that might be the first ones to check are ferritocore or starlight.

AlphaMode commented 2 years ago

Wrong issue sorry

TropheusJ commented 2 years ago

I threw together a little mod to print some debug info to the logs. BEWARE - this will prevent the original exception from being thrown. I have no idea what the implications of this are, but it might brick your world. MAKE A BACKUP Inside this zip is a mod jar. Install it and try to get it to happen again. Instead of a big error, you should see a line saying CME in tag write! with some information below it in the log. catastrophic_failure.zip Once it happens, please send the log here.

michlbro commented 2 years ago

Currently updated most of the mods to their latest versions, including create. Unfortunately starlight (crashes) and phosphor (Creates blackspots over create contraptions) don't work properly with the new version (Probably because of fabric 0.13.1), there are no errors in the logs and the weird over stressed issue has disappeared, which is a good thing 😅. Here's the logs in case you need them - https://pastebin.com/TcGFZJ4F

TropheusJ commented 2 years ago

This log is either cut off or very early into server start. Install the mod, and just play as normal, trying to reproduce the error. Check the logs for any CME in tag write!s and if there are any, send them here.

TropheusJ commented 2 years ago

any updates?

armuell commented 2 years ago

Some unexpected irl stuff happened to me so I haven't had a chance to make a backup/get the debug mod on the server. I should have some time on Sunday

michlbro commented 2 years ago

Some reason can’t get the basin error, but with updating to the new ver create, I am getting weird chunk bugs. Water does not move, neither does lava - breaks cobble contraptions and some chunks are still “night” and spawn hostile mobs when sleeping and loading in the create contraption chunks. Only happens to chunks with a create mods. No errors in logs - I don’t see the catastrophic_failure.jar being listed in the mod list though.

TropheusJ commented 2 years ago

this is probably also a duplicate of #141, reopen if this turns out to not be the case.