Mojira Archive
MC-231109

TPS Lag when there are many shulker boxes full of full bundles in player, donkey, mule, llama, teader llama chest, boat with chest, minecart with chest, bamboo raft with chest or minecart with hopper inventory

TPS Lag when there are many shulker boxes full of full bundles in player, donkey, mule, llama, teader llama chest, boat with chest, minecart with chest, bamboo raft with chest or minecart with hopper inventory.

May cause the server to kick all players repeatedly, when you use pick block on the chest with NBT. Also affects the minecraft realms.

For the convenience of testing, the world file has been attached.

May make the game failed to save chunk:

Game output
01:53:30.355
Failed to save chunk -31,42
java.lang.NullPointerException: Cannot read field "d" because "$$0" is null
	at ddm.b(SourceFile:23)
	at com.mojang.serialization.codecs.RecordCodecBuilder$Instance.lambda$ap2$4(RecordCodecBuilder.java:215)
	at com.mojang.serialization.codecs.RecordCodecBuilder$2.encode(RecordCodecBuilder.java:112)
	at com.mojang.serialization.MapCodec$MapCodecCodec.encode(MapCodec.java:96)
	at xz.a(SourceFile:34)
	at xv.a(SourceFile:42)
	at xv.encode(SourceFile:13)
	at com.mojang.serialization.Encoder.encodeStart(Encoder.java:14)
	at com.mojang.serialization.codecs.FieldEncoder.encode(FieldEncoder.java:24)
	at com.mojang.serialization.MapCodec$1.encode(MapCodec.java:39)
	at com.mojang.serialization.codecs.RecordCodecBuilder$Instance$4.encode(RecordCodecBuilder.java:222)
	at com.mojang.serialization.codecs.RecordCodecBuilder$2.encode(RecordCodecBuilder.java:112)
	at com.mojang.serialization.codecs.KeyDispatchCodec.encode(KeyDispatchCodec.java:92)
	at com.mojang.serialization.MapCodec$MapCodecCodec.encode(MapCodec.java:96)
	at com.mojang.serialization.Encoder.encodeStart(Encoder.java:14)
	at dem.a(SourceFile:72)
	at det.a(SourceFile:119)
	at dfb.a(SourceFile:53)
	at dev.a(SourceFile:81)
	at cqn.a(SourceFile:421)
	at cqn.a(SourceFile:373)
	at acp.a(SourceFile:758)
	at acp.a(SourceFile:516)
	at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718)
	at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482)
	at acp.b(SourceFile:497)
	at acp.a(SourceFile:470)
	at ada.a(SourceFile:323)
	at adc.a(SourceFile:300)
	at net.minecraft.server.MinecraftServer.b(SourceFile:876)
	at net.minecraft.server.MinecraftServer.a(SourceFile:820)
	at fcg.a(SourceFile:99)
	at net.minecraft.server.MinecraftServer.w(SourceFile:684)
	at net.minecraft.server.MinecraftServer.a(SourceFile:270)
	at java.base/java.lang.Thread.run(Thread.java:833)
01:53:56.666
Failed to save chunk 13,-18
java.lang.NullPointerException: Cannot read field "d" because "$$0" is null
	at ddm.b(SourceFile:23)
	at com.mojang.serialization.codecs.RecordCodecBuilder$Instance.lambda$ap2$4(RecordCodecBuilder.java:215)
	at com.mojang.serialization.codecs.RecordCodecBuilder$2.encode(RecordCodecBuilder.java:112)
	at com.mojang.serialization.MapCodec$MapCodecCodec.encode(MapCodec.java:96)
	at xz.a(SourceFile:34)
	at xv.a(SourceFile:42)
	at xv.encode(SourceFile:13)
	at com.mojang.serialization.Encoder.encodeStart(Encoder.java:14)
	at com.mojang.serialization.codecs.FieldEncoder.encode(FieldEncoder.java:24)
	at com.mojang.serialization.MapCodec$1.encode(MapCodec.java:39)
	at com.mojang.serialization.codecs.RecordCodecBuilder$Instance$4.encode(RecordCodecBuilder.java:222)
	at com.mojang.serialization.codecs.RecordCodecBuilder$2.encode(RecordCodecBuilder.java:112)
	at com.mojang.serialization.codecs.KeyDispatchCodec.encode(KeyDispatchCodec.java:92)
	at com.mojang.serialization.MapCodec$MapCodecCodec.encode(MapCodec.java:96)
	at com.mojang.serialization.Encoder.encodeStart(Encoder.java:14)
	at dem.a(SourceFile:72)
	at det.a(SourceFile:119)
	at dfb.a(SourceFile:53)
	at dev.a(SourceFile:81)
	at cqn.a(SourceFile:421)
	at cqn.a(SourceFile:373)
	at acp.a(SourceFile:758)
	at acp.a(SourceFile:516)
	at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718)
	at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482)
	at acp.b(SourceFile:497)
	at acp.a(SourceFile:470)
	at ada.a(SourceFile:323)
	at adc.a(SourceFile:300)
	at net.minecraft.server.MinecraftServer.b(SourceFile:876)
	at net.minecraft.server.MinecraftServer.a(SourceFile:820)
	at fcg.a(SourceFile:99)
	at net.minecraft.server.MinecraftServer.w(SourceFile:684)
	at net.minecraft.server.MinecraftServer.a(SourceFile:270)
	at java.base/java.lang.Thread.run(Thread.java:833)
01:54:03.337
Failed to save chunk 5,4
java.lang.NullPointerException: Cannot read field "d" because "$$0" is null
	at ddm.b(SourceFile:23)
	at com.mojang.serialization.codecs.RecordCodecBuilder$Instance.lambda$ap2$4(RecordCodecBuilder.java:215)
	at com.mojang.serialization.codecs.RecordCodecBuilder$2.encode(RecordCodecBuilder.java:112)
	at com.mojang.serialization.MapCodec$MapCodecCodec.encode(MapCodec.java:96)
	at xz.a(SourceFile:34)
	at xv.a(SourceFile:42)
	at xv.encode(SourceFile:13)
	at com.mojang.serialization.Encoder.encodeStart(Encoder.java:14)
	at com.mojang.serialization.codecs.FieldEncoder.encode(FieldEncoder.java:24)
	at com.mojang.serialization.MapCodec$1.encode(MapCodec.java:39)
	at com.mojang.serialization.codecs.RecordCodecBuilder$Instance$4.encode(RecordCodecBuilder.java:222)
	at com.mojang.serialization.codecs.RecordCodecBuilder$2.encode(RecordCodecBuilder.java:112)
	at com.mojang.serialization.codecs.KeyDispatchCodec.encode(KeyDispatchCodec.java:92)
	at com.mojang.serialization.MapCodec$MapCodecCodec.encode(MapCodec.java:96)
	at com.mojang.serialization.Encoder.encodeStart(Encoder.java:14)
	at dem.a(SourceFile:72)
	at det.a(SourceFile:119)
	at dfb.a(SourceFile:53)
	at dev.a(SourceFile:81)
	at cqn.a(SourceFile:421)
	at cqn.a(SourceFile:373)
	at acp.a(SourceFile:758)
	at acp.e(SourceFile:457)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
	at it.unimi.dsi.fastutil.longs.Long2ObjectLinkedOpenHashMap$ValueIterator.acceptOnIndex(Long2ObjectLinkedOpenHashMap.java:1736)
	at it.unimi.dsi.fastutil.longs.Long2ObjectLinkedOpenHashMap$ValueIterator.acceptOnIndex(Long2ObjectLinkedOpenHashMap.java:1723)
	at it.unimi.dsi.fastutil.longs.Long2ObjectLinkedOpenHashMap$MapIterator.forEachRemaining(Long2ObjectLinkedOpenHashMap.java:1260)
	at it.unimi.dsi.fastutil.longs.Long2ObjectLinkedOpenHashMap$ValueIterator.forEachRemaining(Long2ObjectLinkedOpenHashMap.java:1723)
	at it.unimi.dsi.fastutil.objects.ObjectSpliterators$SpliteratorFromIterator.forEachRemaining(ObjectSpliterators.java:1194)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
	at acp.a(SourceFile:454)
	at ada.a(SourceFile:305)
	at adc.a(SourceFile:741)
	at net.minecraft.server.MinecraftServer.a(SourceFile:561)
	at net.minecraft.server.MinecraftServer.b(SourceFile:585)
	at fcg.a(SourceFile:87)
	at net.minecraft.server.MinecraftServer.w(SourceFile:684)
	at net.minecraft.server.MinecraftServer.a(SourceFile:270)
	at java.base/java.lang.Thread.run(Thread.java:833)