Occasionally my server will begin to lock up due to running out of memory. When the server crashes as a result of this, many of the chunks in the server will not save and can often rollback 2-6 hours. Auto-save IS enabled and I have even written a plugin to explicitly call World.save() and the issue remains. The weird thing is that chunks adjacent to each other can either save or not save, with plots often having missing chunks of a build due to the saving error.
However, if I am able to restart the server before excessive GC causes it to crash, the server will halt at "Saving Chunks" for 15-30 minutes while it DOES save all the chunk data (if I watch the world "region" folder, I can see it saving tons of region files during this time).
Notes:
- The "loaded chunks" in a command like /gc doesn't report an excessive amount of chunks loaded.
- This seems to be some sort of memory leak that is keeping chunks in memory instead of saving them. However it is odd, because /save-all or autosave isn't having any impact on preventing this, but the server save at stop does work. Differences in the way they work?
- This just occurred again today and I was able to stop the server before a crash. After about ~35 minutes, the server was able to stop. During this time over 1000 region files were edited.
Need some more info? I'd be happy to provide, but due to the nature of this bug report I don't any crash data that is relevant to solving the problem.
- relates to
-
SPIGOT-2385 FileIOThread will cause chunk overwrites/data loss on bigger servers
- Resolved