packetevents icon indicating copy to clipboard operation
packetevents copied to clipboard

Decoding exeption that prevent ppl from joining

Open nicolube opened this issue 1 year ago • 1 comments

Describe the bug A clear and concise description of what the bug is.

We encounter a exeption from time to time that prevents users from joining.

It prevents user from joining, this applies to all users that join after the exeption is first called

Software brand Please let us know what software you are using. Eg. Spigot 1.18.2, Paper 1.18.2, Tuinity 1.18.2, Pufferfish 1.18.2, etc... Make sure to mention the version of the software.

Current: git-Purpur-2050 (MC: 1.20.1)* Previous: git-Purpur-2023 (MC: 1.20.1)

Plugins Please give us a list of your plugins. Sometimes we run into incompatibilities. Having an overview of the plugins on your server can really help identify the problem quicker. Eg. ViaVersion, ProtocolLib, HolographicDisplays You may also provide a screenshot.

ViaVersion, ProtocolLib, HolographicDisplays, Citizens, Spark, Vault, GrimAC Some of ur own Plugins that are not common, the only plugin that manipulates the Info packet sets the displayname to null

How To Reproduce Steps to reproduce the behavior: Example:

  1. Join with the 1.18.2 vanilla minecraft client.
  2. Spam
  3. ....
  4. See error

We don't know how to, the server sometimes runs with out any issues for days and weeks. And that almost randomly a exeption shows up.

 [ac.grim.grimac.shaded.com.github.retrooper.packetevents.PacketEventsAPI] PacketEvents caught an unhandled exception while calling your listener.
java.lang.RuntimeException: The received encoded string buffer length is longer than maximum allowed (1595237 > 1048576)
	at ac.grim.grimac.shaded.com.github.retrooper.packetevents.wrapper.PacketWrapper.readString(PacketWrapper.java:376) ~[Grim.jar:?]
	at ac.grim.grimac.shaded.com.github.retrooper.packetevents.wrapper.PacketWrapper.readComponentJSON(PacketWrapper.java:391) ~[Grim.jar:?]
	at ac.grim.grimac.shaded.com.github.retrooper.packetevents.wrapper.PacketWrapper.readComponent(PacketWrapper.java:420) ~[Grim.jar:?]
	at ac.grim.grimac.shaded.com.github.retrooper.packetevents.wrapper.PacketWrapper.readOptional(PacketWrapper.java:1059) ~[Grim.jar:?]
	at ac.grim.grimac.shaded.com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerPlayerInfoUpdate.lambda$read$0(WrapperPlayServerPlayerInfoUpdate.java:188) ~[Grim.jar:?]
	at ac.grim.grimac.shaded.com.github.retrooper.packetevents.wrapper.PacketWrapper.readCollection(PacketWrapper.java:1076) ~[Grim.jar:?]
	at ac.grim.grimac.shaded.com.github.retrooper.packetevents.wrapper.PacketWrapper.readList(PacketWrapper.java:1089) ~[Grim.jar:?]
	at ac.grim.grimac.shaded.com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerPlayerInfoUpdate.read(WrapperPlayServerPlayerInfoUpdate.java:152) ~[Grim.jar:?]
	at ac.grim.grimac.shaded.com.github.retrooper.packetevents.wrapper.PacketWrapper.readEvent(PacketWrapper.java:175) ~[Grim.jar:?]
	at ac.grim.grimac.shaded.com.github.retrooper.packetevents.wrapper.PacketWrapper.<init>(PacketWrapper.java:120) ~[Grim.jar:?]
	at ac.grim.grimac.shaded.com.github.retrooper.packetevents.wrapper.PacketWrapper.<init>(PacketWrapper.java:110) ~[Grim.jar:?]
	at ac.grim.grimac.shaded.com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerPlayerInfoUpdate.<init>(WrapperPlayServerPlayerInfoUpdate.java:125) ~[Grim.jar:?]
	at ac.grim.grimac.events.packets.PacketSetWrapperNull.onPacketSend(PacketSetWrapperNull.java:73) ~[Grim.jar:?]
	at ac.grim.grimac.shaded.com.github.retrooper.packetevents.event.PacketSendEvent.call(PacketSendEvent.java:51) ~[Grim.jar:?]
	at ac.grim.grimac.shaded.com.github.retrooper.packetevents.event.EventManager.callEvent(EventManager.java:52) ~[Grim.jar:?]
	at ac.grim.grimac.shaded.com.github.retrooper.packetevents.util.PacketEventsImplHelper.handleClientBoundPacket(PacketEventsImplHelper.java:44) ~[Grim.jar:?]
	at ac.grim.grimac.shaded.io.github.retrooper.packetevents.injector.handlers.PacketEventsEncoder.handleClientBoundPacket(PacketEventsEncoder.java:82) ~[Grim.jar:?]
	at ac.grim.grimac.shaded.io.github.retrooper.packetevents.injector.handlers.PacketEventsEncoder.encode(PacketEventsEncoder.java:67) ~[Grim.jar:?]
	at ac.grim.grimac.shaded.io.github.retrooper.packetevents.injector.handlers.PacketEventsEncoder.encode(PacketEventsEncoder.java:46) ~[Grim.jar:?]
	at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:90) ~[netty-codec-4.1.87.Final.jar:4.1.87.Final]
	at ac.grim.grimac.shaded.io.github.retrooper.packetevents.injector.handlers.PacketEventsEncoder.write(PacketEventsEncoder.java:101) ~[Grim.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:863) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:968) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:113) ~[netty-codec-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:863) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:968) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:120) ~[netty-codec-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:863) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:968) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:113) ~[netty-codec-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:940) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:966) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:934) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1020) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:311) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
	at com.comphenix.protocol.injector.netty.channel.NettyChannelProxy.writeAndFlush(NettyChannelProxy.java:227) ~[ProtocolLib.jar:?]
	at com.comphenix.protocol.injector.netty.channel.NettyChannelProxy.writeAndFlush(NettyChannelProxy.java:233) ~[ProtocolLib.jar:?]
	at net.minecraft.network.Connection.doSendPacket(Connection.java:476) ~[?:?]
	at net.minecraft.network.Connection.lambda$sendPacket$11(Connection.java:450) ~[?:?]
	at com.comphenix.protocol.injector.netty.channel.NettyEventLoopProxy.lambda$proxyRunnable$2(NettyEventLoopProxy.java:48) ~[ProtocolLib.jar:?]
	at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[netty-common-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[netty-common-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:403) ~[netty-transport-classes-epoll-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.87.Final.jar:4.1.87.Final]
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.87.Final.jar:4.1.87.Final]

Expected behavior A clear and concise description of what you expected to happen.

The plugin lets ppl onto the server event if the plugin encounters an error

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

Additional context Add any other context about the problem here.

nicolube avatar Sep 24 '23 15:09 nicolube

As far as i can see GrimAC just try's to parse a packet.

https://github.com/GrimAnticheat/Grim/blob/16f2e5427c2044a0cc616334f46a8b345e03f36e/src/main/java/ac/grim/grimac/events/packets/PacketSetWrapperNull.java#L73

nicolube avatar Sep 24 '23 16:09 nicolube