FabioZumbi12 / UltimateChat

Ultimate and advanced Chat for Bukkit and Sponge
GNU General Public License v3.0
31 stars 34 forks source link

[BUG] Enviar emotes usando "Win + ." no chat desconectando os jogadores #357

Open thel0thric opened 2 years ago

thel0thric commented 2 years ago

Quando qualquer jogador digita "/g " enviando um emote usando o Win + . (função do Windows 10 que abre uma aba de emotes) todos os jogadores do servidor são abruptamente desconectados. O problema parece estar na writeString do PacketBuffer, acreditamos que adicionar um try catch pro caso do erro rolar não mandar o pacote pros jogadores resolveria o problema.

Provavelmente tem a ver com a conversão pra utf8, já que os emotes são utf16.

PS: Caso o jogador tente enviar o emote sem usar um comando antes (como /g ou /l) nada acontece, e a mensagem é enviada ou em "?" ou chat limpo (sem caracteres).

thel0thric commented 2 years ago

message (19).txt

thel0thric commented 2 years ago

[15:10:41] [Server thread/INFO] [nucleus]: Surfista ran the command: /g 🐒

[15:10:41] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer]: [g] [Lvl 19] Aprendiz Surfista » 🐒? [15:10:41] [Netty Epoll Server IO #0/ERROR] [FML]: NetworkDispatcher exception io.netty.handler.codec.EncoderException: java.lang.IllegalArgumentException: Unpaired surrogate at index 1250 at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:125) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:816) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:723) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.ChannelDuplexHandler.write(ChannelDuplexHandler.java:106) ~[minecraft_server.1.12.2.jar:?] at com.ichorpowered.protocolcontrol.packet.PacketHandler.write(PacketHandler.java:132) ~[PacketHandler.class:0.0.2] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:816) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:723) ~[minecraft_server.1.12.2.jar:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.write(NetworkDispatcher.java:548) ~[NetworkDispatcher.class:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:816) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:723) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.ChannelOutboundHandlerAdapter.write(ChannelOutboundHandlerAdapter.java:104) ~[minecraft_server.1.12.2.jar:?] at com.ichorpowered.protocolcontrol.packet.PacketHandler$Outgoing.write(PacketHandler.java:230) ~[PacketHandler$Outgoing.class:0.0.2] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:801) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:814) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:794) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:831) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1032) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:296) ~[minecraft_server.1.12.2.jar:?] at net.minecraft.network.NetworkManager$4.run(NetworkManager.java:245) [gw$4.class:?] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) [minecraft_server.1.12.2.jar:?] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403) [minecraft_server.1.12.2.jar:?] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) [minecraft_server.1.12.2.jar:?] at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) [minecraft_server.1.12.2.jar:?] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_302] Caused by: java.lang.IllegalArgumentException: Unpaired surrogate at index 1250 at com.google.common.base.Utf8.encodedLengthGeneral(Utf8.java:93) ~[minecraft_server.1.12.2.jar:?] at com.google.common.base.Utf8.encodedLength(Utf8.java:67) ~[minecraft_server.1.12.2.jar:?] at net.minecraft.network.PacketBuffer.func_180714_a(PacketBuffer.java:48) ~[gy.class:?] at net.minecraft.network.PacketBuffer.func_179256_a(PacketBuffer.java:181) ~[gy.class:?] at net.minecraft.network.play.server.SPacketChat.func_148840_b(SourceFile:35) ~[in.class:?] at net.minecraft.network.NettyPacketEncoder.encode(NettyPacketEncoder.java:51) ~[ha.class:?] at net.minecraft.network.NettyPacketEncoder.encode(NettyPacketEncoder.java:12) ~[ha.class:?] at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107) ~[minecraft_server.1.12.2.jar:?] ... 30 more [15:10:41] [Netty Epoll Server IO #3/ERROR] [FML]: NetworkDispatcher exception io.netty.handler.codec.EncoderException: java.lang.IllegalArgumentException: Unpaired surrogate at index 1250 at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:125) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:816) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:723) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.ChannelDuplexHandler.write(ChannelDuplexHandler.java:106) ~[minecraft_server.1.12.2.jar:?] at com.ichorpowered.protocolcontrol.packet.PacketHandler.write(PacketHandler.java:132) ~[PacketHandler.class:0.0.2] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:816) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:723) ~[minecraft_server.1.12.2.jar:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.write(NetworkDispatcher.java:548) ~[NetworkDispatcher.class:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:816) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:723) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.ChannelOutboundHandlerAdapter.write(ChannelOutboundHandlerAdapter.java:104) ~[minecraft_server.1.12.2.jar:?] at com.ichorpowered.protocolcontrol.packet.PacketHandler$Outgoing.write(PacketHandler.java:230) ~[PacketHandler$Outgoing.class:0.0.2] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:801) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:814) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:794) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:831) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1032) ~[minecraft_server.1.12.2.jar:?] at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:296) ~[minecraft_server.1.12.2.jar:?] at net.minecraft.network.NetworkManager$4.run(NetworkManager.java:245) [gw$4.class:?] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) [minecraft_server.1.12.2.jar:?] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403) [minecraft_server.1.12.2.jar:?] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) [minecraft_server.1.12.2.jar:?] at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) [minecraft_server.1.12.2.jar:?] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_302] Caused by: java.lang.IllegalArgumentException: Unpaired surrogate at index 1250 at com.google.common.base.Utf8.encodedLengthGeneral(Utf8.java:93) ~[minecraft_server.1.12.2.jar:?] at com.google.common.base.Utf8.encodedLength(Utf8.java:67) ~[minecraft_server.1.12.2.jar:?] at net.minecraft.network.PacketBuffer.func_180714_a(PacketBuffer.java:48) ~[gy.class:?] at net.minecraft.network.PacketBuffer.func_179256_a(PacketBuffer.java:181) ~[gy.class:?] at net.minecraft.network.play.server.SPacketChat.func_148840_b(SourceFile:35) ~[in.class:?] at net.minecraft.network.NettyPacketEncoder.encode(NettyPacketEncoder.java:51) ~[ha.class:?] at net.minecraft.network.NettyPacketEncoder.encode(NettyPacketEncoder.java:12) ~[ha.class:?] at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107) ~[minecraft_server.1.12.2.jar:?] ... 30 more

FabioZumbi12 commented 2 years ago

Essa é nova, tenho que analisar melhor depois.

FabioZumbi12 commented 2 weeks ago

Nâo consegui reproduzir, ainda ocorre?