Issue #7606: XML-RPC traceback stored in X-traceback is now encoded to ASCII
using backslashreplace error handler.
diff --git a/Lib/xmlrpc/server.py b/Lib/xmlrpc/server.py
index 63df97f..eb231d3 100644
--- a/Lib/xmlrpc/server.py
+++ b/Lib/xmlrpc/server.py
@@ -499,7 +499,9 @@
             if hasattr(self.server, '_send_traceback_header') and \
                     self.server._send_traceback_header:
                 self.send_header("X-exception", str(e))
-                self.send_header("X-traceback", traceback.format_exc())
+                trace = traceback.format_exc()
+                trace = str(trace.encode('ASCII', 'backslashreplace'), 'ASCII')
+                self.send_header("X-traceback", trace)
 
             self.send_header("Content-length", "0")
             self.end_headers()
diff --git a/Misc/NEWS b/Misc/NEWS
index c583fa3..81683c9 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -312,6 +312,9 @@
 Library
 -------
 
+- Issue #7606: XML-RPC traceback stored in X-traceback is now encoded to ASCII
+  using backslashreplace error handler
+
 - Issue #8412: os.system() now accepts bytes, bytearray and str with
   surrogates.