This is a bug that causes the scoreboard to mis-behave in a mostly irrecoverable way (I ended up deleting scoreboard.dat to fix it). I have a guess as to the cause and how to reproduce it.
Rather than try to describe the bug, it may be better to just view the video.
http://www.twitch.tv/lorgon/b/536304014
At time code 3:30:10, what happens is, Zhuria's internet glitches, and then things go wonky on the scoreboard in our mini-game. Here is, I believe, the sequence of events:
Zhuria's internet causes her client to disconnect.
Zhuria's internet returns, and she reconnect to the server.
Server says 'Zhuria joined the game'. (But she has not left yet!)
Zhuria sees a duplicate of herself on the server.
Server presumably still had her old connection open, which times out or something. 'Zhuria has left the game' in the chat (but she is still here).
Mini-game begins. It does an @a to popular scoreboard sidebar, and both 'Zhuria' and her GUID appear in the scoreboard.
Later I attempt to 'scoreboard players reset thatGUID', and instead Zhuria herself is removed from the scoreboard. Nothing, not even 'scoreboard players reset *' can remove the GUID from the scoreboard.
I believe this is a symptom of a 'duplicate login'. I think that
client connects
client rudely disconnects
(server does not notice client is gone yet)
client reconnects
will cause 'X joined the server' to appear twice before the first 'X left the server' appears, and once this happens, some GUID tables where things are supposed to be unique keys become non-unique and then all heck breaks loose on the scoreboard.
The bug, then, is in the server protocol for dealing with the same client trying to log in twice (and inherent race conditions between client and server state on rude disconnects).
Linked issues
is duplicated by 2
Comments 10
Yeah. Related to MC-46752
me: do you recall, when reconnecting, did you have to restart your minecraft client? or did you have to reconnect to the server from within the existing still-running client that got DC'd?
Zhuria: I think it was the same client
(I know nothing of the protocols, but I imagine perhaps if there is an auth/session token to connect to servers, her client may have reused the same one; I am out of my depth here now, but hopefully this is useful info to reproduce the bug)
Can confirm in 14w21b. I was showing a friend a duplication glitch, and we both lagged out. (The item frame one, totally insane lag spike)
Anyway, when he logged back in there was a second him, which caused the GUID to appear on the scoreboard...
I killed the clone, and it dropped copies of his items and experience. The scoreboard keeps track of rather important things on this small 9 player server, so I had to manually fix the scoreboard.dat in NBTExplorer.
I'm even having this problem with entities now. It happens when chunks with entities in them unload/load or something.
I have a reliable way to reproduce this bug, contact me in person to get it. Don't want to share publicly as I think it possibly might expose a security flaw.
Is this still a concern in the current Minecraft version? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases. If this has been done, we can reopen the issue.
Keep in mind that the "Resolved"-Status on this ticket just means "Answered", and that we are waiting for further information on whether this issue still exists or not. We will reopen it as soon as the requested information has been delivered.
This same bug may also explain MC-46752