NametagEdit

721k Downloads

all players kicked until server restart

PhanaticD opened this issue · 18 comments

commented

http://pastebin.com/c1UMRvXG
^this was the first occurrence of the error, then after that it happens for every new login until a server restart
using paperspigot 1055, waterfall 101

this only started happening after giving all players a nametag that join the server, to make use of the anti-pushing feature for all players

also this usually happens when a different server restarts and all the players from that server are sent to the hub

commented

like if my skyblock server restarts, all the players get send to the hub server, the error occurs on hub, and hub will need to be restarted to fix it

commented

This commit 545ca38 might partially fix some issues you noticed. Also when you say server restart - do you mean Bungee reboot or the individual server needed to reboot?

Edit: new commit fixes more stuff b2749a3

commented

@sgtcaze still happening with those commits

commented

here is the first occurrence of the issue again, after this it happens for ever new player until I give my hub server a restart

again it happened a few moments after a server restart, so a bunch of players from a minigame that was shut down had just transferred to the hub

bungee log:

18:20:57 [INFO] Ace15dx executed command: /connect ace
18:20:57 [INFO] [Ace15dx|/24.44.xx.xx:55805] <-> ServerConnector [ace] has connected
18:20:57 [INFO] [allusmorgans|/47.185.xx.xx:52091] <-> ServerConnector [hub] has connected
18:20:57 [INFO] [/24.44.xx.xx:55805|Ace15dx] <-> DownstreamBridge <-> [hub] has disconnected
18:20:57 [INFO] [/24.154.xx.xx:64618] <-> InitialHandler has connected
18:20:57 [SEVERE] [/47.185.xx.xx:52091|allusmorgans] <-> DownstreamBridge <-> [hub] - encountered exception
io.netty.handler.codec.DecoderException: Error decoding packet class Team with contents:
         +-------------------------------------------------+
         |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
+--------+-------------------------------------------------+----------------+
|00000000| 41 0f 42 42 42 42 42 42 42 42 42 42 42 42 32 33 |A.BBBBBBBBBBBB23|
|00000010| 30 00 0f 42 42 42 42 42 42 42 42 42 42 42 42 32 |0..BBBBBBBBBBBB2|
|00000020| 33 30 03 c2 a7 66 03 c2 a7 66 01 06 61 6c 77 61 |30...f...f..alwa|
|00000030| 79 73 05 6e 65 76 65 72 ff 13 09 4a 75 6c 69 6f |ys.never...Julio|
|00000040| 30 32 31 38 0c 46 6c 75 66 66 79 5f 42 65 61 72 |0218.Fluffy_Bear|
|00000050| 73 0b 4d 45 47 41 4d 45 52 32 34 30 31 0d 4a 65 |s.MEGAMER2401.Je|
|00000060| 73 73 69 63 61 5f 42 6c 61 64 65 06 54 41 53 31 |ssica_Blade.TAS1|
|00000070| 32 37 0f 4c 75 6e 61 72 45 63 6c 69 70 73 65 37 |27.LunarEclipse7|
|00000080| 36 37                                           |67              |
+--------+-------------------------------------------------+----------------+
    at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:68)
    at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:12)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)
    at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:287)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
    at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:1018)
    at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:394)
    at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:299)
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IndexOutOfBoundsException: readerIndex(130) + length(1) exceeds writerIndex(130): UnpooledSlicedByteBuf(ridx: 130, widx: 130, cap: 130/130, unwrapped: PooledUnsafeDirectByteBuf(ridx: 133, widx: 133, cap: 400))
    at io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1389)
    at io.netty.buffer.AbstractByteBuf.readByte(AbstractByteBuf.java:687)
    at net.md_5.bungee.protocol.DefinedPacket.readVarInt(DefinedPacket.java:108)
    at net.md_5.bungee.protocol.DefinedPacket.readVarInt(DefinedPacket.java:98)
    at net.md_5.bungee.protocol.DefinedPacket.readString(DefinedPacket.java:29)
    at net.md_5.bungee.protocol.packet.Team.read(Team.java:66)
    at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:46)
    ... 27 more
18:20:57 [INFO] [allusmorgans] disconnected with: §cThe server you were previously on went down, you have been connected to the lobby
18:20:57 [INFO] [/47.185.xx.xx:52091|allusmorgans] <-> DownstreamBridge <-> [hub] has disconnected
18:20:58 [INFO] [/47.185.xx.xx:52091|allusmorgans] <-> DownstreamBridge <-> [infection] has disconnected
18:20:58 [INFO] [/47.185.xx.xx:52091|allusmorgans] -> UpstreamBridge has disconnected

here is what I see in my hub server log:

[18:20:57] [User Authenticator #376/INFO]: UUID of player allusmorgans is b595da47-b751-443f-b6ed-63c1a5498c59
[18:20:57] [Netty Epoll Server IO #1/ERROR]: java.lang.NullPointerException
[18:20:57] [Server thread/INFO]: allusmorgans[/47.185.xx.xx:35337] logged in with entity id 40085 at ([hub]0.5, 67.0, 0.5)
commented

Ah, just saw your other issue. Alright thanks for letting me know, I'll take a look at this and have something ready today.

commented

This is very likely fixed in the newest version. Let me know if it works.

commented

still happening on build 63

io.netty.handler.codec.DecoderException: Error decoding packet class Team with contents:
         +-------------------------------------------------+
         |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
+--------+-------------------------------------------------+----------------+
|00000000| 41 08 43 41 43 45 42 34 39 31 00 08 43 41 43 45 |A.CACEB491..CACE|
|00000010| 42 34 39 31 03 c2 a7 66 03 c2 a7 66 01 06 61 6c |B491...f...f..al|
|00000020| 77 61 79 73 05 6e 65 76 65 72 ff 01             |ways.never..    |
+--------+-------------------------------------------------+----------------+
    at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:68)
    at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:12)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)
    at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:287)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
    at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:1018)
    at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:394)
    at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:299)
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IndexOutOfBoundsException: readerIndex(44) + length(1) exceeds writerIndex(44): UnpooledSlicedByteBuf(ridx: 44, widx: 44, cap: 44/44, unwrapped: PooledUnsafeDirectByteBuf(ridx: 46, widx: 46, cap: 464))
    at io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1389)
    at io.netty.buffer.AbstractByteBuf.readByte(AbstractByteBuf.java:687)
    at net.md_5.bungee.protocol.DefinedPacket.readVarInt(DefinedPacket.java:108)
    at net.md_5.bungee.protocol.DefinedPacket.readVarInt(DefinedPacket.java:98)
    at net.md_5.bungee.protocol.DefinedPacket.readString(DefinedPacket.java:29)
    at net.md_5.bungee.protocol.packet.Team.read(Team.java:66)
    at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:46)
    ... 27 more

with priority all set to 0 for my hub server

commented

Apologies you are still experiencing this. I've been testing, and have tried to reproduce this, but am falling a bit short. Do to use a plugin that modifies the scoreboard on your hub?

I have a few more ideas to test out, and given this is a sudden problem (which I definitely believe is related to SortPriority) it is strange then, that given the feature is disabled, it is still presenting issues.

commented

Only thing I can think of could be essentials nicknames (they are changed on the tab list), I am not even sure if that is a scoreboard though. I had a plugin that set essentials nicks on login, I added a delay to that plugin instead of doing it immediately, maybe that will fix it.

it is hard to re-produce for me too, because its been ten days between changing the sort priority and it happening again

commented

Also, if you're using BungeeCord. Make sure your connection-throttle is 4000 in the BungeeCord config, and in the bukkit.yml change the connection_throttle to -1.

This can cause a lot of issues with players upon join if this is not setup correctly.

commented

still happening

io.netty.handler.codec.DecoderException: Error decoding packet class Team with contents:
         +-------------------------------------------------+
         |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
+--------+-------------------------------------------------+----------------+
|00000000| 41 08 46 46 43 44 42 36 33 34 00 08 46 46 43 44 |A.FFCDB634..FFCD|
|00000010| 42 36 33 34 03 c2 a7 66 03 c2 a7 66 01 06 61 6c |B634...f...f..al|
|00000020| 77 61 79 73 05 6e 65 76 65 72 ff 07             |ways.never..    |
+--------+-------------------------------------------------+----------------+
    at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:68)
    at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:12)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:287)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
    at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:1017)
    at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:394)
    at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:299)
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IndexOutOfBoundsException: readerIndex(44) + length(1) exceeds writerIndex(44): UnpooledSlicedByteBuf(ridx: 44, widx: 44, cap: 44/44, unwrapped: PooledUnsafeDirectByteBuf(ridx: 120, widx: 120, cap: 400))
    at io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1396)
    at io.netty.buffer.AbstractByteBuf.readByte(AbstractByteBuf.java:687)
    at net.md_5.bungee.protocol.DefinedPacket.readVarInt(DefinedPacket.java:108)
    at net.md_5.bungee.protocol.DefinedPacket.readVarInt(DefinedPacket.java:98)
    at net.md_5.bungee.protocol.DefinedPacket.readString(DefinedPacket.java:29)
    at net.md_5.bungee.protocol.packet.Team.read(Team.java:66)
    at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:46)
    ... 27 more
18:43:36 [INFO] [keithsibert1] disconnected with: §cThe server you were previously on went down, you have been connected to the lobby
18:43:36 [INFO] [/IP|keithsibert1] <-> DownstreamBridge <-> [hub] has disconnected

all it says in the actual server log where this originated from is:

[17:42:12] [Netty Epoll Server IO #2/ERROR]: java.lang.NullPointerException
commented

here is my configs if that will help

http://pastebin.com/raw/RUWaAYZK

http://pastebin.com/raw/jRph783j

and players.yml is whatever the default is

commented

I strongly suspect the issue is here: https://github.com/sgtcaze/NametagEdit/blob/master/src/main/java/com/nametagedit/plugin/storage/flatfile/FlatFileConfig.java#L79

as it is being run async from the task created in the join event

commented

I'll take a look tonight and try to get something out ASAP. Async packets = possible no-no.

commented

Forcing this method to be run on the main thread here: 7128838

Checkout build 2 on Jenkins.

commented

Any update on this issue?

commented

no issues since then, safe to say its fixed

commented

Cool. If it comes back we'll just reopen this issue.