Affects Version/s: 1.16.3
Fix Version/s: None
Environment:GNU/Linux Ubuntu 20.04.1 LTS
OpenJDK Runtime Environment (build 1.8.0_265-8u265-b01-0ubuntu2~20.04-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)
For some reason, the server I'm playing on has either missing or invalid biome information. I have no idea what caused this, but this isn't the issue here. The problem is how the client responds to it.
While flying around in that world it creates frequent lag spikes while crossing chunk boundaries.
Furthermore attaching VisualVM to profile the client, I found that about 25% of CPU time is spend by log4j code printing warnings. All this processing happens when crossing a chunk boundary or when teleporting, hence the massive lag spikes.
The log file contains about 3.000.000 lines stating "[Render thread/WARN]: Received invalid biome id: -1". When flying around, about 1.000.000 of those lines are generated per minute.
As the Minecraft launcher keeps the entire log file in memory, RAM gets clogged up. I've seen it using up to 8GB of RAM. Eventually the computer starts using the swap file, causing it to grind to a halt. This often requires a reboot to fix.
Aside from the issues it causes client side, there's also the issue that the server owner does not get notified of this data corruption.