After doing some more testing on MC-128509, I've found that the updates are not exclusive to portals.
This is a problem because it can lead to things being triggered/broken that shouldn't be.
To reproduce
Download
, which contains stairs over floating sand in all possible positions.
Load it in Minecraft 1.12.2, and observe the totally legitimate floating sand.
Load it in Minecraft 18w15a (or another 1.13 snapshot), and observe that some of the sand has fallen (note that on lazy (far away) chunks, it will fall on top of the slab instead of breaking).
Alternatively:
Download
, which contains a new form of update detector.
Load it in 1.12.2, and observe that nothing has exploded.
Load it in 1.13, and observe an explosion.
Blocks
The following blocks are known to do it:
Stairs (all varieties)
Cobblestone walls
Fence gates
Glass panes
Vines
Redstone
Redstone Repeaters
Fire
Tripwire
Chests
The following blocks are known not to do it:
Stone
Anvils
Carpet
Ladders
Banners (only tested floor)
Signs (both wall and floor)
Doors
Leaves
End rods
Buttons
Observers
Daylight detector
Trapdoors
Droppers
The pattern
This only happens for blocks on chunk borders. The blocks that are updated vary by the position: if it's on the edge of a chunk, all blocks on that edge (for all Y values) are updated; if it's on the corner all blocks on that corner are updated. Blocks not on an edge/corner are not updated at all.
Call stacks
Obtained via JDB; these are copied from MC-128509.
Obf, as found in 18w15a:
> stop at bct:109
Set breakpoint bct:109
>
Breakpoint hit: "thread=Server thread", bct.a(), line=109 bci=0
Server thread[1] where
[1] bct.a (SourceFile:109)
[2] bhj.a (SourceFile:244)
[3] bjc$b$1.a (SourceFile:210)
[4] bjc.a (SourceFile:155)
[5] bjc.a (SourceFile:147)
[6] bjc.a (SourceFile:58)
[7] biv.B (SourceFile:1,043)
[8] biv$$Lambda$905.848302274.run (null)
[9] java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:511)
[10] java.util.concurrent.FutureTask.run (FutureTask.java:266)
[11] k.a (SourceFile:146)
[12] net.minecraft.server.MinecraftServer.w (SourceFile:671)
[13] net.minecraft.server.MinecraftServer.v (SourceFile:627)
[14] dal.v (SourceFile:155)
[15] net.minecraft.server.MinecraftServer.run (SourceFile:532)
[16] java.lang.Thread.run (Thread.java:748)
And as found in 18w14b:
> stop at bcj:109
Set breakpoint bcj:109
>
Breakpoint hit: "thread=WorldGen-Worker-3", bcj.a(), line=109 bci=0
WorldGen-Worker-3[1] where
[1] bcj.a (SourceFile:109)
[2] bgy.a (SourceFile:244)
[3] bir$b$1.a (SourceFile:210)
[4] bir.a (SourceFile:155)
[5] bir.a (SourceFile:147)
[6] bir.a (SourceFile:58)
[7] bik.B (SourceFile:1,044)
[8] bik.G (SourceFile:1,148)
[9] se.a (SourceFile:33)
[10] se.put (SourceFile:11)
[11] it.unimi.dsi.fastutil.longs.Long2ObjectMaps$SynchronizedMap.put (Long2ObjectMaps.java:371)
[12] sg.a (SourceFile:207)
[13] sg$$Lambda$937.1969878285.apply (null)
[14] java.util.concurrent.CompletableFuture.uniApply (CompletableFuture.java:602)
[15] java.util.concurrent.CompletableFuture$UniApply.tryFire (CompletableFuture.java:577)
[16] java.util.concurrent.CompletableFuture.postComplete (CompletableFuture.java:474)
[17] java.util.concurrent.CompletableFuture.postFire (CompletableFuture.java:561)
[18] java.util.concurrent.CompletableFuture$UniCompose.tryFire (CompletableFuture.java:929)
[19] java.util.concurrent.CompletableFuture$Completion.exec (CompletableFuture.java:443)
[20] java.util.concurrent.ForkJoinTask.doExec (ForkJoinTask.java:289)
[21] java.util.concurrent.ForkJoinPool$WorkQueue.runTask (ForkJoinPool.java:1,056)
[22] java.util.concurrent.ForkJoinPool.runWorker (ForkJoinPool.java:1,692)
[23] java.util.concurrent.ForkJoinWorkerThread.run (ForkJoinWorkerThread.java:157)
Notes
The first affected snapshot is 17w47b (probably a is affected too; 17w46a is not), which was the snapshot that introduced the flattening.
Linked issues
discovered while testing 1
relates to 1
Attachments
Comments 0
No comments.