From 8fd1a1bb584ddf16b04afd49e2dda4df7eddac54 Mon Sep 17 00:00:00 2001 From: Nick Coghlan Date: Sun, 9 Feb 2014 10:43:21 +1000 Subject: Close #20500: Don't trigger PyObject_Str assertion at shutdown --- Python/pythonrun.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'Python/pythonrun.c') diff --git a/Python/pythonrun.c b/Python/pythonrun.c index ff9569bdd2..34a291f353 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -1792,6 +1792,11 @@ handle_system_exit(void) exitcode = (int)PyLong_AsLong(value); else { PyObject *sys_stderr = _PySys_GetObjectId(&PyId_stderr); + /* We clear the exception here to avoid triggering the assertion + * in PyObject_Str that ensures it won't silently lose exception + * details. + */ + PyErr_Clear(); if (sys_stderr != NULL && sys_stderr != Py_None) { PyFile_WriteObject(value, sys_stderr, Py_PRINT_RAW); } else { -- cgit v1.2.1