Ensures that EvalExceptionWithStackTrace does not have an empty exception message.

--
MOS_MIGRATED_REVID=101659996
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/EvalException.java b/src/main/java/com/google/devtools/build/lib/syntax/EvalException.java
index 32f289b..0382079 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/EvalException.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/EvalException.java
@@ -70,8 +70,11 @@
     if (message == null) {
       message = "";
     }
-    if (cause != null && !message.contains(cause.getMessage())) {
-      message = message + (message.isEmpty() ? "" : ": ") + cause.getMessage();
+    if (cause != null) {
+      String causeMsg = cause.getMessage();
+      if (causeMsg != null && !message.contains(causeMsg)) {
+        message = message + (message.isEmpty() ? "" : ": ") + causeMsg;
+      }
     }
     if (message.isEmpty()) {
       LoggingUtil.logToRemote(Level.SEVERE, "Invalid EvalException", cause);