Random Exception
Wolf2323 opened this issue ยท 8 comments
Issue report
Tell us about your environment
-
Server Software:
git-Tuinity-"8056d13"
-
Server Version:
1.15.4
-
BanManager Version:
7.2.2
-
Online/Offline mode:
online
-
Bungeecoord online/offline mode (if applicable):
none bungeecord
BanManager config.yml:
#
# Aliases will be found and blocked automatically, e.g. msg will block tell
debug: false
databases:
local:
enabled: true
storageType: mysql
host:
port:
name:
user:
password:
maxConnections: 10
useSSL: false
verifyServerCertificate: false
leakDetection: 3000
tables:
players: bm_players
playerBans: bm_player_bans
playerBanRecords: bm_player_ban_records
playerMutes: bm_player_mutes
playerMuteRecords: bm_player_mute_records
playerKicks: bm_player_kicks
playerNotes: bm_player_notes
playerHistory: bm_player_history
playerReports: bm_player_reports
playerReportLocations: bm_player_report_locations
playerReportStates: bm_player_report_states
playerReportCommands: bm_player_report_commands
playerReportComments: bm_player_report_comments
playerWarnings: bm_player_warnings
ipBans: bm_ip_bans
ipBanRecords: bm_ip_ban_records
ipMutes: bm_ip_mutes
ipMuteRecords: bm_ip_mute_records
ipRangeBans: bm_ip_range_bans
ipRangeBanRecords: bm_ip_range_ban_records
rollbacks: bm_rollbacks
nameBans: bm_name_bans
nameBanRecords: bm_name_ban_records
global:
enabled: false
storageType: mysql
host:
port:
name:
user:
password:
maxConnections: 10
useSSL: false
verifyServerCertificate: false
leakDetection: 3000
tables:
playerBans: bm_player_ban_all
playerUnbans: bm_player_unban_all
playerMutes: bm_player_mute_all
playerUnmutes: bm_player_unmute_all
playerNotes: bm_player_note_all
ipBans: bm_ip_ban_all
ipUnbans: bm_ip_unban_all
mutedCommandBlacklist:
- msg
softMutedCommandBlacklist:
- msg
duplicateIpCheck: true
bypassDuplicateChecks:
- 0.0.0.0
- 127.0.0.1
logKicks: false
logIps: true
displayNotifications: true
broadcastOnSync: true
timeLimits: {}
cooldowns:
ban: 10
tempban: 10
mute: 10
tempmute: 10
banip: 10
tempbanip: 10
warn: 10
tempwarn: 10
report: 10
warningCooldown: 10
warningActions:
enabled: false
warningMute: false
hooks:
enabled: false
checkForUpdates: true
offlineAutoComplete: true
punishAlts: false
denyAlts: true
cleanUp:
kicks: 30
banRecords: 0
ipBanRecords: 0
ipMuteRecords: 0
muteRecords: 0
readWarnings: 0
unreadWarnings: 0
playerHistory: 0
maxOnlinePerIp: 2
maxMultiaccountsRecently: 0
multiaccountsTime: 300
checkOnJoin: true
createNoteReasons: false
onlineMode: true
chatPriority: normal
blockInvalidReasons: false
Describe your issue:
I found this exception in the log, there is no more context to this exception:
[12:51:01] [Craft Scheduler Thread - 218 - BanManager/WARN]: [BanManager] Plugin BanManager v7.2.2 generated an exception while executing task 24
java.lang.NullPointerException: Nodes must be provided.
at me.confuser.banmanager.common.snakeyaml.nodes.NodeTuple.<init>(NodeTuple.java:28) ~[?:?]
at me.confuser.banmanager.common.snakeyaml.representer.BaseRepresenter.representMapping(BaseRepresenter.java:164) ~[?:?]
at me.confuser.banmanager.common.snakeyaml.representer.SafeRepresenter$RepresentMap.representData(SafeRepresenter.java:320) ~[?:?]
at me.confuser.banmanager.common.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:95) ~[?:?]
at me.confuser.banmanager.common.snakeyaml.representer.BaseRepresenter.represent(BaseRepresenter.java:65) ~[?:?]
at me.confuser.banmanager.common.snakeyaml.Yaml.dumpAll(Yaml.java:271) ~[?:?]
at me.confuser.banmanager.common.snakeyaml.Yaml.dumpAll(Yaml.java:262) ~[?:?]
at me.confuser.banmanager.common.snakeyaml.Yaml.dumpAll(Yaml.java:234) ~[?:?]
at me.confuser.banmanager.common.snakeyaml.Yaml.dump(Yaml.java:209) ~[?:?]
at me.confuser.banmanager.common.configuration.file.YamlConfiguration.saveToString(YamlConfiguration.java:83) ~[?:?]
at me.confuser.banmanager.common.configuration.file.FileConfiguration.save(FileConfiguration.java:54) ~[?:?]
at me.confuser.banmanager.common.configs.Config.save(Config.java:86) ~[?:?]
at me.confuser.banmanager.common.runnables.SaveLastChecked.run(SaveLastChecked.java:16) ~[?:?]
at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:99) ~[patched_1.16.4.jar:git-Tuinity-"f06591a"]
at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:58) ~[patched_1.16.4.jar:git-Tuinity-"f06591a"]
at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.16.4.jar:git-Tuinity-"f06591a"]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:834) [?:?]
How to replicate:
Further information:
Of course ;)
# Scheduler intervals in seconds, recommended to leave as default values.
# Setting to 0 disables the scheduler from running.
# Only change if you know what you are doing!
scheduler:
expiresCheck: 0
playerBans: 0
playerMutes: 0
playerWarnings: 0
ipBans: 0
ipRangeBans: 0
rollbacks: 0
nameBans: 0
externalPlayerBans: 0
externalPlayerMutes: 0
externalPlayerNotes: 0
externalIpBans: 0
saveLastChecked: 0
lastChecked:
externalPlayerNotes: 0
playerMutes: 1610377562
ipRangeBans: 1610377562
expiresCheck: 1610377562
nameBans: 1610377562
externalPlayerMutes: 0
rollbacks: 1610377562
playerBans: 1610377562
externalPlayerBans: 0
externalIpBans: 0
playerWarnings: 1610377562
ipBans: 1610377562
We got one more exception maybe that helps:
[19:02:32] [bm-local housekeeper/WARN]: [bm-local housekeeper] WARN me.confuser.banmanager.common.hikari.pool.ProxyLeakTask - Connection leak detection triggered for me.confuser.banmanager.common.mysql.cj.jdbc.ConnectionImpl@5bc5d24b on thread Craft Scheduler Thread - 1139 - BanManager, stack trace follows
[19:02:32] [bm-local housekeeper/WARN]: java.lang.Exception: Apparent connection leak detected
[19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.hikari.HikariDataSource.getConnection(HikariDataSource.java:128)
[19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.ormlite.jdbc.DataSourceConnectionSource.getReadWriteConnection(DataSourceConnectionSource.java:147)
[19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.ormlite.jdbc.DataSourceConnectionSource.getReadOnlyConnection(DataSourceConnectionSource.java:127)
[19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.ormlite.stmt.StatementExecutor.buildIterator(StatementExecutor.java:243)
[19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.ormlite.dao.BaseDaoImpl.createIterator(BaseDaoImpl.java:1108)
[19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.ormlite.dao.BaseDaoImpl.iterator(BaseDaoImpl.java:611)
[19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.ormlite.dao.BaseDaoImpl.iterator(BaseDaoImpl.java:605)
[19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.ormlite.stmt.QueryBuilder.iterator(QueryBuilder.java:394)
[19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.storage.PlayerBanRecordStorage.findUnbans(PlayerBanRecordStorage.java:66)
[19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.runnables.BanSync.newUnbans(BanSync.java:85)
[19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.runnables.BanSync.run(BanSync.java:27)
[19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.runnables.Runner.run(Runner.java:27)
[19:02:32] [bm-local housekeeper/WARN]: at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:99)
[19:02:32] [bm-local housekeeper/WARN]: at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:58)
[19:02:32] [bm-local housekeeper/WARN]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22)
[19:02:32] [bm-local housekeeper/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[19:02:32] [bm-local housekeeper/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[19:02:32] [bm-local housekeeper/WARN]: at java.base/java.lang.Thread.run(Thread.java:834)
We got one more exception maybe that helps:
[19:02:32] [bm-local housekeeper/WARN]: [bm-local housekeeper] WARN me.confuser.banmanager.common.hikari.pool.ProxyLeakTask - Connection leak detection triggered for me.confuser.banmanager.common.mysql.cj.jdbc.ConnectionImpl@5bc5d24b on thread Craft Scheduler Thread - 1139 - BanManager, stack trace follows [19:02:32] [bm-local housekeeper/WARN]: java.lang.Exception: Apparent connection leak detected [19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.hikari.HikariDataSource.getConnection(HikariDataSource.java:128) [19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.ormlite.jdbc.DataSourceConnectionSource.getReadWriteConnection(DataSourceConnectionSource.java:147) [19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.ormlite.jdbc.DataSourceConnectionSource.getReadOnlyConnection(DataSourceConnectionSource.java:127) [19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.ormlite.stmt.StatementExecutor.buildIterator(StatementExecutor.java:243) [19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.ormlite.dao.BaseDaoImpl.createIterator(BaseDaoImpl.java:1108) [19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.ormlite.dao.BaseDaoImpl.iterator(BaseDaoImpl.java:611) [19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.ormlite.dao.BaseDaoImpl.iterator(BaseDaoImpl.java:605) [19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.ormlite.stmt.QueryBuilder.iterator(QueryBuilder.java:394) [19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.storage.PlayerBanRecordStorage.findUnbans(PlayerBanRecordStorage.java:66) [19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.runnables.BanSync.newUnbans(BanSync.java:85) [19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.runnables.BanSync.run(BanSync.java:27) [19:02:32] [bm-local housekeeper/WARN]: at me.confuser.banmanager.common.runnables.Runner.run(Runner.java:27) [19:02:32] [bm-local housekeeper/WARN]: at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:99) [19:02:32] [bm-local housekeeper/WARN]: at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:58) [19:02:32] [bm-local housekeeper/WARN]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) [19:02:32] [bm-local housekeeper/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [19:02:32] [bm-local housekeeper/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [19:02:32] [bm-local housekeeper/WARN]: at java.base/java.lang.Thread.run(Thread.java:834)
Set leakDetection
to 0 in your config
So this should solve my secons stacktrace. What is with the first exception?
saveLastChecked: 0
is likely the cause, any particular reason you have them all set to 0?
Our case it, that we do not have multiple servers. So we do not need a scheduler, that pull the bans again from the database. So i tryed to disable them with the value 0. And i could not find any other way to disable them.
Reset them back to the defaults, otherwise you'll experience somewhat odd behaviour, such as bans not expiring etc