[SPIGOT-5104] Spigot Fails to Handle Packet for Players That Log Out in Certain Chunks Created: 23/Jun/19  Updated: 25/Jun/19  Resolved: 24/Jun/19

Status: Resolved
Project: Spigot
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Stefan Butterbrodt Assignee: Unassigned
Resolution: Incomplete Votes: 0
Labels: Error, bug
Environment:

Ubuntu 18.04 VPS

Java 8

Multicraft Control Panel

Significant number of plugins installed.


Attachments: Text File crash-2019-06-13_03.40.58-server.txt     File r.4.1.mca    
Version: git-Spigot-df0eb25-da071ec (MC: 1.14.2)
Guidelines Read: Yes

 Description   

Experiencing an issue where players can not rejoin the server after leaving. In some instances players simply time out and in some places players quit normally. I personally have been able to reproduce this issue while quitting gracefully.

The issue only presents itself when players log off in certain chunks.

The issue can be rectified by simply loading in the chunk where the player logged off (and is trying to log into). 

I am also experiencing other errors with similar verbage, all having to do with ConcurrentModifcationException. I received several similar crashes, and have seen plugins logging similar errors. Attached is a similar looking crash report. Below is the console error thrown when players attempt to rejoin. 

While I do have a number of plugins installed, none seem to be responsible for this specific error.

[11:32:55] [Server thread/WARN]: Failed to handle packet for /**.***.***.**:53209[11:32:55] [Server thread/WARN]: Failed to handle packet for /**.***.***.**:53209java.util.ConcurrentModificationException: null at java.util.HashMap$HashIterator.nextNode(HashMap.java:1445) ~[?:1.8.0_211] at java.util.HashMap$KeyIterator.next(HashMap.java:1469) ~[?:1.8.0_211] at java.lang.Iterable.forEach(Iterable.java:74) ~[?:1.8.0_211] at net.minecraft.server.v1_14_R1.ChunkMapDistance.a(SourceFile:132) ~[spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.ChunkProviderServer.tickDistanceManager(ChunkProviderServer.java:204) ~[spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.ChunkProviderServer.getChunkFutureMainThread(ChunkProviderServer.java:144) ~[spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:91) ~[spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.World.getChunkAt(World.java:212) ~[spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.IWorldReader.getChunkAt(SourceFile:105) ~[spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.World.getChunkAt(World.java:207) ~[spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.Entity.setLocation(Entity.java:1272) ~[spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.PlayerConnection.internalTeleport(PlayerConnection.java:1105) ~[spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:1067) ~[spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:1040) ~[spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:1031) ~[spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.PlayerList.a(PlayerList.java:165) ~[spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.LoginListener.c(LoginListener.java:149) ~[spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.LoginListener.tick(LoginListener.java:53) ~[spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.NetworkManager.a(NetworkManager.java:230) ~[spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.ServerConnection.c(ServerConnection.java:119) [spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.MinecraftServer.b(MinecraftServer.java:1080) [spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.DedicatedServer.b(DedicatedServer.java:396) [spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:956) [spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:801) [spigot-1.14.2.jar:git-Spigot-df0eb25-da071ec] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_211][11:32:55] [Server thread/INFO]: Stir_Fry_Beans lost connection: Internal server error


 Comments   
Comment by Stefan Butterbrodt [ 25/Jun/19 ]

I uploaded a region file, chunk 134, 34 gave issue. Two players quit within the chunk, and attempted to rejoin the game. They were both met with the internal server error twice. It should be noted that the server sent the "'Player' left the game." message. I teleported to where they left the game and they were able to both join the server normally. The act of my simply loading in the chunk appeared to temporarily rectify the issue.

I attempted to replicate the issue as soon as the players moved off. I was able to replicate the issue as soon as the chunk was no longer loaded. I have also observed that the issue will resolve itself, seems to be intermittent. Always seems to affect the same chunks. I can log off, fail to log in, and retry and get in all within 30 seconds. 

Comment by md_5 [ 24/Jun/19 ]

Need more information.

You say certain chunks which immediately suggests you should upload those chunks as part of the ticket.

Generated at Tue Apr 08 03:01:31 UTC 2025 using Jira 10.3.3#10030003-sha1:d220e3fefc8dfc6d47f522d3b9a20c1455e12b7b.