bowser0000/SkyblockMod

[BUG/FREEZE] Skilltracker.onChat causes Client Thread to be blocked indefinetly

Opened this issue · 0 comments

Random frequent freezes led me to profile this issue,
seems to happen from this https://github.com/bowser0000/SkyblockMod/blob/development/src/main/java/me/Danker/features/SkillTracker.java#L63
or maybe the for-each underneath?

jstack -F <PID>
-> https://pastebin.com/eXkVhqX1

important part: Client Thread Stacktrace:

Thread 1: (state = BLOCKED)

  • java.util.regex.Pattern$BmpCharProperty.match(java.util.regex.Matcher, int, java.lang.CharSequence) @bci=16, line=3797 (Compiled frame; information may be imprecise)
  • java.util.regex.Pattern$Curly.match0(java.util.regex.Matcher, int, int, java.lang.CharSequence) @bci=31, line=4250 (Compiled frame)
  • java.util.regex.Pattern$Curly.match(java.util.regex.Matcher, int, java.lang.CharSequence) @bci=54, line=4234 (Compiled frame)
  • java.util.regex.Pattern$Start.match(java.util.regex.Matcher, int, java.lang.CharSequence) @bci=44, line=3461 (Compiled frame)
  • java.util.regex.Matcher.search(int) @bci=86, line=1248 (Compiled frame)
  • java.util.regex.Matcher.find() @bci=65, line=637 (Compiled frame)
  • java.util.regex.Pattern.split(java.lang.CharSequence, int) @bci=31, line=1209 (Compiled frame)
  • java.lang.String.split(java.lang.String, int) @bci=322, line=2368 (Compiled frame)
  • java.lang.String.split(java.lang.String) @bci=3, line=2410 (Compiled frame)
  • me.Danker.features.SkillTracker.onChat(net.minecraftforge.client.event.ClientChatReceivedEvent) @bci=26, line=63 (Compiled frame)
  • net.minecraftforge.fml.common.eventhandler.ASMEventHandler_432_SkillTracker_onChat_ClientChatReceivedEvent.invoke(net.minecraftforge.fml.common.eventhandler.Event) @bci=11 (Compiled frame)
  • net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(net.minecraftforge.fml.common.eventhandler.Event) @bci=70, line=49 (Compiled frame)
  • net.minecraftforge.fml.common.eventhandler.EventBus.post(net.minecraftforge.fml.common.eventhandler.Event) @bci=40, line=140 (Compiled frame)
  • net.minecraftforge.event.ForgeEventFactory.onClientChat(byte, net.minecraft.util.IChatComponent) @bci=14, line=272 (Compiled frame)
  • net.minecraft.client.network.NetHandlerPlayClient.func_147251_a(net.minecraft.network.play.server.S02PacketChat) @bci=17, line=753 (Compiled frame)
  • net.minecraft.network.play.server.S02PacketChat.func_148833_a(net.minecraft.network.play.INetHandlerPlayClient) @bci=2, line=44 (Compiled frame)
  • net.minecraft.network.play.server.S02PacketChat.func_148833_a(net.minecraft.network.INetHandler) @bci=5, line=9 (Compiled frame)
  • net.minecraft.network.PacketThreadUtil$1.redirect$znf000$patcher$ignorePacketsFromClosedConnections(net.minecraft.network.Packet, net.minecraft.network.INetHandler) @bci=22, line=523 (Compiled frame)
  • net.minecraft.network.PacketThreadUtil$1.run() @bci=35, line=22 (Compiled frame)
  • java.util.concurrent.Executors$RunnableAdapter.call() @bci=4, line=511 (Compiled frame)
  • java.util.concurrent.FutureTask.run() @bci=42, line=266 (Compiled frame)
  • net.minecraft.util.Util.func_181617_a(java.util.concurrent.FutureTask, org.apache.logging.log4j.Logger) @bci=1, line=19 (Compiled frame)
  • net.minecraft.client.Minecraft.func_71411_J() @bci=166, line=1014 (Compiled frame)
  • net.minecraft.client.Minecraft.func_99999_d() @bci=61, line=349 (Interpreted frame)
  • net.minecraft.client.main.Main.main(java.lang.String[]) @bci=1068, line=124 (Interpreted frame)
    ...