kangarko / ChatControl-Red

Issue tracker and documentation for the next generation ChatControl Red, the most advanced chat management plugin.
43 stars 22 forks source link

1.20.1: Error reading a row from table {table_log} #2627

Closed gre3x closed 3 months ago

gre3x commented 3 months ago

"/version ChatControlRed" - plugin version

10.25.1

Are you using MySQL?

Yes

Are you using BungeeCord?

Yes

Error log (if applicable)

https://paste.gg/p/anonymous/5b59b4c0608c431990649cf4f1babe20

"/chc debug" output (strongly recommended)

debug.zip

Information about the issue/bug

Randomly, using /chc log (any parameters) has stopped working properly and sends an error message in console when tried image `[04:16:47] [Server thread/INFO]: MC_Legend issued server command: /chc log all player:MC_Legend in:16h [04:16:51] [Craft Scheduler Thread - 13499/INFO]: [ChatControlRed] Error reading a row from table {table_log} with param '*', aborting...

[04:16:51] [Craft Scheduler Thread - 13499/WARN]: at org.mineacademy.chatcontrol.model.Database.lambda$getLogEntries$0(Database.java:176) [04:16:51] [Craft Scheduler Thread - 13499/WARN]: at org.mineacademy.chatcontrol.lib.database.SimpleDatabase.select(SimpleDatabase.java:511) [04:16:51] [Craft Scheduler Thread - 13499/WARN]: at org.mineacademy.chatcontrol.lib.database.SimpleDatabase.selectAll(SimpleDatabase.java:493) [04:16:51] [Craft Scheduler Thread - 13499/WARN]: at org.mineacademy.chatcontrol.model.Database.getLogEntries(Database.java:168) [04:16:51] [Craft Scheduler Thread - 13499/WARN]: at org.mineacademy.chatcontrol.model.Log.readLogs(Log.java:325) [04:16:51] [Craft Scheduler Thread - 13499/WARN]: at org.mineacademy.chatcontrol.command.ChatControlCommands$GenericSubCommand.lambda$syncCallback$5(ChatControlCommands.java:810) [04:16:51] [Craft Scheduler Thread - 13499/WARN]: at org.mineacademy.chatcontrol.command.ChatControlCommands.handleCallbackCommand(ChatControlCommands.java:995) [04:16:51] [Craft Scheduler Thread - 13499/WARN]: at org.mineacademy.chatcontrol.command.ChatControlCommands.lambda$asyncCallbackCommand$0(ChatControlCommands.java:979) [04:16:51] [Craft Scheduler Thread - 13499/WARN]: at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:64) [04:16:51] [Craft Scheduler Thread - 13499/WARN]: at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52) [04:16:51] [Craft Scheduler Thread - 13499/WARN]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) [04:16:51] [Craft Scheduler Thread - 13499/WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [04:16:51] [Craft Scheduler Thread - 13499/WARN]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [04:16:51] [Craft Scheduler Thread - 13499/WARN]: at java.lang.Thread.run(Thread.java:748)`

It says that there are no logs, but I can see them in the MySQL database: image

To reproduce:

  1. Get a large amount of data in the chatcontrol logs DB
  2. Attempt to use /chc log
  3. Observe error in console and no logs found in chat

Note that I have 1.8, 1.12, 1.17, and 1.20 servers on my network. All of them started having this issue at the same time. Restarting the servers does not fix it. I have tried doing cross-server messages to see if those work, but no kinda of messages work (private messages, commands, anything. All types of logs are broken no matter the server version or if it is between servers or not.

It also seems that data from a few days ago (before this error started appearing) is viewable, but not any data after a few days ago. image

I am suspecting that there is some bad value/character somewhere in the DB that is causing these issues, but idk what it is lol.

Can you please either:

kangarko commented 3 months ago

Thanks, correct, something is causing the reading of the row to get corrupt. Will do asap.

gre3x commented 3 months ago

Thank you for taking a look! Unsure if it helps, but I see that the Channel Name is NULL in the DB image

kangarko commented 3 months ago

Looks like the "Content" was null. I will fail it gracefully in the next release shipped in a few hours. You can run SQL to find NULL columns Date, Type, Sender and Content as they must be non-null.