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.
Thank you for your report!
However, we are already tracking this issue, and this report is a Duplicate of MC-197616, which is a report that has not been resolved yet.
If you want, you can upvote the parent ticket, and enable watching to receive any updates about it - if you believe you have any information that may be important for this issue, please leave a comment on the parent. Please also use the search function in the future to prevent duplicate reports.
Quick Links:
📓 Issue Guidelines – 🛠 Community Support – 📧 Customer Support – ✍️ Feedback and Suggestions – 📖 Game Wiki
💬 Mojira Subreddit – 💬 Mojira Discord