SQLException
EvilOlaf opened this issue ยท 17 comments
Spigot 1.8.3
BM 5.5.0
PEX 1.23.2
I have two players in the same user group with the same permissions. One can use warn, the other one could not.
A relog of the affected player solved the problem.
Might be interesting anyways.
[19:44:27] [Server thread/INFO]: [PermissionsEx] User Olaf checked for permission 'bm.command.warn', regex-matched a value of true from cache.
[19:44:27] [Server thread/INFO]: [PermissionsEx] User Olaf checked for permission 'bm.command.warn', regex-matched a value of true from cache.
[19:44:30] [Server thread/INFO]: Olaf issued server command: /warn AnotherUser Test
[19:44:30] [Server thread/INFO]: [PermissionsEx] User Olaf checked for permission 'bm.command.warn', regex-matched a value of true from cache.
[19:44:30] [Server thread/INFO]: [PermissionsEx] User Olaf checked for permission 'bm.exempt.override.warn', no match found (CACHE MISS)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: java.sql.SQLException: Unable to run insert stmt on object me.confuser.banmanager.data.PlayerWarnData@3254bc15: INSERT INTO `bm_player_warnings` (`player_id` ,`reason` ,`actor_id` ,`created` ,`read` ) VALUES (?,?,?,?,?)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at me.confuser.banmanager.internal.ormlite.misc.SqlExceptionUtil.create(SqlExceptionUtil.java:22)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at me.confuser.banmanager.internal.ormlite.stmt.mapped.MappedCreate.insert(MappedCreate.java:135)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at me.confuser.banmanager.internal.ormlite.stmt.StatementExecutor.create(StatementExecutor.java:450)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at me.confuser.banmanager.internal.ormlite.dao.BaseDaoImpl.create(BaseDaoImpl.java:310)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at me.confuser.banmanager.storage.PlayerWarnStorage.addWarning(PlayerWarnStorage.java:38)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at me.confuser.banmanager.commands.WarnCommand$1.run(WarnCommand.java:126)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at org.bukkit.craftbukkit.v1_8_R2.scheduler.CraftTask.run(CraftTask.java:71)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at org.bukkit.craftbukkit.v1_8_R2.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at java.lang.Thread.run(Thread.java:745)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'actor_id' cannot be null
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at com.mysql.jdbc.Util.getInstance(Util.java:382)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1039)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2407)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2325)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2310)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at me.confuser.banmanager.internal.ormlite.jdbc.JdbcDatabaseConnection.insert(JdbcDatabaseConnection.java:170)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: at me.confuser.banmanager.internal.ormlite.stmt.mapped.MappedCreate.insert(MappedCreate.java:91)
[19:44:30] [Craft Scheduler Thread - 954/WARN]: ... 9 more
The old actor_id is null exception. I still can't narrow down what is causing the interference.
Another one. Not sure if related to this one:
[20:24:08] [Server thread/INFO]: Olaf issued server command: /ban bad_user xray
[20:24:08] [Craft Scheduler Thread - 529/ERROR]: Could not pass event PlayerBanEvent to BanManager v5.5.0
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) ~[spigot-1.8.3.jar:git-Spigot-870264a-0a645a2]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.8.3.jar:git-Spigot-870264a-0a645a2]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.8.3.jar:git-Spigot-870264a-0a645a2]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.8.3.jar:git-Spigot-870264a-0a645a2]
at me.confuser.banmanager.storage.PlayerBanStorage.ban(PlayerBanStorage.java:104) [BanManager550.jar:?]
at me.confuser.banmanager.commands.BanCommand$1.run(BanCommand.java:147) [BanManager550.jar:?]
at org.bukkit.craftbukkit.v1_8_R2.scheduler.CraftTask.run(CraftTask.java:71) [spigot-1.8.3.jar:git-Spigot-870264a-0a645a2]
at org.bukkit.craftbukkit.v1_8_R2.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) [spigot-1.8.3.jar:git-Spigot-870264a-0a645a2]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_45]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]
Caused by: java.lang.NullPointerException
at me.confuser.banmanager.listeners.BanListener.notifyOnBan(BanListener.java:40) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_45]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_45]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_45]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[spigot-1.8.3.jar:git-Spigot-870264a-0a645a2]
... 10 more
[20:24:08] [Craft Scheduler Thread - 529/WARN]: java.sql.SQLException: Unable to run insert stmt on object me.confuser.banmanager.data.PlayerBanData@67331249: INSERT INTO `bm_player_bans` (`player_id`
,`reason` ,`actor_id` ,`created` ,`updated` ,`expires` ) VALUES (?,?,?,?,?,?)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at me.confuser.banmanager.internal.ormlite.misc.SqlExceptionUtil.create(SqlExceptionUtil.java:22)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at me.confuser.banmanager.internal.ormlite.stmt.mapped.MappedCreate.insert(MappedCreate.java:135)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at me.confuser.banmanager.internal.ormlite.stmt.StatementExecutor.create(StatementExecutor.java:450)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at me.confuser.banmanager.internal.ormlite.dao.BaseDaoImpl.create(BaseDaoImpl.java:310)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at me.confuser.banmanager.storage.PlayerBanStorage.ban(PlayerBanStorage.java:110)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at me.confuser.banmanager.commands.BanCommand$1.run(BanCommand.java:147)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at org.bukkit.craftbukkit.v1_8_R2.scheduler.CraftTask.run(CraftTask.java:71)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at org.bukkit.craftbukkit.v1_8_R2.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at java.lang.Thread.run(Thread.java:745)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'actor_id' cannot be null
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at com.mysql.jdbc.Util.getInstance(Util.java:382)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1039)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2407)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2325)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2310)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at me.confuser.banmanager.internal.ormlite.jdbc.JdbcDatabaseConnection.insert(JdbcDatabaseConnection.java:170)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: at me.confuser.banmanager.internal.ormlite.stmt.mapped.MappedCreate.insert(MappedCreate.java:91)
[20:24:08] [Craft Scheduler Thread - 529/WARN]: ... 9 more
[20:33:43] [Server thread/INFO]: Olaf issued server command: /unban bad_user
[20:33:43] [Craft Scheduler Thread - 549/WARN]: Exception in thread "Craft Scheduler Thread - 549"
[20:33:43] [Craft Scheduler Thread - 549/WARN]: org.apache.commons.lang.UnhandledException: Plugin BanManager v5.5.0 generated an exception while executing task 1207754
at org.bukkit.craftbukkit.v1_8_R2.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at me.confuser.banmanager.commands.UnbanCommand$1.run(UnbanCommand.java:81)
at org.bukkit.craftbukkit.v1_8_R2.scheduler.CraftTask.run(CraftTask.java:71)
at org.bukkit.craftbukkit.v1_8_R2.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
... 3 more
Just had the same issue http://pastebin.com/abaqTrzH
Relog did not fix the issue at first, then the relog seemed to work.
Just a guess but I think this bug may have been introduced in 5.5.0, because till 5.4.1 I never had this issue.
I can put that build on, however since this issue happens very rarely and I can't reproduce it I don't really see how I could report back to you that it doesn't happen anymore.
v5.5.0 didn't make any changes to the join events.
We're not experiencing this on Frostcast which makes me more inclined towards it being another plugin causing this by poorly handling the join events.
I've probably asked you both of this before, but can you both post your plugin lists so I can compare to see if there are any plugins you are both running?
I'm not running anything special: EssentialsX/Spawn/Chat, Groupmanager, NoCheatPlus, Worldguard/edit, Vault, PlugMan, Worldborder, Healthbar, SimpleTag, SignEdit, BetterEnderChest, ChestCommands, OpenInv, BanManager (surprise), ConsoleMesagesFilter, VariableTriggers, HolographicDisplays, Votifier, VanishNoPacket, TitleManager, FactionsUUID.
AsyncWorldEditInjector, dynmap, WorldEdit, VoteRoulette, ChunkSpawnerLimiter, Essentials, TuxTwoLib, BukkitSpeak, ChatControl, AutoMessage, WorldBorder, Modifyworld, Votifier, BanManager, AntiLog, WorldGuard, AsyncWorldEdit, RedstoneClockDetector, iConomy, PermissionsEx, AnimalProtect, mcMMO, ProtectionStones, Vault, EssentialsSpawn, Prism, MyCommand, EnderSpawn, ChestShop, CompatNoCheatPlus, LiftSign, PlotSquared, Dynmap-WorldGuard, Multiverse-Core, OnTime, Plot2Dynmap, ServerSigns, RandomLocation, GameModeInventories, GroupBasedPVP, Scavenger, ProtocolLib, NoCheatPlus, VanishNoPacket, ScoreboardStats, HolographicDisplays
I'm pretty sure a reason it was abandoned was the fact that the code was bloated compared to other economy plugins out there, but whatever, if you like it lol.
Can you try http://ci.frostcast.net/job/BanManager/151/ and let me know if it's fixed?
Keep in mind it contains the geoip features, so you'll notice an increase in the jar size.
got same issue and I combined the plugins i have and they both have, and these are the ones we all share in common
Plugins: Essentials, NoCheatPlus, Worldguard, Worldedit, Vault, BanManager, HolographicDisplays, Votifier
actually i got a different error
[21:31:00 WARN]: Exception in thread "Craft Scheduler Thread - 384"
[21:31:00 WARN]: org.apache.commons.lang.UnhandledException: Plugin BanManager v5.5.0 generated an exception while executing task 32
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.IllegalStateException: Errors getting more results of class me.confuser.banmanager.data.PlayerBanData
at me.confuser.banmanager.internal.ormlite.stmt.SelectIterator.hasNext(SelectIterator.java:103)
at me.confuser.banmanager.runnables.ExpiresSync.run(ExpiresSync.java:39)
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71)
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
... 3 more
Caused by: java.sql.SQLException: Operation not allowed after ResultSet closed
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
at com.mysql.jdbc.ResultSetImpl.checkClosed(ResultSetImpl.java:794)
at com.mysql.jdbc.ResultSetImpl.first(ResultSetImpl.java:1164)
at me.confuser.banmanager.internal.ormlite.jdbc.JdbcDatabaseResults.first(JdbcDatabaseResults.java:58)
at me.confuser.banmanager.internal.ormlite.stmt.SelectIterator.hasNextThrow(SelectIterator.java:79)
at me.confuser.banmanager.internal.ormlite.stmt.SelectIterator.hasNext(SelectIterator.java:98)
... 6 more
It still happens, even on the latest build.
As always, relogging fixes the issue.
This issue is minor for me though, almost never happens and is easy to fix through relog.