mojira.dev
MC-4001

Chunk reverts to an earlier state

A chunk of my world is defect. When i place a block or remove it and i relog in the world, the placed block is disappeared and the removed block is back. So you cant change anything in the chunk.

The following found in the devconsole:

[18:38:09 INFO]: Client> [18:38:09] [Server thread/INFO]: Saving chunks for level '14w08a'/Overworld
[18:38:09 INFO]: Client> s: Saving entity NBT
[18:38:09 INFO]: Client> 	at sk.e(SourceFile:1123)
[18:38:09 INFO]: Client> 	at sk.d(SourceFile:1090)
[18:38:09 INFO]: Client> 	at atc.a(SourceFile:210)
[18:38:09 INFO]: Client> 	at atc.a(SourceFile:99)
[18:38:09 INFO]: Client> 	at oa.b(SourceFile:161)
[18:38:09 INFO]: Client> 	at oa.a(SourceFile:192)
[18:38:09 INFO]: Client> 	at ob.a(SourceFile:663)
[18:38:09 INFO]: Client> 	at net.minecraft.server.MinecraftServer.a(SourceFile:305)
[18:38:09 INFO]: Client> 	at cby.v(SourceFile:124)
[18:38:09 INFO]: Client> 	at net.minecraft.server.MinecraftServer.run(SourceFile:387)
[18:38:09 INFO]: Client> 	at mr.run(SourceFile:657)
[18:38:09 INFO]: Client> Caused by: java.lang.NullPointerException
[18:38:09 INFO]: Client> 	at aik.j(SourceFile:115)
[18:38:09 INFO]: Client> 	at ail.a(SourceFile:125)
[18:38:09 INFO]: Client> 	at aai.b(SourceFile:206)
[18:38:09 INFO]: Client> 	at sk.e(SourceFile:1111)

Linked issues

MC-6698 Blocks in a specific chunk disappear after exiting game. Resolved MC-10442 One chunk resetting to previous save in odd ways Resolved MC-10991 Disappearing Builds Resolved MC-12336 Chunk Reverts to an earlier state Resolved MC-15755 I some blocks placed such as an enchanting table, an anvil, a chest, some sandstone, furnaces, and a crafting table. As soon as I went exploring the chunks unloaded. When I came back they disappeared. I also chopped down some trees and they came back. Resolved

Attachments

Comments 50

Can you attach a screenshot?

Hamsterraecher

The first screenshot shows the chunk before i place the blocks.
The second screenshot shows the chunk after removing and placing some blocks.
The third screenshot shows the chunk after relogging in the world.

After the second log in in the world, theres a block update and the changes on the chunk disappear.

Is this singleplayer or multiplayer?

Hamsterraecher

This is in my singleplayer world, which i created in the version 1.2.5.

Can you provide seed + coordinates?

40 more comments

Tested and is still a problem in 1.14.2.

I used a method detailed in https://www.youtube.com/watch?v=sd8SM8YWP9U

Possible fixes:

  • Move the data for written books out of chunks and into a separate location, similar to how maps are handled.

  • Reinterpret a length of 255 in the header to mean 255 or more. To find the actual length, query the first 4 bytes of the chunk data. The maximum chunk size will be increased to 2^31-1 which may cause its own problems (such as the file system being unable to handle many overlarge chunks in the Anvil file).

Still an issue on 1.14.3 pre 1, used the book duping method to reproduce this, note I didn't use the checkerboard pattern but instead used creative inventory to dupe a book 100 pages in size filled with random text and kept the duplicates to fill in 1x1 chest, as you can see from the logs, it surpassed the max allowed size which causes the exception and the revert

first exception is thrown for pressing esc (which saves the world on singleplayer), 2nd is thrown upon exiting the world, which again saves the world, while I don't know if there are any differences for these functions, I assumed it'll be best if both were logged

also note this behavior is similar in multiplayer, which makes this an exploit in many servers

14:25:29
net.minecraft.server.MinecraftServer
Server thread
info
Saving chunks for level 'New World'/minecraft:the_end
14:25:29
net.minecraft.server.MinecraftServer
Server thread
info
Saving chunks for level 'New World'/minecraft:overworld
14:25:29
r
Client thread
info
Loaded 143 advancements
14:25:30
net.minecraft.server.MinecraftServer
Server thread
info
Saving chunks for level 'New World'/minecraft:the_nether
14:25:47
dxl
Server thread
info
Saving and pausing game...
14:25:47
net.minecraft.server.MinecraftServer
Server thread
info
Saving chunks for level 'New World'/minecraft:the_end
14:25:47
net.minecraft.server.MinecraftServer
Server thread
info
Saving chunks for level 'New World'/minecraft:overworld
14:25:47
us
Server thread
error
Failed to save chunk -8,20 java.lang.RuntimeException: Too big to save, 1363104 > 1048576 at bya.a(SourceFile:244) at bya$a.close(SourceFile:231) at java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:241) at java.io.FilterOutputStream.close(FilterOutputStream.java:159) at java.io.FilterOutputStream.close(FilterOutputStream.java:159) at byb.a(SourceFile:61) at bxy.a(SourceFile:58) at us.a(SourceFile:695) at us.e(SourceFile:371) at us$$Lambda$2976/1348121416.accept(Unknown Source) at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) at java.util.Iterator.forEachRemaining(Iterator.java:116) at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502) at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) at us.a(SourceFile:368) at ve.a(SourceFile:282) at vg.a(SourceFile:741) at net.minecraft.server.MinecraftServer.a(SourceFile:529) at dxl.a(SourceFile:120) at net.minecraft.server.MinecraftServer.run(SourceFile:632) at java.lang.Thread.run(Thread.java:745)
14:25:47
net.minecraft.server.MinecraftServer
Server thread
info
Saving chunks for level 'New World'/minecraft:the_nether
14:25:48
vy
Server thread
info
KillA2k18 lost connection: Disconnected
14:25:48
net.minecraft.server.MinecraftServer
Server thread
info
KillA2k18 left the game
14:25:48
vy
Server thread
info
Stopping singleplayer server as player logged out
14:25:48
net.minecraft.server.MinecraftServer
Server thread
info
Stopping server
14:25:48
net.minecraft.server.MinecraftServer
Server thread
info
Saving players
14:25:48
net.minecraft.server.MinecraftServer
Server thread
info
Saving worlds
14:25:48
net.minecraft.server.MinecraftServer
Server thread
info
Saving chunks for level 'New World'/minecraft:the_end
14:25:48
us
Server thread
info
ThreadedAnvilChunkStorage (DIM1): All chunks are saved
14:25:48
net.minecraft.server.MinecraftServer
Server thread
info
Saving chunks for level 'New World'/minecraft:overworld
14:25:48
us
Server thread
error
Failed to save chunk -8,20 java.lang.RuntimeException: Too big to save, 1363104 > 1048576 at bya.a(SourceFile:244) at bya$a.close(SourceFile:231) at java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:241) at java.io.FilterOutputStream.close(FilterOutputStream.java:159) at java.io.FilterOutputStream.close(FilterOutputStream.java:159) at byb.a(SourceFile:61) at bxy.a(SourceFile:58) at us.a(SourceFile:695) at us$$Lambda$3125/1876601227.test(Unknown Source) at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174) at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502) at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) at us.a(SourceFile:358) at ve.a(SourceFile:282) at vg.a(SourceFile:741) at net.minecraft.server.MinecraftServer.a(SourceFile:529) at net.minecraft.server.MinecraftServer.l(SourceFile:564) at dxl.l(SourceFile:251) at net.minecraft.server.MinecraftServer.run(SourceFile:666) at java.lang.Thread.run(Thread.java:745)
14:25:48
us
Server thread
info
ThreadedAnvilChunkStorage (New World (2)): All chunks are saved
14:25:48
net.minecraft.server.MinecraftServer
Server thread
info
Saving chunks for level 'New World'/minecraft:the_nether
14:25:48
us
Server thread
info
ThreadedAnvilChunkStorage (DIM-1): All chunks are saved

 

Can this be reproduced in the latest snapshots (currently 19w37a)? There have been various fixes in regards to word saving and chunk storage.

This report is currently missing crucial information. Please take a look at the other comments to find out what we are looking for.
If you added the required information and a moderator sees your comment, they will reopen and update the report. However, if you think your update to this report has been overlooked or you want to make sure that this report is reopened, you can contact the Mojira staff on Discord or Reddit.
-- I am a bot. This action was performed automatically! Please report any issues on Discord or Reddit

Hamsterraecher

(Unassigned)

Community Consensus

(Unassigned)

Minecraft 1.4.5, Minecraft 1.4.6, Minecraft 1.4.7, Snapshot 13w01b, Snapshot 13w10b, ..., Minecraft 1.7.10, Minecraft 1.8, Minecraft 1.8.1-pre3, Minecraft 1.8.4, Minecraft 1.8.6

Retrieved