aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcher.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/BugReport.java4
2 files changed, 3 insertions, 7 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcher.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcher.java
index ebb512df09..fe6a5c8039 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcher.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcher.java
@@ -46,7 +46,6 @@ import com.google.devtools.common.options.OpaqueOptionsData;
import com.google.devtools.common.options.OptionPriority;
import com.google.devtools.common.options.OptionsParser;
import com.google.devtools.common.options.OptionsParsingException;
-
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
@@ -58,7 +57,6 @@ import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
import java.util.logging.Level;
-
import javax.annotation.Nullable;
/**
@@ -496,9 +494,7 @@ public class BlazeCommandDispatcher {
e.printStackTrace();
BugReport.printBug(outErr, e);
BugReport.sendBugReport(e, args, crashData);
- numericExitCode = e instanceof OutOfMemoryError
- ? ExitCode.OOM_ERROR.getNumericExitCode()
- : ExitCode.BLAZE_INTERNAL_ERROR.getNumericExitCode();
+ numericExitCode = BugReport.getExitCodeForThrowable(e);
throw new ShutdownBlazeServerException(numericExitCode, ShutdownMethod.CLEAN, e);
} finally {
env.getEventBus().post(new AfterCommandEvent());
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BugReport.java b/src/main/java/com/google/devtools/build/lib/runtime/BugReport.java
index d81a8b7c00..aadaf10c51 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BugReport.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BugReport.java
@@ -14,13 +14,13 @@
package com.google.devtools.build.lib.runtime;
import com.google.common.base.Joiner;
+import com.google.common.base.Throwables;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.analysis.BlazeVersionInfo;
import com.google.devtools.build.lib.util.ExitCode;
import com.google.devtools.build.lib.util.LoggingUtil;
import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.util.io.OutErr;
-
import java.io.PrintStream;
import java.util.Arrays;
import java.util.List;
@@ -122,7 +122,7 @@ public abstract class BugReport {
/** Get exit code corresponding to throwable. */
public static int getExitCodeForThrowable(Throwable throwable) {
- return (throwable instanceof OutOfMemoryError)
+ return (Throwables.getRootCause(throwable) instanceof OutOfMemoryError)
? ExitCode.OOM_ERROR.getNumericExitCode()
: ExitCode.BLAZE_INTERNAL_ERROR.getNumericExitCode();
}