-
Bug
-
Resolution: Invalid
-
None
-
Minecraft 1.7.9
-
None
-
Gentoo Linux x86_64
Linux Kernel 3.11.9
OpenJDK 1.6.0_27
-
Unconfirmed
I have a server running locally and a storm was coming in. I heard a clap of thunder and typed /save-all from my client. Literally 5 seconds later, the power failed! My world is in perfect condition, but when I got back into the game, I was naked at my default spawn point. The server console had this to say upon startup:
May 12, 2014 3:52:10 PM io.netty.util.internal.PlatformDependent <clinit> INFO: Your platform does not provide complete low-level API for accessing direct buffers reliably. Unless explicitly requested, heap buffer will always be preferred to avoid potential system unstability. [15:52:15] [Server thread/INFO]: Starting minecraft server version 1.7.9 [15:52:15] [Server thread/INFO]: Loading properties [15:52:16] [Server thread/INFO]: Default game type: SURVIVAL [15:52:16] [Server thread/INFO]: Generating keypair [15:52:16] [Server thread/INFO]: Starting Minecraft server on *:25565 [15:52:17] [Server thread/INFO]: Preparing level "world" [15:52:17] [Server thread/ERROR]: Exception reading /home/daniel/.minecraft/server/b/world/level.dat java.io.EOFException at java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:224) ~[?:1.6.0_27] at java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:214) ~[?:1.6.0_27] at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:153) ~[?:1.6.0_27] at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:75) ~[?:1.6.0_27] at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:85) ~[?:1.6.0_27] at du.a(SourceFile:13) ~[minecraft_server.1.7.9.jar:?] at ayq.c(SourceFile:56) [minecraft_server.1.7.9.jar:?] at aym.b(SourceFile:88) [minecraft_server.1.7.9.jar:?] at net.minecraft.server.MinecraftServer.a(SourceFile:131) [minecraft_server.1.7.9.jar:?] at net.minecraft.server.MinecraftServer.a(SourceFile:173) [minecraft_server.1.7.9.jar:?] at ls.e(SourceFile:196) [minecraft_server.1.7.9.jar:?] at net.minecraft.server.MinecraftServer.run(SourceFile:339) [minecraft_server.1.7.9.jar:?] at li.run(SourceFile:628) [minecraft_server.1.7.9.jar:?] java.io.EOFException at java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:224) at java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:214) at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:153) at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:75) at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:85) at du.a(SourceFile:13) at ayp.d(SourceFile:84) at net.minecraft.server.MinecraftServer.a(SourceFile:182) at ls.e(SourceFile:196) at net.minecraft.server.MinecraftServer.run(SourceFile:339) at li.run(SourceFile:628) java.io.EOFException at java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:224) at java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:214) at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:153) at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:75) at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:85) at du.a(SourceFile:13) at ayp.d(SourceFile:84) at aha.<init>(SourceFile:171) at ms.<init>(SourceFile:69) at net.minecraft.server.MinecraftServer.a(SourceFile:203) at ls.e(SourceFile:196) at net.minecraft.server.MinecraftServer.run(SourceFile:339) at li.run(SourceFile:628) java.io.EOFException at java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:224) at java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:214) at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:153) at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:75) at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:85) at du.a(SourceFile:13) at ayp.d(SourceFile:84) at aha.<init>(SourceFile:171) at ms.<init>(SourceFile:69) at ml.<init>(SourceFile:10) at net.minecraft.server.MinecraftServer.a(SourceFile:206) at ls.e(SourceFile:196) at net.minecraft.server.MinecraftServer.run(SourceFile:339) at li.run(SourceFile:628) java.io.EOFException at java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:224) at java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:214) at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:153) at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:75) at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:85) at du.a(SourceFile:13) at ayp.d(SourceFile:84) at aha.<init>(SourceFile:171) at ms.<init>(SourceFile:69) at ml.<init>(SourceFile:10) at net.minecraft.server.MinecraftServer.a(SourceFile:206) at ls.e(SourceFile:196) at net.minecraft.server.MinecraftServer.run(SourceFile:339) at li.run(SourceFile:628) [15:52:17] [Server thread/INFO]: Preparing start region for level 0 [15:52:18] [Server thread/INFO]: Preparing spawn area: 3% [15:52:19] [Server thread/INFO]: Preparing spawn area: 41% [15:52:20] [Server thread/INFO]: Preparing spawn area: 97% [15:52:20] [Server thread/INFO]: Done (3.435s)! For help, type "help" or "?" [15:53:13] [User Authenticator #1/INFO]: UUID of player pirateswithfleas is ddc34705-350e-4cdd-b33c-6cde9eedf03e [15:53:13] [Server thread/WARN]: Failed to load player data for pirateswithfleas [15:53:13] [Server thread/INFO]: pirateswithfleas[/192.168.1.4:45126] logged in with entity id 321 at (-223.5, 69.0, 251.5) [15:53:13] [Server thread/INFO]: pirateswithfleas joined the game
So I guess I expected save-all to ensure that my world & player data were saved to disk and flushed. Can we add an exec to "sync" for *nix environments to this command?
EDIT: Also, if it's needed, I made a copy of my world after starting up (while the server was running), so I'm guessing that level.dat would have already been overwritten. (Also, the file b/world/region/r.-1.0.mca was modified as it was read, but I would expect that since the server was running.)