Server: Ubuntu 11.10 64 bit (GUI), Intel Core 2 Duo 1.8 ghz dual core, 2 GB memory. Official Sun Java JRE 6, 64 bit.
Clients: Various Windows XP and 7, and Ubuntu. (No clients run on the same computer as the server.)
Our Minecraft server is running 24/7. Since 1.4pre and persisting into 1.4.2 official, approximately every 24 hours the server starts refusing to allow clients to join. When this happens, everyone currently online gets kicked off with an error message of "Internal exception: Java.io.IOException: Bad packet ID #." The ## can be any number between 1 and 255, and appears to change randomly. (It probably has something to do with something, but I don't know what.)
When this happens, the server log shows "Info: [playername] lost connection: disconnect.endOfStream."
Anyone trying to log back on gets the same error message, and the server log displays the same message immediately after they log on. Users can't even stay on long enough to see the world load; They are apparently kicked before that information is even transmitted to the client.
If the server is restarted by issuing a /stop command and then running it again, the problem goes away for another 24 hours, but crops back up pretty much exactly the same time the next day. The computer does not have to be rebooted for things to work again; Only the Minecraft server stopped and restarted. I have tried rebooting the whole computer between restarts, and that does not solve the issue or delay its appearance. Once the server is restarted, players can log back on immediately without even having to restart their Minecraft clients.
This problem APPEARS to be related to the recent fix of the "massive memory leak" in the server .jar. We've been running the pre-release snapshots for a while, and our server used to consume more and more memory over the course of about a week until it became very laggy and unresponsive (though users could still connect) which could be cured by a restart. That memory allocation was shown both in Minecraft Server's own memory graph and System Monitor. Now, since approximately 1.4pre, the server uses very little memory usage over a prolonged period (it scales with the number of users logged in, as you would expect, and diminishes to near-zero with no one logged on, which it did not do prior to the update) but instead presents this disconnection issue. Before this mystery bug manifests, the server behaves normally and players can log on and play just fine. We have about six very active players, the server is whitelisted so only approved individuals may join, and the maximum player cap is 8.
We don't have any mods installed; Everything is vanilla Minecraft. I have not yet tried installing 1.4.3pre.