Holographic Displays

Holographic Displays

3M Downloads

[paper 1.17-dev] Unhandled exception occured in onPacketSending(PacketEvent) for HolographicDisplays

hetile1 opened this issue ยท 3 comments

commented

Description

Running latest papermc 1.17 (#15) and latest snapshot of HD (2.4.8-snap), the server throw a console error on join for every player. It doesn't seem to affect the client since the HD are actually displayed in-game. This is probably not 100% plugin's fault since the same setup using only spigot didn't send any errors.

This is the error on login:

[13:19:39] [Server thread/INFO]: hetile joined the game
[13:19:39] [Server thread/ERROR]: [HolographicDisplays] Unhandled exception occured in onPacketSending(PacketEvent) for HolographicDisplays
java.lang.NoClassDefFoundError: org/bukkit/craftbukkit/libs/it/unimi/dsi/fastutil/ints/Int2ObjectMap
        at com.comphenix.protocol.reflect.instances.DefaultInstances.lambda$static$0(DefaultInstances.java:57) ~[?:?]
        at com.comphenix.protocol.reflect.instances.DefaultInstances.getDefaultInternal(DefaultInstances.java:288) ~[?:?]
        at com.comphenix.protocol.reflect.instances.DefaultInstances.getDefault(DefaultInstances.java:195) ~[?:?]
        at com.comphenix.protocol.reflect.instances.DefaultInstances.create(DefaultInstances.java:363) ~[?:?]
        at com.comphenix.protocol.reflect.cloning.FieldCloner.canClone(FieldCloner.java:77) ~[?:?]
        at com.comphenix.protocol.reflect.cloning.AggregateCloner.getFirstCloner(AggregateCloner.java:235) ~[?:?]
        at com.comphenix.protocol.reflect.cloning.AggregateCloner.clone(AggregateCloner.java:252) ~[?:?]
        at com.comphenix.protocol.events.PacketContainer.deepClone(PacketContainer.java:1162) ~[?:?]
        at com.gmail.filoghost.holographicdisplays.bridge.protocollib.current.ProtocolLibHookImpl$1.onPacketSending(ProtocolLibHookImpl.java:154) ~[?:?]
        at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195) ~[?:?]
        at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149) ~[?:?]
        at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:535) ~[?:?]
        at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:516) ~[?:?]
        at com.comphenix.protocol.injector.netty.ProtocolInjector.packetQueued(ProtocolInjector.java:346) ~[?:?]
        at com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketSending(ProtocolInjector.java:308) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector.processSending(ChannelInjector.java:433) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector.access$800(ChannelInjector.java:70) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector$3.handleScheduled(ChannelInjector.java:373) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector$3.onMessageScheduled(ChannelInjector.java:343) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelProxy$2.schedulingRunnable(ChannelProxy.java:127) ~[?:?]
        at com.comphenix.protocol.injector.netty.EventLoopProxy.execute(EventLoopProxy.java:95) ~[?:?]
        at net.minecraft.network.NetworkManager.b(NetworkManager.java:294) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at net.minecraft.network.NetworkManager.sendPacket(NetworkManager.java:258) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:1920) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at net.minecraft.server.network.PlayerConnection.sendPacket(PlayerConnection.java:1906) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at net.minecraft.server.level.EntityTrackerEntry.a(EntityTrackerEntry.java:285) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at net.minecraft.server.level.EntityTrackerEntry.b(EntityTrackerEntry.java:268) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at net.minecraft.server.level.PlayerChunkMap$EntityTracker.updatePlayer(PlayerChunkMap.java:2381) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at net.minecraft.server.level.PlayerChunkMap.addEntity(PlayerChunkMap.java:2002) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at net.minecraft.server.players.PlayerList.postChunkLoadJoin(PlayerList.java:385) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at net.minecraft.server.players.PlayerList.lambda$placeNewPlayer$1(PlayerList.java:298) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at net.minecraft.server.network.PlayerConnection.tick(PlayerConnection.java:308) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at net.minecraft.network.NetworkManager.a(NetworkManager.java:399) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at net.minecraft.server.network.ServerConnection.c(ServerConnection.java:196) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1576) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:476) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1404) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1180) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at java.lang.Thread.run(Thread.java:831) [?:?]
Caused by: java.lang.ClassNotFoundException: org.bukkit.craftbukkit.libs.it.unimi.dsi.fastutil.ints.Int2ObjectMap
        at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:146) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:103) ~[patched_1.17.jar:git-Paper-"33d6b6f"]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:519) ~[?:?]
        ... 40 more
[13:19:39] [Server thread/ERROR]: Parameters:
  net.minecraft.network.protocol.game.PacketPlayOutEntityMetadata@50b10e93[
    a=203
    b=[net.minecraft.network.syncher.DataWatcher$Item@fd3ee6, net.minecraft.network.syncher.DataWatcher$Item@2f96abe6, net.minecraft.network.syncher.DataWatcher$Item@13cf8f60, net.minecraft.network.syncher.DataWatcher$Item@730d7eb5, net.minecraft.network.syncher.DataWatcher$Item@1aee743c, net.minecraft.network.syncher.DataWatcher$Item@bd351c, net.minecraft.network.syncher.DataWatcher$Item@6fe60ee4, net.minecraft.network.syncher.DataWatcher$Item@77063d7b, net.minecraft.network.syncher.DataWatcher$Item@1ea0f833, net.minecraft.network.syncher.DataWatcher$Item@775c3b2e, net.minecraft.network.syncher.DataWatcher$Item@28129a0f, net.minecraft.network.syncher.DataWatcher$Item@6e399793, net.minecraft.network.syncher.DataWatcher$Item@77418b07, net.minecraft.network.syncher.DataWatcher$Item@61d25b8a, net.minecraft.network.syncher.DataWatcher$Item@5dac675d, net.minecraft.network.syncher.DataWatcher$Item@7f0be674, net.minecraft.network.syncher.DataWatcher$Item@4e94321, net.minecraft.network.syncher.DataWatcher$Item@7794563d, net.minecraft.network.syncher.DataWatcher$Item@493c511d, net.minecraft.network.syncher.DataWatcher$Item@69243608, net.minecraft.network.syncher.DataWatcher$Item@271a9046, net.minecraft.network.syncher.DataWatcher$Item@726a0f26]
  ]

How to reproduce

  • Install papermc 1.17 (#15 at the time of writing this)
  • Install 2.4.8-snap of HD
  • Create some HD
  • Login on the server

Platform

  • Server version (output of /version):
    This server is running Paper version git-Paper-"33d6b6f" (MC: 1.17) (Implementing API version 1.17-R0.1-SNAPSHOT)

  • Holographic Displays version (check with /hd):
    Server is running Holographic Displays v2.4.8-SNAPSHOT-b173 by filoghost

  • ProtocolLib version, if installed (check with /protocol version):
    ProtocolLib v4.7.0-SNAPSHOT-b508

  • Do you use plugins to allow players to join with multiple Minecraft versions (such as ViaVersion, ProtocolSupport, ...):
    Yes, ViaVersion and ViaBackward are both installed on the server.
    ViaVersion 4.0.1-SNAPSHOT
    ViaBackwards-4.0.0 (the 4.0.1-snap doesn't work)

Additional context

Here is the server full bootlog: https://pastebin.com/raw/kLtqCGNP

Not sure if this is relevant, but the server is also running as a bungecord node (running latest waterfall)

Edit

Tried on build # 19 of paper with same results
Tried on build # 26 of paper with same results

commented

Looks like a ProtocolLib error. Update to its latest dev build. Also try without ViaVersion and ViaBackwards.

commented

I am not exactly sure what fixed it but I updated to paper build # 30 and bumped Protocolib to the latest build (4.7.0-SNAPSHOT-b521 I was already on the 4.7 branch tho..

With this, HD isn't complaining on everyone's join (I did not remove ViaVersion and ViaBackwards).

commented

I'm going to pin this, in case someone faces the same problem.