diff --git a/Lib/subprocess.py b/Lib/subprocess.py index d52f9a45f39..0fff36fa5d6 100644 --- a/Lib/subprocess.py +++ b/Lib/subprocess.py @@ -1412,11 +1412,10 @@ class Popen(object): exception_name, hex_errno, err_msg = ( errpipe_data.split(b':', 2)) except ValueError: - warnings.warn(RuntimeWarning( - 'Bad exception data: %r' % errpipe_data)) exception_name = b'SubprocessError' hex_errno = b'0' - err_msg = b'Unknown' + err_msg = (b'Bad exception data from child: ' + + repr(errpipe_data)) child_exception_type = getattr( builtins, exception_name.decode('ascii'), SubprocessError) diff --git a/Misc/NEWS b/Misc/NEWS index 30e32173683..ba474d8d2bb 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -116,6 +116,9 @@ Core and Builtins Library ------- +- Remove a bare print to stdout from the subprocess module that could have + happened if the child process wrote garbage to its pre-exec error pipe. + - The subprocess module now raises its own SubprocessError instead of a RuntimeError in various error situations which should not normally happen.