From 11f4e9942cceca3d698c566f2a673c352b73868c Mon Sep 17 00:00:00 2001 From: Julien Viet Date: Tue, 15 Oct 2019 13:52:00 +0200 Subject: [PATCH] Revert "Detect and print deadlocks in JVM when blocked thread checker detects a blocked thread" This reverts commit 858097700095530d3f6cd6ea79659bae9abbc731. --- .../vertx/core/impl/BlockedThreadChecker.java | 31 ------------------- 1 file changed, 31 deletions(-) diff --git a/src/main/java/io/vertx/core/impl/BlockedThreadChecker.java b/src/main/java/io/vertx/core/impl/BlockedThreadChecker.java index 4b7f0462b..c0852c056 100644 --- a/src/main/java/io/vertx/core/impl/BlockedThreadChecker.java +++ b/src/main/java/io/vertx/core/impl/BlockedThreadChecker.java @@ -15,9 +15,6 @@ import io.vertx.core.VertxException; import io.vertx.core.impl.logging.Logger; import io.vertx.core.impl.logging.LoggerFactory; -import java.lang.management.ManagementFactory; -import java.lang.management.ThreadInfo; -import java.lang.management.ThreadMXBean; import java.util.Map; import java.util.Timer; import java.util.TimerTask; @@ -29,8 +26,6 @@ import java.util.concurrent.TimeUnit; */ public class BlockedThreadChecker { - private final ThreadMXBean mbean = ManagementFactory.getThreadMXBean(); - /** * A checked task. */ @@ -63,14 +58,6 @@ public class BlockedThreadChecker { if (warningExceptionTimeUnit.convert(dur, TimeUnit.NANOSECONDS) <= warningExceptionTime) { log.warn(message); } else { - - // Check for deadlocks - long[] deadlockedThreadIds = mbean.findDeadlockedThreads(); - if (deadlockedThreadIds != null) { - ThreadInfo[] threadInfos = mbean.getThreadInfo(deadlockedThreadIds); - handleDeadlock(threadInfos); - } - VertxException stackTrace = new VertxException("Thread blocked"); stackTrace.setStackTrace(entry.getKey().getStackTrace()); log.warn(message, stackTrace); @@ -82,24 +69,6 @@ public class BlockedThreadChecker { }, intervalUnit.toMillis(interval), intervalUnit.toMillis(interval)); } - private void handleDeadlock(final ThreadInfo[] deadlockedThreads) { - System.err.println("Deadlock detected!"); - Map stackTraceMap = Thread.getAllStackTraces(); - for (ThreadInfo threadInfo : deadlockedThreads) { - if (threadInfo != null) { - for (Thread thread : Thread.getAllStackTraces().keySet()) { - if (thread.getId() == threadInfo.getThreadId()) { - System.err.println(threadInfo.toString().trim()); - for (StackTraceElement ste : thread.getStackTrace()) { - System.err.println("\t" + ste.toString().trim()); - } - } - } - } - } - } - - synchronized void registerThread(Thread thread, Task checked) { threads.put(thread, checked); }