Affects Version/s: Minecraft 1.4.5, Minecraft 1.4.6, Minecraft 1.4.7, Minecraft 1.5.1, Minecraft 1.5.2, Minecraft 1.6.1, Minecraft 1.6.2, Minecraft 13w41b, Minecraft 13w42b, Minecraft 1.7.1, Minecraft 1.7.2, Minecraft 1.7.4, Minecraft 14w02b, Minecraft 1.7.5
Fix Version/s: Minecraft 14w02c
I should have been a little more clear about the relation of the crash report to this issue. The crash report may be caused by this issue but since it is a synchronization error it is very hard to reproduce and debug with certainty.
I can prove though that there are synchronization errors caused by Packet3Chat when a chat message contains Illegal characters. I do not believe this is a duplicate of
MC-12341 because his does not mention the offending player being kicked before the crash and it also does not mention the synchronization issues that are currently caused by multi threading chat. This issue also does not happen when a player logs in but rather while a player is chatting.
So to make sure I am more clear this time the crash report may or may not have been caused by this issue. I do not believe it has as I have been unable to reliable reproduce it through this issue. All I can say is it is a synchronization issue that did happen once during my testing so it may be related this issue.
To continue on with what I was saying before. I looked closer at the classes involved in the crash report. The last classed before reaching Java runtime classes are involved with chunk loading and saving. I do believe chunk loading and saving is handled by it's own thread and from what I have followed of this issue the network read thread does not reach any of those classes. Again this does not mean it is not related but it does make it much less likely.
After further digging into packet classes. Packet3Chat is not the only one that can cause synchronization issues. Any packet that can be processed asynchronously in minecraft 1.5.2 can cause synchronization problems. All packets but Packet3Chat are not handled by the server and cause the client to be kicked. Packet3Chat is the exception that i needs to have an Illegal character as a part of it without a leading '/'
All packets with this issue are:
Packet3Chat(Special case - read up)
The issue lies in the fact that the disconnect method is called from the read thread dedicated to the client. The disconnect method then calls various methods into the server to remove the player from lists and to save the player to disk. All of this happens with the main thread still running updates on the worlds
Crash after returning from The Nether
When i go from the nether to overworld my minecraft crashes. It only happens on my one world.
Steps to reproduce:
1. go to the nether in survival
2.return to the overworld in any portal.