From e2eaa9b746e86bc11261d1e2a93fb63cc3cf9ba8 Mon Sep 17 00:00:00 2001 From: hayanesuru Date: Sat, 7 Jun 2025 20:38:20 +0900 Subject: [PATCH] dump pwt thread --- .../features/0043-dump-pwt-thread.patch | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 leaf-server/paper-patches/features/0043-dump-pwt-thread.patch diff --git a/leaf-server/paper-patches/features/0043-dump-pwt-thread.patch b/leaf-server/paper-patches/features/0043-dump-pwt-thread.patch new file mode 100644 index 00000000..3af35014 --- /dev/null +++ b/leaf-server/paper-patches/features/0043-dump-pwt-thread.patch @@ -0,0 +1,41 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: hayanesuru +Date: Sat, 7 Jun 2025 20:33:16 +0900 +Subject: [PATCH] dump pwt thread + + +diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java +index e45d5da04428c26fc6aa97fba974bde3573d7950..745a9afcdb8ea3047c1fcdc91971ba8f034cbd39 100644 +--- a/src/main/java/org/spigotmc/WatchdogThread.java ++++ b/src/main/java/org/spigotmc/WatchdogThread.java +@@ -8,6 +8,7 @@ import java.lang.management.ThreadInfo; + import java.util.logging.Level; + import java.util.logging.Logger; + import net.minecraft.server.MinecraftServer; ++import net.minecraft.server.level.ServerLevel; + import org.bukkit.Bukkit; + import org.bukkit.craftbukkit.CraftServer; + +@@ -124,8 +125,21 @@ public class WatchdogThread extends ca.spottedleaf.moonrise.common.util.TickThre + logger.log(Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Leaf!):"); // Paper // Gale - branding changes // Leaf - Rebrand + FeatureHooks.dumpAllChunkLoadInfo(MinecraftServer.getServer(), isLongTimeout); // Paper - log detailed tick information + WatchdogThread.dumpThread(ManagementFactory.getThreadMXBean().getThreadInfo(MinecraftServer.getServer().serverThread.getId(), Integer.MAX_VALUE), logger); ++ // Leaf start + logger.log(Level.SEVERE, "------------------------------"); +- ++ logger.log(Level.SEVERE, "Parallel world ticking thread dump"); ++ for (Thread thread : org.apache.commons.lang3.ThreadUtils.getAllThreads()) { ++ if (MinecraftServer.getServer().serverThread == thread || thread instanceof WatchdogThread) { ++ continue; ++ } ++ if (thread instanceof ca.spottedleaf.moonrise.common.util.TickThread tickThread) { ++ if (tickThread instanceof ServerLevelTickThread tickThread1) { ++ WatchdogThread.dumpThread(ManagementFactory.getThreadMXBean().getThreadInfo(tickThread1.getId(), Integer.MAX_VALUE), logger); ++ } ++ } ++ } ++ logger.log(Level.SEVERE, "------------------------------"); ++ // Leaf end + // Paper start - Only print full dump on long timeouts + if (isLongTimeout) { + logger.log(Level.SEVERE, "Entire Thread Dump:");