From 009c2ee4627f484e9da783802c844695030c6e07 Mon Sep 17 00:00:00 2001 From: Jonathan Cobb Date: Fri, 3 Jul 2020 22:37:26 -0400 Subject: [PATCH] avoid NPE in shortError --- .../java/org/cobbzilla/util/daemon/ZillaRuntime.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/cobbzilla/util/daemon/ZillaRuntime.java b/src/main/java/org/cobbzilla/util/daemon/ZillaRuntime.java index 886e446..8d21898 100644 --- a/src/main/java/org/cobbzilla/util/daemon/ZillaRuntime.java +++ b/src/main/java/org/cobbzilla/util/daemon/ZillaRuntime.java @@ -57,13 +57,16 @@ public class ZillaRuntime { thread.interrupt(); final long start = realNow(); while (thread.isAlive() && realNow() - start < timeout) { - sleep(100, "terminate: waiting for thread to die: "+thread); + sleep(100, "terminate: waiting for thread to exit: "+thread); } if (thread.isAlive()) { - log.warn("terminate: thread did not die voluntarily, killing it: "+thread); + log.warn("terminate: thread did not respond to interrupt, killing it: "+thread); thread.stop(); + return false; + } else { + log.warn("terminate: thread exited after interrupt: "+thread); + return true; } - return false; } public static boolean bool(Boolean b) { return b != null && b; } @@ -166,7 +169,7 @@ public class ZillaRuntime { throw e; } - public static String shortError(Throwable e) { return e.getClass().getName()+": "+e.getMessage(); } + public static String shortError(Throwable e) { return e == null ? "null" : e.getClass().getName()+": "+e.getMessage(); } public static String errorString(Exception e) { return errorString(e, 1000); }