Pwn9 / PwnFilter

PwnFilter is a JAVA Plugin for Bukkit, a multiplayer server API for the game Minecraft. Pwnfilter implements Regular Expressions created in a user defined "rules.txt" as an in-game chat filter to remove profane language, spam and caps, for fun and as an effective command alias creator.
GNU General Public License v3.0
15 stars 25 forks source link

NullPointerException - ConcurrentHashMap.putVal #23

Closed mibby closed 8 years ago

mibby commented 8 years ago

PwnFilter dev 121.

10:49:07] [Async Chat Thread - #61/WARN]: [PwnFilter] Bukkit API call timed out (Waited >3s). Is the server busy?
[10:49:07] [Async Chat Thread - #61/ERROR]: Could not pass event AsyncPlayerChatEvent to PwnFilter v3.9.2-SNAPSHOT-b121
java.lang.NullPointerException
    at java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1011) ~[?:1.8.0_92]
    at java.util.concurrent.ConcurrentHashMap.putIfAbsent(ConcurrentHashMap.java:1535) ~[?:1.8.0_92]
    at com.pwn9.filter.bukkit.BukkitPlayer.hasPermission(BukkitPlayer.java:75) ~[?:?]
    at com.pwn9.filter.bukkit.listener.PwnFilterPlayerListener.onPlayerChat(PwnFilterPlayerListener.java:76) ~[?:?]
    at com.pwn9.filter.bukkit.listener.PwnFilterPlayerListener.lambda$activate$29(PwnFilterPlayerListener.java:140) ~[?:?]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) ~[patched_1.9.4.jar:git-Paper-748]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.9.4.jar:git-Paper-748]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [patched_1.9.4.jar:git-Paper-748]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:499) [patched_1.9.4.jar:git-Paper-748]
    at net.minecraft.server.v1_9_R2.PlayerConnection.chat(PlayerConnection.java:1302) [patched_1.9.4.jar:git-Paper-748]
    at net.minecraft.server.v1_9_R2.PlayerConnection.a(PlayerConnection.java:1217) [patched_1.9.4.jar:git-Paper-748]
    at net.minecraft.server.v1_9_R2.PacketPlayInChat$1.run(PacketPlayInChat.java:39) [patched_1.9.4.jar:git-Paper-748]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_92]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_92]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_92]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_92]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_92]
ptoal commented 8 years ago

Okay, well this one looks like a genuine API timeout. The server looks like it was busy for > 3s. Did you notice anything else in the logs about the server being busy around that time? I've fixed the NPE. You'll still get an API call timed out message if this happens again, though.

mibby commented 8 years ago

No, no other logs regarding the server being busy. It was the only error that I could find looking at logs as of the last few days. TPS has been generally stable around 20 most of the time as well.