All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Marc-André Lureau" <marcandre.lureau@redhat.com>
To: qemu-devel@nongnu.org
Cc: berrange@redhat.com, kraxel@redhat.com
Subject: [Qemu-devel] [PATCH v2 04/12] spice: avoid spice runtime assert
Date: Thu, 20 Dec 2018 18:15:45 +0400	[thread overview]
Message-ID: <20181220141553.24098-5-marcandre.lureau@redhat.com> (raw)
In-Reply-To: <20181220141553.24098-1-marcandre.lureau@redhat.com>

The Spice server doesn't like to be started or stopped twice . It
aborts with:

(process:6191): Spice-ERROR **: 19:29:35.912: red-worker.c:623:handle_dev_start: assertion `!worker->running' failed

It's easy to avoid that situation since qemu spice_display_is_running
tracks the server state.

After the commit "spice: do not stop spice if VM is paused", it will
be possible to pause and resume the VM, and this will call
qemu_spice_display_start() twice. The easiest is to add a check for
spice_display_is_running with this patch to avoid the assert.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 ui/spice-core.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/ui/spice-core.c b/ui/spice-core.c
index fc850b3f50..1f1501de78 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -922,12 +922,20 @@ int qemu_spice_display_add_client(int csock, int skipauth, int tls)
 
 void qemu_spice_display_start(void)
 {
+    if (spice_display_is_running) {
+        return;
+    }
+
     spice_display_is_running = true;
     spice_server_vm_start(spice_server);
 }
 
 void qemu_spice_display_stop(void)
 {
+    if (!spice_display_is_running) {
+        return;
+    }
+
     spice_server_vm_stop(spice_server);
     spice_display_is_running = false;
 }
-- 
2.20.1.2.gb21ebb671b

  parent reply	other threads:[~2018-12-20 14:30 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-20 14:15 [Qemu-devel] [PATCH v2 00/12] spice: add -display spice-app, setup and launch a Spice client Marc-André Lureau
2018-12-20 14:15 ` [Qemu-devel] [PATCH v2 01/12] configure: bump spice-server required version to 0.12.5 Marc-André Lureau
2018-12-20 14:15 ` [Qemu-devel] [PATCH v2 02/12] char/spice: trigger HUP event Marc-André Lureau
2018-12-20 14:15 ` [Qemu-devel] [PATCH v2 03/12] char/spice: discard write() if backend is disconnected Marc-André Lureau
2018-12-20 14:15 ` Marc-André Lureau [this message]
2018-12-20 14:15 ` [Qemu-devel] [PATCH v2 05/12] spice: merge options lists Marc-André Lureau
2018-12-20 14:15 ` [Qemu-devel] [PATCH v2 06/12] spice: do not stop spice if VM is paused Marc-André Lureau
2018-12-20 14:15 ` [Qemu-devel] [PATCH v2 07/12] char: move SpiceChardev and open_spice_port() to spice.h header Marc-André Lureau
2018-12-20 14:15 ` [Qemu-devel] [PATCH v2 08/12] char: register spice ports after spice started Marc-André Lureau
2018-12-20 14:15 ` [Qemu-devel] [PATCH v2 09/12] build-sys: add gio-2.0 check Marc-André Lureau
2018-12-20 14:15 ` [Qemu-devel] [PATCH v2 10/12] qapi: document DisplayType enum Marc-André Lureau
2018-12-20 14:46   ` Eric Blake
2019-01-07  9:45     ` Gerd Hoffmann
2019-02-09 13:15       ` Marc-André Lureau
2019-02-11 18:28         ` Eric Blake
2018-12-20 14:15 ` [Qemu-devel] [PATCH v2 11/12] spice: use a default name for the server Marc-André Lureau
2018-12-20 14:15 ` [Qemu-devel] [PATCH v2 12/12] display: add -display spice-app launching a Spice client Marc-André Lureau
2018-12-21 14:12 ` [Qemu-devel] [PATCH v2 00/12] spice: add -display spice-app, setup and launch " Victor Toso
2019-02-09 13:19 ` Marc-André Lureau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181220141553.24098-5-marcandre.lureau@redhat.com \
    --to=marcandre.lureau@redhat.com \
    --cc=berrange@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.