static bool isThreadRunnable_x(Thread t, StackTraceElement[] trace) { if (t.getState() != Thread.State.RUNNABLE) false; StackTraceElement e = first(trace); if (e == null) false; // Weird threads like "DestroyJavaVM" S s = e.getClassName() + "." + e.getMethodName(); ret !eqOneOf(s, "java.net.SocketInputStream.socketRead0", "java.net.PlainSocketImpl.socketAccept"); }