From e1ada6d351cb714c9e5694e1e58cd2b761c84784 Mon Sep 17 00:00:00 2001 From: lpino Date: Thu, 17 May 2018 05:00:32 -0700 Subject: Remove AbruptException(ExitCode exitCode) constructor. This constructor was creating an Exception with a null message leading to possible NullPointerExceptions in a few places in our codebase. The call sites have been replaced with calls to AbruptException(String message, ExitCode exitCode) with a meaningful message. PiperOrigin-RevId: 196973540 --- src/main/java/com/google/devtools/build/lib/bazel/SpawnLogModule.java | 3 ++- .../build/lib/buildeventservice/BuildEventServiceTransport.java | 3 ++- src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java | 3 ++- .../com/google/devtools/build/lib/runtime/CommandEnvironment.java | 2 +- .../java/com/google/devtools/build/lib/util/AbruptExitException.java | 4 ---- 5 files changed, 7 insertions(+), 8 deletions(-) (limited to 'src/main/java/com/google') diff --git a/src/main/java/com/google/devtools/build/lib/bazel/SpawnLogModule.java b/src/main/java/com/google/devtools/build/lib/bazel/SpawnLogModule.java index 86ab87eea8..ca6d3a3e2e 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/SpawnLogModule.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/SpawnLogModule.java @@ -54,7 +54,8 @@ public final class SpawnLogModule extends BlazeModule { new AsynchronousFileOutputStream(executionOptions.executionLogFile)); } catch (IOException e) { env.getReporter().handle(Event.error(e.getMessage())); - env.getBlazeModuleEnvironment().exit(new AbruptExitException(ExitCode.COMMAND_LINE_ERROR)); + env.getBlazeModuleEnvironment().exit(new AbruptExitException( + "Error found creating SpawnLogContext", ExitCode.COMMAND_LINE_ERROR)); } builder.addActionContext(spawnLogContext); builder.addActionContextConsumer(new SpawnLogContextConsumer()); diff --git a/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceTransport.java b/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceTransport.java index 21272938b4..a3cafc2bf6 100644 --- a/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceTransport.java +++ b/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceTransport.java @@ -341,7 +341,8 @@ public class BuildEventServiceTransport implements BuildEventTransport { String message = errorMessageFromException(t); report(ERROR, message); - moduleEnvironment.exit(new AbruptExitException(ExitCode.PUBLISH_ERROR)); + moduleEnvironment.exit(new AbruptExitException( + "BuildEventServiceTransport internal error", ExitCode.PUBLISH_ERROR)); } private void maybeReportUploadError() { diff --git a/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java b/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java index 5453a98566..36521f987b 100644 --- a/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java +++ b/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java @@ -189,7 +189,8 @@ public final class RemoteModule extends BlazeModule { new RemoteActionContextProvider(env, cache, executor, digestUtil, logDir); } catch (IOException e) { env.getReporter().handle(Event.error(e.getMessage())); - env.getBlazeModuleEnvironment().exit(new AbruptExitException(ExitCode.COMMAND_LINE_ERROR)); + env.getBlazeModuleEnvironment().exit(new AbruptExitException( + "Error initializing RemoteModule", ExitCode.COMMAND_LINE_ERROR)); } } diff --git a/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java b/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java index 3e6343bcb0..22ef333350 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java @@ -464,7 +464,7 @@ public final class CommandEnvironment { private ExitCode finalizeExitCode() { // Set the pending exception so that further calls to exit(AbruptExitException) don't lead to // unwanted thread interrupts. - if (pendingException.compareAndSet(null, new AbruptExitException(null))) { + if (pendingException.compareAndSet(null, new AbruptExitException("", null))) { return null; } if (Thread.currentThread() == commandThread) { diff --git a/src/main/java/com/google/devtools/build/lib/util/AbruptExitException.java b/src/main/java/com/google/devtools/build/lib/util/AbruptExitException.java index bb45bb46d4..3dabdfc640 100644 --- a/src/main/java/com/google/devtools/build/lib/util/AbruptExitException.java +++ b/src/main/java/com/google/devtools/build/lib/util/AbruptExitException.java @@ -42,10 +42,6 @@ public class AbruptExitException extends Exception { this.exitCode = exitCode; } - public AbruptExitException(ExitCode exitCode) { - this.exitCode = exitCode; - } - public ExitCode getExitCode() { return exitCode; } -- cgit v1.2.3