mojira.dev
MC-2527

Save is not really complete when /save-all says "Save complete."

I have a Minecraft server control script called rfwadmin ( https://github.com/Thue/rfwadmin ). That script uses the save-all command for saving. On minecraft_base.sh line 518 ( https://github.com/Thue/rfwadmin/blob/master/fsroot/var/lib/minecraft/minecraft_base.sh#L518 ), I send the /save-all command, and wait for the line "save complete" to appear in the log. Right after I see "save complete", I do a filesystem copy "cp -r" of the presumably saved files.

But the files are not always saved in the copied version!

One way to reproduce in vanilla is to fly over the terrain placing blocks, touching as many chunks as possible quickly. I think that the more chunks you touch, the higher chance that not everything is saved.

While I can sometimes reproduce the issue in vanilla, it is easier to reproduce using craftbukkit and worldedit. Do a "//replacenear 100 bedrock diamond", and you can be sure not all chunks are saved if you do a save-all+"cp -r" right afterwards.

Comments 9

Note that rfwadmin now has a 30 second sleep in the save function. Remove that before you try reproducing the bug using rfwadmin.

Is this still a concern in the current Minecraft version? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases.

Unless it is important that you know RIGHT NOW, I will retest once 1.5 is out.

Time to test again?

I tested for 1.5, and from the changelog have no reason to think it was fixed in 1.5.1. It is a bit laborious to test, so I will probably not retest until 1.6, unless asked by the developers.

Sorry, I see that now. I didn't realise that jira doesn't show those changes in the default tab.

Is this still a concern in the current Minecraft version 1.6.2 ? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases.

The bug seems to no longer be present in 1.6.2, neither in vanilla or bukkit.

On a related note: I will have to leave in the 30 second sleep to to to work around this bug, since I don't have a good way to know which version a given minecraft binary is... If minecraft_server.jar supported a --version argument it would be very handy.

Thue

(Unassigned)

Unconfirmed

Minecraft 1.4.2, Minecraft 1.5

Minecraft 1.6.2

Retrieved