Folia
Folia copied to clipboard
"TrackedValues" is null when sending ClientboundSetEntityDataPacket to client and causes client to crash
Expected behavior
No exceptions and everything works fine.
Observed/Actual behavior
Exception threw and then the client crashed.
Steps/models to reproduce
- playing normally with more than one player online in the same region
- crash
Plugin and Datapack List
BlueMap, BlueMap-Towny, Brewery, Chunky, CMI, CMILib, CoreProtect, FlagWar, floodgate InventoryRollbackPlus, LaggRemover, LuckPerms, NBTAPI, PlaceholderAPI, PlugManX, Scoreboard, SkinsRestorer, TheNewEconomy, Towny, TownyChat, Vault, ViaBackwards, ViaVersion, WorldEdit
Folia version
This server is running Folia version git-Folia-"25ee657" (MC: 1.20.4) (Implementing API version 1.20.4-R0.1-SNAPSHOT) (Git: 25ee657)
Other
[19:29:47 ERROR]: Packet encoding of packet ClientboundSetEntityDataPacket (ID: 86) threw (skippable? false) java.lang.NullPointerException: Cannot invoke "java.util.List.iterator()" because "trackedValues" is null at net.minecraft.network.protocol.game.ClientboundSetEntityDataPacket.pack(ClientboundSetEntityDataPacket.java:17) ~[?:?] at net.minecraft.network.protocol.game.ClientboundSetEntityDataPacket.write(ClientboundSetEntityDataPacket.java:38) ~[?:?] at net.minecraft.network.PacketEncoder.encode(PacketEncoder.java:42) ~[folia-1.20.4.jar:git-Folia-"25ee657"] at net.minecraft.network.PacketEncoder.encode(PacketEncoder.java:14) ~[folia-1.20.4.jar:git-Folia-"25ee657"] at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107) ~[netty-codec-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:863) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:968) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:113) ~[netty-codec-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:940) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:966) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:934) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:984) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1025) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:306) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at net.minecraft.network.Connection.doSendPacket(Connection.java:475) ~[?:?] at net.minecraft.network.Connection.lambda$sendPacket$10(Connection.java:460) ~[?:?] at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at java.lang.Thread.run(Thread.java:842) ~[?:?] (Player xxx left the game)
Client version: 1.20.4
Looks like it might be a problem with LaggRemover.
UPDATE: It happens occasionally even with LaggRemover removed.
There comes a level of "it's very unlikely to be folia inducing this", if you know what you're doing, modify the constructor for that class to throw an exception if null is passed in instead of actual data
There comes a level of "it's very unlikely to be folia inducing this", if you know what you're doing, modify the constructor for that class to throw an exception if null is passed in instead of actual data
ok im trying