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

StringIndexOutOfBoundsException: Could not pass event AsyncPlayerChatEvent to PwnFilter #25

Closed mibby closed 4 years ago

mibby commented 8 years ago

PwnFilter dev 125

Noticed this error in my logs.

[13:55:42] [Async Chat Thread - #134/ERROR]: Could not pass event AsyncPlayerChatEvent to PwnFilter v3.9.2-SNAPSHOT-b125
java.lang.StringIndexOutOfBoundsException: String index out of range: 16
    at java.lang.String.charAt(String.java:658) ~[?:1.8.0_92]
    at java.lang.Character.codePointAt(Character.java:4866) ~[?:1.8.0_92]
    at java.util.regex.Pattern$CIBackRef.match(Pattern.java:4946) ~[?:1.8.0_92]
    at java.util.regex.Pattern$Curly.match0(Pattern.java:4260) ~[?:1.8.0_92]
    at java.util.regex.Pattern$Curly.match(Pattern.java:4234) ~[?:1.8.0_92]
    at java.util.regex.Pattern$CIBackRef.match(Pattern.java:4965) ~[?:1.8.0_92]
    at java.util.regex.Pattern$CIBackRef.match(Pattern.java:4965) ~[?:1.8.0_92]
    at java.util.regex.Pattern$CIBackRef.match(Pattern.java:4965) ~[?:1.8.0_92]
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658) ~[?:1.8.0_92]
    at java.util.regex.Pattern$Pos.match(Pattern.java:5060) ~[?:1.8.0_92]
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717) ~[?:1.8.0_92]
    at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777) ~[?:1.8.0_92]
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658) ~[?:1.8.0_92]
    at java.util.regex.Pattern$Start.match(Pattern.java:3461) ~[?:1.8.0_92]
    at java.util.regex.Matcher.search(Matcher.java:1248) ~[?:1.8.0_92]
    at java.util.regex.Matcher.find(Matcher.java:637) ~[?:1.8.0_92]
    at java.util.regex.Matcher.replaceAll(Matcher.java:951) ~[?:1.8.0_92]
    at com.pwn9.filter.util.SimpleString.replaceText(SimpleString.java:45) ~[?:?]
    at com.pwn9.filter.engine.rules.action.core.Replace.execute(Replace.java:54) ~[?:?]
    at com.pwn9.filter.engine.rules.Rule.apply(Rule.java:210) ~[?:?]
    at com.pwn9.filter.engine.rules.chain.RuleChain.apply(RuleChain.java:100) ~[?:?]
    at com.pwn9.filter.engine.rules.chain.RuleChain.execute(RuleChain.java:105) ~[?:?]
    at com.pwn9.filter.bukkit.listener.PwnFilterPlayerListener.onPlayerChat(PwnFilterPlayerListener.java:101) ~[?:?]
    at com.pwn9.filter.bukkit.listener.PwnFilterPlayerListener.lambda$activate$29(PwnFilterPlayerListener.java:133) ~[?:?]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) ~[patched_1.10.2.jar:git-Paper-809]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.10.2.jar:git-Paper-809]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [patched_1.10.2.jar:git-Paper-809]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:499) [patched_1.10.2.jar:git-Paper-809]
    at net.minecraft.server.v1_10_R1.PlayerConnection.chat(PlayerConnection.java:1304) [patched_1.10.2.jar:git-Paper-809]
    at net.minecraft.server.v1_10_R1.PlayerConnection.a(PlayerConnection.java:1219) [patched_1.10.2.jar:git-Paper-809]
    at net.minecraft.server.v1_10_R1.PacketPlayInChat$1.run(PacketPlayInChat.java:39) [patched_1.10.2.jar:git-Paper-809]
    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]

The text line sent after the error (same timestamp).

[13:55:42] [Async Chat Thread - #134/INFO]: player: 💙💙💙💙💙💙💙💙
mibby commented 8 years ago

Still happening as of PwnFilter v3.9.2-SNAPSHOT-b125 and Paper dev 845 (Spigot 1.10.2). :(

[21:43:17] [Async Chat Thread - #64/ERROR]: Could not pass event AsyncPlayerChatEvent to PwnFilter v3.9.2-SNAPSHOT-b125
java.lang.StringIndexOutOfBoundsException: String index out of range: 38
    at java.lang.String.charAt(String.java:658) ~[?:1.8.0_102]
    at java.lang.Character.codePointAt(Character.java:4866) ~[?:1.8.0_102]
    at java.util.regex.Pattern$CIBackRef.match(Pattern.java:4946) ~[?:1.8.0_102]
    at java.util.regex.Pattern$Curly.match0(Pattern.java:4260) ~[?:1.8.0_102]
    at java.util.regex.Pattern$Curly.match(Pattern.java:4234) ~[?:1.8.0_102]
    at java.util.regex.Pattern$CIBackRef.match(Pattern.java:4965) ~[?:1.8.0_102]
    at java.util.regex.Pattern$CIBackRef.match(Pattern.java:4965) ~[?:1.8.0_102]
    at java.util.regex.Pattern$CIBackRef.match(Pattern.java:4965) ~[?:1.8.0_102]
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658) ~[?:1.8.0_102]
    at java.util.regex.Pattern$Pos.match(Pattern.java:5060) ~[?:1.8.0_102]
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717) ~[?:1.8.0_102]
    at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777) ~[?:1.8.0_102]
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658) ~[?:1.8.0_102]
    at java.util.regex.Pattern$Start.match(Pattern.java:3461) ~[?:1.8.0_102]
    at java.util.regex.Matcher.search(Matcher.java:1248) ~[?:1.8.0_102]
    at java.util.regex.Matcher.find(Matcher.java:637) ~[?:1.8.0_102]
    at java.util.regex.Matcher.replaceAll(Matcher.java:951) ~[?:1.8.0_102]
    at com.pwn9.filter.util.SimpleString.replaceText(SimpleString.java:45) ~[?:?]
    at com.pwn9.filter.engine.rules.action.core.Replace.execute(Replace.java:54) ~[?:?]
    at com.pwn9.filter.engine.rules.Rule.apply(Rule.java:210) ~[?:?]
    at com.pwn9.filter.engine.rules.chain.RuleChain.apply(RuleChain.java:100) ~[?:?]
    at com.pwn9.filter.engine.rules.chain.RuleChain.execute(RuleChain.java:105) ~[?:?]
    at com.pwn9.filter.bukkit.listener.PwnFilterPlayerListener.onPlayerChat(PwnFilterPlayerListener.java:101) ~[?:?]
    at com.pwn9.filter.bukkit.listener.PwnFilterPlayerListener.lambda$activate$29(PwnFilterPlayerListener.java:133) ~[?:?]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) ~[patched_1.10.2.jar:git-Paper-845]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.10.2.jar:git-Paper-845]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [patched_1.10.2.jar:git-Paper-845]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:499) [patched_1.10.2.jar:git-Paper-845]
    at net.minecraft.server.v1_10_R1.PlayerConnection.chat(PlayerConnection.java:1304) [patched_1.10.2.jar:git-Paper-845]
    at net.minecraft.server.v1_10_R1.PlayerConnection.a(PlayerConnection.java:1219) [patched_1.10.2.jar:git-Paper-845]
    at net.minecraft.server.v1_10_R1.PacketPlayInChat$1.run(PacketPlayInChat.java:39) [patched_1.10.2.jar:git-Paper-845]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_102]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_102]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_102]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_102]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_102]
[21:43:17] [Async Chat Thread - #64/INFO]: player: 💔💔💔💔💔💔💔💔💔💔💔💔💔💔💔💔💔💔💔
[15:33:31] [Async Chat Thread - #123/ERROR]: Could not pass event AsyncPlayerChatEvent to PwnFilter v3.9.2-SNAPSHOT-b125
java.lang.StringIndexOutOfBoundsException: String index out of range: 8
    at java.lang.String.charAt(String.java:658) ~[?:1.8.0_102]
    at java.lang.Character.codePointAt(Character.java:4866) ~[?:1.8.0_102]
    at java.util.regex.Pattern$CIBackRef.match(Pattern.java:4946) ~[?:1.8.0_102]
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658) ~[?:1.8.0_102]
    at java.util.regex.Pattern$Pos.match(Pattern.java:5060) ~[?:1.8.0_102]
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717) ~[?:1.8.0_102]
    at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777) ~[?:1.8.0_102]
    at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777) ~[?:1.8.0_102]
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658) ~[?:1.8.0_102]
    at java.util.regex.Pattern$Start.match(Pattern.java:3461) ~[?:1.8.0_102]
    at java.util.regex.Matcher.search(Matcher.java:1248) ~[?:1.8.0_102]
    at java.util.regex.Matcher.find(Matcher.java:637) ~[?:1.8.0_102]
    at java.util.regex.Matcher.replaceAll(Matcher.java:951) ~[?:1.8.0_102]
    at com.pwn9.filter.util.SimpleString.replaceText(SimpleString.java:45) ~[?:?]
    at com.pwn9.filter.engine.rules.action.core.Replace.execute(Replace.java:54) ~[?:?]
    at com.pwn9.filter.engine.rules.Rule.apply(Rule.java:210) ~[?:?]
    at com.pwn9.filter.engine.rules.chain.RuleChain.apply(RuleChain.java:100) ~[?:?]
    at com.pwn9.filter.engine.rules.chain.RuleChain.execute(RuleChain.java:105) ~[?:?]
    at com.pwn9.filter.bukkit.listener.PwnFilterPlayerListener.onPlayerChat(PwnFilterPlayerListener.java:101) ~[?:?]
    at com.pwn9.filter.bukkit.listener.PwnFilterPlayerListener.lambda$activate$29(PwnFilterPlayerListener.java:133) ~[?:?]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) ~[patched_1.10.2.jar:git-Paper-845]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.10.2.jar:git-Paper-845]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [patched_1.10.2.jar:git-Paper-845]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:499) [patched_1.10.2.jar:git-Paper-845]
    at net.minecraft.server.v1_10_R1.PlayerConnection.chat(PlayerConnection.java:1304) [patched_1.10.2.jar:git-Paper-845]
    at net.minecraft.server.v1_10_R1.PlayerConnection.a(PlayerConnection.java:1219) [patched_1.10.2.jar:git-Paper-845]
    at net.minecraft.server.v1_10_R1.PacketPlayInChat$1.run(PacketPlayInChat.java:39) [patched_1.10.2.jar:git-Paper-845]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_102]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_102]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_102]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_102]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_102]
[15:33:31] [Async Chat Thread - #123/INFO]: player: 💅🏻💅🏻