From ed44939d5988098feb3f3ddededd68a0a4b9a9df Mon Sep 17 00:00:00 2001 From: "Bryn M. Reeves" Date: Tue, 13 Jan 2015 17:26:33 +0000 Subject: [PATCH] [sosreport] do not make logging calls after OSError Following an OSError during archive setup the logging subsystem is potentially in an inconsistent or unusable state (e.g. due to a readonly file system error). Use the print function directly since we just need to report the error and exit. Signed-off-by: Bryn M. Reeves --- sos/sosreport.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sos/sosreport.py b/sos/sosreport.py index 2a16555..3c0397c 100644 --- a/sos/sosreport.py +++ b/sos/sosreport.py @@ -1091,10 +1091,13 @@ class SoSReport(object): self._make_archive_paths() return except (OSError, IOError) as e: + # we must not use the logging subsystem here as it is potentially + # in an inconsistent or unreliable state (e.g. an EROFS for the + # file system containing our temporary log files). if e.errno in fatal_fs_errors: - self.ui_log.error("") - self.ui_log.error(" %s while setting up archive" % e.strerror) - self.ui_log.error("") + print("") + print(" %s while setting up archive" % e.strerror) + print("") else: raise e except Exception as e: -- 1.9.3