Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-55099

save-all fails to ensure player data is saved, lost after power failure

XMLWordPrintable

    • Icon: Bug 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.)

            Unassigned Unassigned
            pirateswithfleas Daniel Santos
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: