From d78365e7019b86f0a32fc388b470968458a17432 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marta=20Marczykowska-G=C3=B3recka?= Date: Thu, 9 Sep 2021 14:25:01 +0200 Subject: [PATCH] Better error reporting on backup errors qvm-backup-restore will now show output from the rpc command if backup restore fails at the very start (e.g. if file was not found) fixes QubesOS/qubes-issues#3446 --- qubesadmin/backup/restore.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/qubesadmin/backup/restore.py b/qubesadmin/backup/restore.py index f0130477..36b05592 100644 --- a/qubesadmin/backup/restore.py +++ b/qubesadmin/backup/restore.py @@ -1195,15 +1195,16 @@ def _retrieve_backup_header_files(self, files, allow_none=False): retrieve_proc_returncode = retrieve_proc.wait() if retrieve_proc in self.processes_to_kill_on_cancel: self.processes_to_kill_on_cancel.remove(retrieve_proc) - extract_stderr = error_pipe.read(MAX_STDERR_BYTES) + extract_stderr = error_pipe.read(MAX_STDERR_BYTES).decode( + 'ascii', 'ignore') error_pipe.close() # wait for other processes (if any) for proc in self.processes_to_kill_on_cancel: if proc.wait() != 0: raise QubesException( - "Backup header retrieval failed (exit code {})".format( - proc.wait()) + "Backup header retrieval failed (exit code {}): {}".format( + proc.wait(), extract_stderr) ) if retrieve_proc_returncode != 0: