6 months have gone by and this is still marked as a duplicate despite it not having anything to do with MC-68642.
If my description isn't clear enough then just say it, I'd be happy to try to word it better and more in details.
Still an issue in 1.8.7, and again, I don't think this is a duplicate of MC-68642. In fact, MC-68642 was fixed while this is still occouring.
Although they sound similar, MC-68642 is about keyboard inputs not being interpreted correctly, while this report instead is about the game expecting me to type a character not existing on my keyboard at all.
Still an issue in 1.8.7.
Whenever I disconnect from a server my character stays logged in for the next 20 seconds, until he's timed out by the server.
Still an issue in 1.8.4, and I don't think this bug is a duplicate of, nor relates to, MC-68642.
Confirmed for 1.8.1.
I'd like to mention this is more than just a graphical issue and you can get out of this glitch at any time by pressing the sneak button.
To my understanding the server keeps track of your sneaking state in order to show the animation to the other players online and, more importantly, decided what to do when you right click on an interactive block (i.e. place block against a crafting table or open its interface).
I believe this bug happens because during the world loading screen controls are frozen, which means the no-longer-sneaking notification is never sent to the server, or something like that.
Here is a video showing not-graphical part of the issue: http://youtu.be/RudTOG2reic
Personal side note: it would be nice if this was key binding dependent, not sneak dependent.
Still an issue in 1.8.1.
Exactly what Pongo Sapiens said. Thank you for putting my thoughts into words.
Still an issue in 1.8.1-pre5.
Still an issue in 1.8.1-pre4. [screams internally]
When I log off I still have to wait 20 seconds for my player to actually disconnect from the server.
What has changed now is that if I try to reconnect while my ghost copy (for lack of a better term) is online, I doom the server into an endless loop of error spam. The following messages are displayed multiple times in a second:
(From McMyAdmin's web interface console. I can't seem to find this error in the log files)
11:48:51 CONSOLE: exception was thrown by a user handler's exceptionCaught() method while handling the following exception:
11:48:51 CONSOLE: existing connection was forcibly closed by the remote host
11:48:51 CONSOLE: 2014 11:48:50 FM io.netty.channel.AbstractChannelHandlerContext invokeExceptionCaught
and my ghost copy is never timed out and nobody is able to login until the server restarts.
Meanwhile, on the client end, I get this error:
Internal Exception: io.netty.handler.codec.DecoderException: java.io.IOException: Packet 0/0 (jq) was larger than I expected, found 25 bytes extra whilst reading packet 0
I'm currently waiting for some friends to help me find out what happens ingame during all of this and also test if it's still possible to duplicate items.
Edit for clarification: the server error itself is nothing new. The difference is that now I'm not able to log back in and my player is never timed out.
Edit 2: I got around testing again with another player online. We did not manage to duplicate any item.
@Tokes: that's a different and (very likely) unrelated, client-side, visual bug. What we're discussing here is actual player duplication happening server-side.
Unfortunately I have to say this still present in 1.8 and now it's 10 times worse. I'm trying to record some footage to show how messed up it is.
Dinnerbone, please, until an actual fix is found, revert any change related to this bug. Online experience is completly broken for me now.
Edit:
This is my breakdown of what happens, I hope it makes at least a bit of sense and can help pinpoint the real cause of this bug. What I'm about to describe is solely based on observations so I might be wrong on different parts of it, also I'm aware my terminology is a bit off and my English is bad. Apologizes in advance for that.
1. The client fails to communicate its disconnection to the server, or the server fails to elaborate it properly.
This causes the player character to be left in the game controlled by nobody because no connection is happening.
It seems to happen only after a few minutes of online time on the server; no particular action triggers it.
Maybe it's caused by something wrong with my network, not sure, all I know is that it seems to affect only specific players and in my case it went from an occasional issue to an every day problem by itself.
2. For reasons beyond me, the server allows multiple instances of the same player (with the same UUID) to exist inside the game at the same time.
When this happens, it gives to the freshly joined player his personal data (inventory items and such) loaded from the latest save as expected but it doesn't kick out the old instance and save his profile before doing that. Easy to see this is where item duplication and all the other related mishaps happen.
This so far is what used to happen in 1.7. Now in 1.8 new odd behaviours got added to the list.
3. Previously the "ghost" player was timed out after 20 seconds. Not always the case anymore.
4. Sometimes after killing your own copy and reconnecting, you are spawned in as the player who just got killed instead of the killer (who supposedly is the latest instance of you playing on the server).
5. If you kill your copy and relog, it's possible to see it play the death animation over again. I don't think other players on the server can see this happen.
6. With enough abusing of this bug you can get three or even more instances of the same player on the server.
7. When this bug happens, the following messages show up in the console every 2 seconds:
23:46:24 CONSOLE: 2014 11:46:23 EM io.netty.channel.AbstractChannelHandlerContext invokeExceptionCaught
23:46:24 CONSOLE: exception was thrown by a user handler's exceptionCaught() method while handling the following exception:
23:46:24 CONSOLE: existing connection was forcibly closed by the remote host
This also causes the server to freeze if you try to /stop it while this is happening.
On the bright side, the exploit described by Warren Liddell appears to be fixed.
I made a video showing how easy it is to exploit this bug, I was a bit afraid of sharing it because of the nature of the issue, but since Odd Man basically described how to reproduce it, here it is: http://youtu.be/glwceU6CY2Q
As you can see, in my case I don't even have to lose connection to make it happen. A couple of minutes online seem to be enough to trigger it and a normal reconnection does the trick, so to speak.
I never noticed this problem during the first days after the update. It became noticeable only about a week later, and now it happens 99.9% of the times I click on disconnect.Also, I seem to be the only player affected by it on server I play on, which makes me think the problem is related to some network configurations.
Edit: Other than item duplication, this bug can cause the opposite effect because anything contained in the ghost player's inventory gets lost when the server kicks him out.
I can confirm this.
It happens very often when I reconnect, I'm even able to kill my clone and pick up his items.
This can be easily exploited to duplicate anything present in the affected player's inventory, especially once you figure out how a very reliable way to reproduce it.
Thank you for the reminder about the Minecraft Suggestions subreddit, at the time of creating this report I opted for the bug-tracker because that subreddit was not getting much attention from the developers, but things seem to have improved since then, so I'll probably post my request there as suggested.