cbuildbot: do not print detailed stack trace

This is a partial revert of CL:241482 and also eliminates a caller to
PrintDetailedTraceback.

BUG=chromium:470151
TEST=Unit tests; git-grepping to ensure all non-unittest callers of
FormatDetailedTraceback are removed.

Change-Id: I968af6154ad88ac58ef43f119f1a47aa03c9a8a2
Reviewed-on: https://chromium-review.googlesource.com/262207
Reviewed-by: David James <davidjames@chromium.org>
Commit-Queue: Aviv Keshet <akeshet@chromium.org>
Tested-by: Aviv Keshet <akeshet@chromium.org>
diff --git a/cbuildbot/failures_lib.py b/cbuildbot/failures_lib.py
index dd56b69..13e313c 100644
--- a/cbuildbot/failures_lib.py
+++ b/cbuildbot/failures_lib.py
@@ -8,6 +8,7 @@
 
 import collections
 import sys
+import traceback
 
 from chromite.cbuildbot import constants
 from chromite.lib import cros_build_lib
@@ -160,12 +161,12 @@
       except self.source_exception:
         # Get the information about the original exception.
         exc_type, exc_value, _ = sys.exc_info()
+        exc_traceback = traceback.format_exc()
         if issubclass(exc_type, self.category_exception):
           # Do not re-raise if the exception is a subclass of the set
           # exception type because it offers more information.
           raise
         else:
-          exc_traceback = cros_build_lib.FormatDetailedTraceback()
           exc_infos = CreateExceptInfo(exc_value, exc_traceback)
           raise self.category_exception(exc_infos=exc_infos)
 
diff --git a/cbuildbot/stages/generic_stages.py b/cbuildbot/stages/generic_stages.py
index d643d46..2070d40 100644
--- a/cbuildbot/stages/generic_stages.py
+++ b/cbuildbot/stages/generic_stages.py
@@ -13,6 +13,7 @@
 import re
 import sys
 import time
+import traceback
 
 # We import mox so that we can identify mox exceptions and pass them through
 # in our exception handling code.
@@ -342,7 +343,7 @@
     if issubclass(exc_type, failures_lib.StepFailure):
       return str(exc_value)
     else:
-      return cros_build_lib.FormatDetailedTraceback(exc_info=exc_info)
+      return ''.join(traceback.format_exception(*exc_info))
 
   @classmethod
   def _HandleExceptionAsWarning(cls, exc_info, retrying=False):
diff --git a/lib/alerts.py b/lib/alerts.py
index 680da45..0ebc4cd 100644
--- a/lib/alerts.py
+++ b/lib/alerts.py
@@ -15,6 +15,7 @@
 import smtplib
 import socket
 import sys
+import traceback
 
 from chromite.lib import cros_build_lib
 from chromite.lib import retry_util
@@ -126,7 +127,7 @@
 
   if inc_trace:
     if sys.exc_info() != (None, None, None):
-      trace = cros_build_lib.FormatDetailedTraceback()
+      trace = traceback.format_exc()
       message += '\n\n' + trace
 
   attachment = None
diff --git a/scripts/cbuildbot.py b/scripts/cbuildbot.py
index 3aac2e4..310ae5f 100644
--- a/scripts/cbuildbot.py
+++ b/scripts/cbuildbot.py
@@ -22,6 +22,7 @@
 import pickle
 import sys
 import tempfile
+import traceback
 
 from chromite.cbuildbot import afdo
 from chromite.cbuildbot import cbuildbot_config
@@ -379,7 +380,7 @@
         if isinstance(ex, failures_lib.CompoundFailure):
           print(str(ex))
 
-        cros_build_lib.PrintDetailedTraceback(file=sys.stdout)
+        traceback.print_exc(file=sys.stdout)
         raise
 
       if not (print_report and isinstance(ex, failures_lib.StepFailure)):