qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PULL 0/4] Error reporting patches for 2020-03-09
@ 2020-03-09 12:46 Markus Armbruster
  2020-03-09 12:46 ` [PULL 1/4] chardev: Improve error report by calling error_setg_win32() Markus Armbruster
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Markus Armbruster @ 2020-03-09 12:46 UTC (permalink / raw)
  To: qemu-devel

The following changes since commit 67f17e23baca5dd545fe98b01169cc351a70fe35:

  Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2020-03-06 17:15:36 +0000)

are available in the Git repository at:

  git://repo.or.cz/qemu/armbru.git tags/pull-error-2020-03-09

for you to fetch changes up to d1eddab86f92e7e060c8a473695c7f24ec00c9ab:

  qga: Fix a memory leak (2020-03-09 13:36:15 +0100)

----------------------------------------------------------------
Error reporting patches for 2020-03-09

* Improve error reporting on Windows

----------------------------------------------------------------
Philippe Mathieu-Daudé (4):
      chardev: Improve error report by calling error_setg_win32()
      util/osdep: Improve error report by calling error_setg_win32()
      qga: Improve error report by calling error_setg_win32()
      qga: Fix a memory leak

 chardev/char-pipe.c  | 2 +-
 chardev/char-win.c   | 2 +-
 qga/channel-win32.c  | 7 ++++---
 qga/commands-win32.c | 8 +++++---
 util/osdep.c         | 4 ++--
 5 files changed, 13 insertions(+), 10 deletions(-)

-- 
2.21.1



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PULL 1/4] chardev: Improve error report by calling error_setg_win32()
  2020-03-09 12:46 [PULL 0/4] Error reporting patches for 2020-03-09 Markus Armbruster
@ 2020-03-09 12:46 ` Markus Armbruster
  2020-03-09 12:46 ` [PULL 2/4] util/osdep: " Markus Armbruster
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Markus Armbruster @ 2020-03-09 12:46 UTC (permalink / raw)
  To: qemu-devel
  Cc: Daniel P . Berrangé, Philippe Mathieu-Daudé,
	Marc-André Lureau

From: Philippe Mathieu-Daudé <philmd@redhat.com>

Use error_setg_win32() which adds a hint similar to strerror(errno)).

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200228100726.8414-2-philmd@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 chardev/char-pipe.c | 2 +-
 chardev/char-win.c  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/chardev/char-pipe.c b/chardev/char-pipe.c
index 94d714ffcd..fd12c9e63b 100644
--- a/chardev/char-pipe.c
+++ b/chardev/char-pipe.c
@@ -70,7 +70,7 @@ static int win_chr_pipe_init(Chardev *chr, const char *filename,
                               MAXCONNECT, NSENDBUF, NRECVBUF, NTIMEOUT, NULL);
     g_free(openname);
     if (s->file == INVALID_HANDLE_VALUE) {
-        error_setg(errp, "Failed CreateNamedPipe (%lu)", GetLastError());
+        error_setg_win32(errp, GetLastError(), "Failed CreateNamedPipe");
         s->file = NULL;
         goto fail;
     }
diff --git a/chardev/char-win.c b/chardev/char-win.c
index 34825f683d..d4fb44c4dc 100644
--- a/chardev/char-win.c
+++ b/chardev/char-win.c
@@ -96,7 +96,7 @@ int win_chr_serial_init(Chardev *chr, const char *filename, Error **errp)
     s->file = CreateFile(filename, GENERIC_READ | GENERIC_WRITE, 0, NULL,
                       OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);
     if (s->file == INVALID_HANDLE_VALUE) {
-        error_setg(errp, "Failed CreateFile (%lu)", GetLastError());
+        error_setg_win32(errp, GetLastError(), "Failed CreateFile");
         s->file = NULL;
         goto fail;
     }
-- 
2.21.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PULL 2/4] util/osdep: Improve error report by calling error_setg_win32()
  2020-03-09 12:46 [PULL 0/4] Error reporting patches for 2020-03-09 Markus Armbruster
  2020-03-09 12:46 ` [PULL 1/4] chardev: Improve error report by calling error_setg_win32() Markus Armbruster
@ 2020-03-09 12:46 ` Markus Armbruster
  2020-03-09 12:46 ` [PULL 3/4] qga: " Markus Armbruster
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Markus Armbruster @ 2020-03-09 12:46 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Philippe Mathieu-Daudé

From: Philippe Mathieu-Daudé <philmd@redhat.com>

Use error_setg_win32() which adds a hint similar to strerror(errno)).

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200228100726.8414-3-philmd@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 util/osdep.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/util/osdep.c b/util/osdep.c
index f7d06050f7..4829c07ff6 100644
--- a/util/osdep.c
+++ b/util/osdep.c
@@ -82,8 +82,8 @@ static int qemu_mprotect__osdep(void *addr, size_t size, int prot)
     DWORD old_protect;
 
     if (!VirtualProtect(addr, size, prot, &old_protect)) {
-        error_report("%s: VirtualProtect failed with error code %ld",
-                     __func__, GetLastError());
+        g_autofree gchar *emsg = g_win32_error_message(GetLastError());
+        error_report("%s: VirtualProtect failed: %s", __func__, emsg);
         return -1;
     }
     return 0;
-- 
2.21.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PULL 3/4] qga: Improve error report by calling error_setg_win32()
  2020-03-09 12:46 [PULL 0/4] Error reporting patches for 2020-03-09 Markus Armbruster
  2020-03-09 12:46 ` [PULL 1/4] chardev: Improve error report by calling error_setg_win32() Markus Armbruster
  2020-03-09 12:46 ` [PULL 2/4] util/osdep: " Markus Armbruster
@ 2020-03-09 12:46 ` Markus Armbruster
  2020-03-09 12:46 ` [PULL 4/4] qga: Fix a memory leak Markus Armbruster
  2020-03-09 15:35 ` [PULL 0/4] Error reporting patches for 2020-03-09 Peter Maydell
  4 siblings, 0 replies; 6+ messages in thread
From: Markus Armbruster @ 2020-03-09 12:46 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Philippe Mathieu-Daudé

From: Philippe Mathieu-Daudé <philmd@redhat.com>

Use error_setg_win32() which adds a hint similar to strerror(errno)).

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200228100726.8414-4-philmd@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 qga/channel-win32.c  | 3 ++-
 qga/commands-win32.c | 8 +++++---
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/qga/channel-win32.c b/qga/channel-win32.c
index c86f4388db..99648c95b6 100644
--- a/qga/channel-win32.c
+++ b/qga/channel-win32.c
@@ -308,7 +308,8 @@ static gboolean ga_channel_open(GAChannel *c, GAChannelMethod method,
     }
 
     if (method == GA_CHANNEL_ISA_SERIAL && !SetCommTimeouts(c->handle,&comTimeOut)) {
-        g_critical("error setting timeout for com port: %lu",GetLastError());
+        g_autofree gchar *emsg = g_win32_error_message(GetLastError());
+        g_critical("error setting timeout for com port: %s", emsg);
         CloseHandle(c->handle);
         return false;
     }
diff --git a/qga/commands-win32.c b/qga/commands-win32.c
index 2461fd19bf..9c744d6405 100644
--- a/qga/commands-win32.c
+++ b/qga/commands-win32.c
@@ -315,8 +315,9 @@ void qmp_guest_shutdown(bool has_mode, const char *mode, Error **errp)
     }
 
     if (!ExitWindowsEx(shutdown_flag, SHTDN_REASON_FLAG_PLANNED)) {
-        slog("guest-shutdown failed: %lu", GetLastError());
-        error_setg(errp, QERR_UNDEFINED_ERROR);
+        g_autofree gchar *emsg = g_win32_error_message(GetLastError());
+        slog("guest-shutdown failed: %s", emsg);
+        error_setg_win32(errp, GetLastError(), "guest-shutdown failed");
     }
 }
 
@@ -1319,7 +1320,8 @@ static DWORD WINAPI do_suspend(LPVOID opaque)
     DWORD ret = 0;
 
     if (!SetSuspendState(*mode == GUEST_SUSPEND_MODE_DISK, TRUE, TRUE)) {
-        slog("failed to suspend guest, %lu", GetLastError());
+        g_autofree gchar *emsg = g_win32_error_message(GetLastError());
+        slog("failed to suspend guest: %s", emsg);
         ret = -1;
     }
     g_free(mode);
-- 
2.21.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PULL 4/4] qga: Fix a memory leak
  2020-03-09 12:46 [PULL 0/4] Error reporting patches for 2020-03-09 Markus Armbruster
                   ` (2 preceding siblings ...)
  2020-03-09 12:46 ` [PULL 3/4] qga: " Markus Armbruster
@ 2020-03-09 12:46 ` Markus Armbruster
  2020-03-09 15:35 ` [PULL 0/4] Error reporting patches for 2020-03-09 Peter Maydell
  4 siblings, 0 replies; 6+ messages in thread
From: Markus Armbruster @ 2020-03-09 12:46 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Philippe Mathieu-Daudé

From: Philippe Mathieu-Daudé <philmd@redhat.com>

The string returned by g_win32_error_message() has to be
deallocated with g_free().

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200228100726.8414-5-philmd@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 qga/channel-win32.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/qga/channel-win32.c b/qga/channel-win32.c
index 99648c95b6..4f04868a76 100644
--- a/qga/channel-win32.c
+++ b/qga/channel-win32.c
@@ -302,8 +302,8 @@ static gboolean ga_channel_open(GAChannel *c, GAChannelMethod method,
                            OPEN_EXISTING,
                            FILE_FLAG_NO_BUFFERING | FILE_FLAG_OVERLAPPED, NULL);
     if (c->handle == INVALID_HANDLE_VALUE) {
-        g_critical("error opening path %s: %s", newpath,
-                   g_win32_error_message(GetLastError()));
+        g_autofree gchar *emsg = g_win32_error_message(GetLastError());
+        g_critical("error opening path %s: %s", newpath, emsg);
         return false;
     }
 
-- 
2.21.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PULL 0/4] Error reporting patches for 2020-03-09
  2020-03-09 12:46 [PULL 0/4] Error reporting patches for 2020-03-09 Markus Armbruster
                   ` (3 preceding siblings ...)
  2020-03-09 12:46 ` [PULL 4/4] qga: Fix a memory leak Markus Armbruster
@ 2020-03-09 15:35 ` Peter Maydell
  4 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2020-03-09 15:35 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: QEMU Developers

On Mon, 9 Mar 2020 at 12:51, Markus Armbruster <armbru@redhat.com> wrote:
>
> The following changes since commit 67f17e23baca5dd545fe98b01169cc351a70fe35:
>
>   Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2020-03-06 17:15:36 +0000)
>
> are available in the Git repository at:
>
>   git://repo.or.cz/qemu/armbru.git tags/pull-error-2020-03-09
>
> for you to fetch changes up to d1eddab86f92e7e060c8a473695c7f24ec00c9ab:
>
>   qga: Fix a memory leak (2020-03-09 13:36:15 +0100)
>
> ----------------------------------------------------------------
> Error reporting patches for 2020-03-09
>
> * Improve error reporting on Windows
>
> ----------------------------------------------------------------
> Philippe Mathieu-Daudé (4):
>       chardev: Improve error report by calling error_setg_win32()
>       util/osdep: Improve error report by calling error_setg_win32()
>       qga: Improve error report by calling error_setg_win32()
>       qga: Fix a memory leak
>

Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/5.0
for any user-visible changes.

-- PMM


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-03-09 15:54 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-09 12:46 [PULL 0/4] Error reporting patches for 2020-03-09 Markus Armbruster
2020-03-09 12:46 ` [PULL 1/4] chardev: Improve error report by calling error_setg_win32() Markus Armbruster
2020-03-09 12:46 ` [PULL 2/4] util/osdep: " Markus Armbruster
2020-03-09 12:46 ` [PULL 3/4] qga: " Markus Armbruster
2020-03-09 12:46 ` [PULL 4/4] qga: Fix a memory leak Markus Armbruster
2020-03-09 15:35 ` [PULL 0/4] Error reporting patches for 2020-03-09 Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).