HelpChat/ChatChat

Chat randomly stops working completely

Closed this issue · 2 comments

https://paste.helpch.at/uhunusigek.rb

https://paste.helpch.at/duyijomipo

Using latest build, randomly after multiple hours of uptime, chat will just break. It throws that error and then messages aren't sent or received anymore in game.

Leaving a few comments here so I can keep track of this investigation. I have made a custom jar that logs a bunch of stuff to console and stops the plugin from crashing by just cancelling whatever fails. Now, what I've found is this:

It happens on a server with geyser installed - So it might be related but this is not for certain!
It tries to process a message from a User with an UUID not backed by an online player. Either the player sent a message and the processing happened after, or the UUID of the player has changed (which is where I'm thinking maybe gayser is doing something funny with UUIDs. I've never used gayser tho so it's just an idea for future investigations)

Here are the logs from this happening twice:

https://paste.helpch.at/upipevodil
https://paste.helpch.at/ucoxugufuj

Similar issues reported over time. All seem to have the same thing in common: Geyser.
https://paste.helpch.at/yugepepapo.rb
https://paste.helpch.at/quxewomebo
https://paste.helpch.at/xutosowijo
https://paste.helpch.at/qaqazaxofe
https://pastebin.com/0dw2FNRK

If anyone else is having this issue with Geyser installed, I would greatly appreciate if you could use the following build for debugging.

ChatChat-1.0.0-SNAPSHOT-geyser-extra-logs.zip

This build logs extra stuff. This is to help identify where the error for servers using Geyser is coming from and possibly to help find a solution.

This build logs the following:

  • On Player Join, On Player Quit, On Player Chat: UUID, NAME, LIST OF ONLINE PLAYERS (NAMES AND UUIDS), TIMESTAMP
  • Every 5 Minutes: LIST OF ONLINE PLAYERS (NAMES AND UUIDS), TIMESTAMP

The collected data is saved to a new file in plugins/ChatChat/special.log. Whenever the error with ChatChat is happening, stop/restart the server (full stop/restart. no reload) or wait for it to be stopped/restarted (if you have timed restarts), copy the special.log file and copy the error and send them either here (if you don't mind that data being public) or send it on discord at: @BlitzOffline

Note that this build has the same features as build 68 from jenkins: https://ci.helpch.at/job/ChatChat/68/

For anyone interested, here are the changes: main...BlitzOffline:ChatChat:fix/geyser-support