From 0cc1346ae301f6aef705eb2473cc55330b04426b Mon Sep 17 00:00:00 2001 From: Ryan Campbell Date: Wed, 25 Apr 2012 09:35:28 -0500 Subject: [PATCH] Computer.getNode() can return null, causing NPE and making jobs to appear to run forever --- core/src/main/java/hudson/slaves/SlaveComputer.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/hudson/slaves/SlaveComputer.java b/core/src/main/java/hudson/slaves/SlaveComputer.java index 9200e58907..1f870d662e 100644 --- a/core/src/main/java/hudson/slaves/SlaveComputer.java +++ b/core/src/main/java/hudson/slaves/SlaveComputer.java @@ -233,8 +233,11 @@ public class SlaveComputer extends Computer { if (launcher instanceof ExecutorListener) { ((ExecutorListener)launcher).taskAccepted(executor, task); } - if (getNode().getRetentionStrategy() instanceof ExecutorListener) { - ((ExecutorListener)getNode().getRetentionStrategy()).taskAccepted(executor, task); + + //getNode() can return null at indeterminate times when nodes go offline + Slave node = getNode(); + if (node != null && node.getRetentionStrategy() instanceof ExecutorListener) { + ((ExecutorListener)node.getRetentionStrategy()).taskAccepted(executor, task); } } -- GitLab