In every version of Minecraft, third party (hacked) clients come along and manage to instantly lock multiplayer (i.e. cause SMP to freeze/go unresponsive). I assume this is a result of some kind of buffer overrun defect.
I have no proof that the behavior is actually caused by a buffer overrun, it's just what I call it when it happens.
Although managed languages such as Java and C# do not actually have buffer overruns, the specific virtual machines (JVM/CLR/etc) which actually run the code may.
Whatever it really is, something in a third party client is capable of generating a packet that can instantly choke the server, leaving it completely unresponsive, even to OS signals.
Analysis of the log usually gives the SMP staff clues and patterns of behavior to help mitigate the problem after the fact. Players using these techniques tend to announce they are about to crash the server, then do so. Banning the player and their IP helps reduce further occurrences.
The server does not typically generate a crash report for this situation. It just freezes, although the garbage collector appears to continue running.
The following is a log segment of it occurring today. The staff did not notice the problem for forty minutes (note the time stamp). In this example, the player (name redacted because I'm sure they love publicity) performed the same attack less than 24 hours prior. Their player name and IP was banned based on this pattern.
2012-10-24 05:06:16 [INFO] ##REDACTED##[/##REDACTED##:21404] logged in with entity id 1155260 at (-928.1505147866586, 45.0, -104.012543085556)
2012-10-24 05:06:59 [INFO] ##REDACTED##[/##REDACTED##:21438] logged in with entity id 1155662 at (-916.5, 45.0, -111.6215497774692)
2012-10-24 05:46:01 [INFO] Starting minecraft server version 1.4.1
2012-10-24 05:46:01 [INFO] Loading properties
2012-10-24 05:46:01 [INFO] Default game type: SURVIVAL
2012-10-24 05:46:01 [INFO] Generating keypair
2012-10-24 05:46:01 [INFO] Starting Minecraft server on *:25565
2012-10-24 05:46:02 [INFO] Preparing level "swim2"
2012-10-24 05:46:02 [INFO] Preparing start region for level 0
2012-10-24 05:46:02 [INFO] Done (0.716s)! For help, type "help" or "?"
2012-10-24 05:46:02 [INFO] Starting GS4 status listener
2012-10-24 05:46:03 [INFO] Starting remote control listener
2012-10-24 05:46:03 [INFO] Query running on 0.0.0.0:25565
2012-10-24 05:46:03 [INFO] RCON running on 0.0.0.0:25575
Linked issues
is duplicated by 1
Comments 9
Most certainly not a "Buffer Overrun" (what?), but more likely a Buffer Overflow, in which the network adapter refuses to take the connection due to its workload. This happening will always result in in-console errors with raw stack-traces referencing the class that deals with network connections and the fact that a buffer overflow has been thrown on that socket/host.
Besides, not exactly sure how it's possible to force a buffer overflow to all clients and certainly not the server...
The existence of this has yet to be proved. For further testing I can put up a server and have you attempt to lock it up via whatever means you've stated above. I can then examine the exploit and provide a more detailed approach to a solution.
Thanks for bug-testing!
Thank you, Matthew, but I am not able to initiate the condition. I don't know what third party client these folks are using to initiate their attack. All I know is, it happens often enough for me to suspect it is indeed intentional because they threaten to make the server go unresponsive, and it usually does after that.
They almost never engage in conversation. They just get woody when they down a server, then they move on to their next conquest.
Since 2012-07-18, there have been six separate attacks like this on my server.
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.
This cannot be tested in the snapshots since modded clients are a rare occurrence. If they ever do occur, they rarely generate the kind of packets to cause this behavior.
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.
Is this still a concern in the latest Minecraft version 13w42b? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases.
This ticket is incomplete without the requested information, no response has been received within a reasonable time and we are assuming the issue has been resolved. If you are still experiencing this issue, we can reopen it at your request.
Please review the guidelines before reporting issues.
I very much doubt it is an Buffer Overrun. It does however look like an infinite loop, or thread deadlock. </coder hat>