PlayPro / CoreProtect

CoreProtect is a blazing fast data logging and anti-griefing tool for Minecraft servers.
Artistic License 2.0
673 stars 343 forks source link

Database error on 23.0 RC1: table co_skull has no column named skin #653

Open MoiraPrime opened 1 month ago

MoiraPrime commented 1 month ago

After upgrading to CE 23.0 RC1, my server started spamming the following errors into my console after the server was idle for about 45 minutes. For context, I've only ever used release versions of the server and have never compiled the plugin myself.

org.sqlite.SQLiteException: [SQLITE_ERROR]: SQL error or missing database (table co_skull has no column named skin) at org.sqlite.core.DB.newSQLException(DB.java:1179) at org.sqlite.core.DB.newSQLException(DB.java:1190) at org.sqlite.core.DB.throwex(DB.java:1150) at org.sqlite.core.NativeDB.prepare_utf8(Native Method) at org.sqlite.core.NativeDB.prepare(NativeDB.java:132) at org.sqlite.core.DB.prepare(DB.java:264) at org.sqlite.core.CorePreparedStatement.<init>(CorePreparedStatement.java:46) at org.sqlite.jdbc3.JDBC3PreparedStatement.<init>(JDBC3PreparedStatement.java:32) at org.sqlite.jdbc4.JDBC4PreparedStatement.<init>(JDBC4PreparedStatement.java:25) at org.sqlite.jdbc4.JDBC4Connection.prepareStatement(JDBC4Connection.java:34) at org.sqlite.jdbc3.JDBC3Connection.prepareStatement(JDBC3Connection.java:225) at org.sqlite.jdbc3.JDBC3Connection.prepareStatement(JDBC3Connection.java:205) at CoreProtect-CE-23.0-RC1.jar//net.coreprotect.database.Database.prepareStatement(Database.java:294) at CoreProtect-CE-23.0-RC1.jar//net.coreprotect.database.Database.prepareStatement(Database.java:245) at CoreProtect-CE-23.0-RC1.jar//net.coreprotect.consumer.process.Process.processConsumer(Process.java:113) at CoreProtect-CE-23.0-RC1.jar//net.coreprotect.consumer.Consumer.run(Consumer.java:133) at java.base/java.lang.Thread.run(Thread.java:1583) java.lang.NullPointerException: Cannot invoke "java.sql.PreparedStatement.executeBatch()" because "preparedStmtSkulls" is null at CoreProtect-CE-23.0-RC1.jar//net.coreprotect.consumer.process.Process.commit(Process.java:294) at CoreProtect-CE-23.0-RC1.jar//net.coreprotect.consumer.process.Process.processConsumer(Process.java:258) at CoreProtect-CE-23.0-RC1.jar//net.coreprotect.consumer.Consumer.run(Consumer.java:133) at java.base/java.lang.Thread.run(Thread.java:1583) java.lang.NullPointerException: Cannot invoke "java.sql.PreparedStatement.close()" because "preparedStmtSkulls" is null at CoreProtect-CE-23.0-RC1.jar//net.coreprotect.consumer.process.Process.processConsumer(Process.java:263) at CoreProtect-CE-23.0-RC1.jar//net.coreprotect.consumer.Consumer.run(Consumer.java:133) at java.base/java.lang.Thread.run(Thread.java:1583)

Intelli commented 1 month ago

Fixed here: https://github.com/PlayPro/CoreProtect/commit/eaa8c5c5c11a17f61b43641b722571a36f917f39