Server Crash & World Corruption bug
The IoWorker thread pool is completey unbounded in size, this means that player actions can lead to spawning large amounts of threads easily into the hundreds, rarely into the thousands, under the correct conditions this can crash the server in a very fatal manor during saving the world leading to data loss and duplicated items etc
an easy way to reproduce this crash is to use an autoclicker, or a mod with a fast right click feature like tweakaroo (although it is not required) to quickly generate many thousands of maps, then wait for the server to autosave, or run /save-all at which point it will crash, and generate one crash report, it will then attempt to safely shut down, this will fail and then the server will stall and trigger a watchdog crash
when this happens player inventories consistantly get somewhat broken, reverting to a previous state, half saving etc
this was discovered because of the hermitcraft server crashing randomly, depending on player actions attached is the log from my replication on a test server, aswell as the crash reports from hermitcraft, we were able to solve this issue by writing a fabric mod to replace the pool used for the io workers with a fixed size pool
the reproduction server is not modded, but the hermitcraft server is lightly modded with many datapacks
2024-11-14, 06:20 PM
2024-12-05, 10:55 PM
2
3
1.21.3, 1.21.4 Pre-Release 1, 1.21.4 Pre-Release 3, 1.21.4 Release Candidate 3
-