ProtocolLib

3M Downloads

1.19 server crash

MWHunter opened this issue ยท 2 comments

commented
  • [x ] This issue is not solved in a development build

Describe the bug
The server crashes

To Reproduce
Steps to reproduce the behavior:
???

Expected behavior
The server to not crash

Screenshots
If applicable, add screenshots to help explain your problem.

Version Info
dump-2022-07-02_00.35.08.txt

Additional conte
crash-2022-07-01_23.05.45-server.txt
xt

commented

We should probably switch from HashSet to a different collection anyway, considering that most packets don't override hashCode and the identity hash code computation is painfully slow...

commented

I also had this problem on my 1.19 server.
ProtocolLib 5.0.0-SNAPSHOT #573

[05:33:26] [Server thread/ERROR]: Encountered an unexpected exception
net.minecraft.ReportedException: Sending packet
	at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1598) ~[purpur-1.19.jar:git-Purpur-1689]
	at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:485) ~[purpur-1.19.jar:git-Purpur-1689]
	at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1441) ~[purpur-1.19.jar:git-Purpur-1689]
	at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1208) ~[purpur-1.19.jar:git-Purpur-1689]
	at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:307) ~[purpur-1.19.jar:git-Purpur-1689]
	at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.ClassCastException: class java.util.HashMap$Node cannot be cast to class java.util.HashMap$TreeNode (java.util.HashMap$Node and java.util.HashMap$TreeNode are in module java.base of loader 'bootstrap')
	at java.util.HashMap$TreeNode.moveRootToFront(HashMap.java:1986) ~[?:?]
	at java.util.HashMap$TreeNode.treeify(HashMap.java:2102) ~[?:?]
	at java.util.HashMap.treeifyBin(HashMap.java:770) ~[?:?]
	at java.util.HashMap.putVal(HashMap.java:642) ~[?:?]
	at java.util.HashMap.put(HashMap.java:610) ~[?:?]
	at java.util.HashSet.add(HashSet.java:221) ~[?:?]
	at com.comphenix.protocol.injector.netty.channel.NettyChannelInjector.markProcessed(NettyChannelInjector.java:579) ~[ProtocolLib.jar:?]
	at com.comphenix.protocol.injector.netty.channel.NettyChannelInjector.processOutbound(NettyChannelInjector.java:511) ~[ProtocolLib.jar:?]
	at com.comphenix.protocol.injector.netty.channel.NettyChannelInjector$2.proxyRunnable(NettyChannelInjector.java:467) ~[ProtocolLib.jar:?]
	at com.comphenix.protocol.injector.netty.channel.NettyEventLoopProxy.execute(NettyEventLoopProxy.java:220) ~[ProtocolLib.jar:?]
	at net.minecraft.network.Connection.writePacket(Connection.java:434) ~[?:?]
	at net.minecraft.network.Connection.send(Connection.java:383) ~[?:?]
	at net.minecraft.server.network.ServerGamePacketListenerImpl.send(ServerGamePacketListenerImpl.java:2150) ~[?:?]
	at net.minecraft.server.network.ServerGamePacketListenerImpl.send(ServerGamePacketListenerImpl.java:2136) ~[?:?]
	at net.minecraft.server.level.ChunkMap$TrackedEntity.broadcast(ChunkMap.java:2341) ~[?:?]
	at net.minecraft.server.level.ServerEntity.sendChanges(ServerEntity.java:197) ~[?:?]
	at net.minecraft.server.level.ChunkTracker.processTrackQueue(ChunkTracker.java:2101) ~[?:?]
	at net.minecraft.server.level.ChunkTracker.tick(ChunkTracker.java:2112) ~[?:?]
	at net.minecraft.server.level.ServerChunkCache.tickChunks(ServerChunkCache.java:1088) ~[?:?]
	at net.minecraft.server.level.ServerChunkCache.tick(ServerChunkCache.java:911) ~[?:?]
	at net.minecraft.server.level.ServerLevel.tick(ServerLevel.java:668) ~[?:?]
	at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1579) ~[purpur-1.19.jar:git-Purpur-1689]
	... 5 more
[05:33:26] [Server thread/ERROR]: 	Cause of unexpected exception was
java.lang.ClassCastException: class java.util.HashMap$Node cannot be cast to class java.util.HashMap$TreeNode (java.util.HashMap$Node and java.util.HashMap$TreeNode are in module java.base of loader 'bootstrap')
	at java.util.HashMap$TreeNode.moveRootToFront(HashMap.java:1986) ~[?:?]
	at java.util.HashMap$TreeNode.treeify(HashMap.java:2102) ~[?:?]
	at java.util.HashMap.treeifyBin(HashMap.java:770) ~[?:?]
	at java.util.HashMap.putVal(HashMap.java:642) ~[?:?]
	at java.util.HashMap.put(HashMap.java:610) ~[?:?]
	at java.util.HashSet.add(HashSet.java:221) ~[?:?]
	at com.comphenix.protocol.injector.netty.channel.NettyChannelInjector.markProcessed(NettyChannelInjector.java:579) ~[ProtocolLib.jar:?]
	at com.comphenix.protocol.injector.netty.channel.NettyChannelInjector.processOutbound(NettyChannelInjector.java:511) ~[ProtocolLib.jar:?]
	at com.comphenix.protocol.injector.netty.channel.NettyChannelInjector$2.proxyRunnable(NettyChannelInjector.java:467) ~[ProtocolLib.jar:?]
	at com.comphenix.protocol.injector.netty.channel.NettyEventLoopProxy.execute(NettyEventLoopProxy.java:220) ~[ProtocolLib.jar:?]
	at net.minecraft.network.Connection.writePacket(Connection.java:434) ~[?:?]
	at net.minecraft.network.Connection.send(Connection.java:383) ~[?:?]
	at net.minecraft.server.network.ServerGamePacketListenerImpl.send(ServerGamePacketListenerImpl.java:2150) ~[?:?]
	at net.minecraft.server.network.ServerGamePacketListenerImpl.send(ServerGamePacketListenerImpl.java:2136) ~[?:?]
	at net.minecraft.server.level.ChunkMap$TrackedEntity.broadcast(ChunkMap.java:2341) ~[?:?]
	at net.minecraft.server.level.ServerEntity.sendChanges(ServerEntity.java:197) ~[?:?]
	at net.minecraft.server.level.ChunkTracker.processTrackQueue(ChunkTracker.java:2101) ~[?:?]
	at net.minecraft.server.level.ChunkTracker.tick(ChunkTracker.java:2112) ~[?:?]
	at net.minecraft.server.level.ServerChunkCache.tickChunks(ServerChunkCache.java:1088) ~[?:?]
	at net.minecraft.server.level.ServerChunkCache.tick(ServerChunkCache.java:911) ~[?:?]
	at net.minecraft.server.level.ServerLevel.tick(ServerLevel.java:668) ~[?:?]
	at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1579) ~[purpur-1.19.jar:git-Purpur-1689]
	at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:485) ~[purpur-1.19.jar:git-Purpur-1689]
	at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1441) ~[purpur-1.19.jar:git-Purpur-1689]
	at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1208) ~[purpur-1.19.jar:git-Purpur-1689]
	at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:307) ~[purpur-1.19.jar:git-Purpur-1689]
	at java.lang.Thread.run(Thread.java:833) ~[?:?]