From nobody Sun Nov 9 12:59:02 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1550822160266108.6423535793765; Thu, 21 Feb 2019 23:56:00 -0800 (PST) Received: from localhost ([127.0.0.1]:45953 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gx5ga-0008EN-8A for importer@patchew.org; Fri, 22 Feb 2019 02:55:56 -0500 Received: from eggs.gnu.org ([209.51.188.92]:60515) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gx5eP-0006y9-FU for qemu-devel@nongnu.org; Fri, 22 Feb 2019 02:53:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gx5eN-0001Zq-Bg for qemu-devel@nongnu.org; Fri, 22 Feb 2019 02:53:41 -0500 Received: from mx1.redhat.com ([209.132.183.28]:42146) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gx5eM-0001R5-EJ for qemu-devel@nongnu.org; Fri, 22 Feb 2019 02:53:39 -0500 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id CBF8430715CA for ; Fri, 22 Feb 2019 07:53:32 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-228.ams2.redhat.com [10.36.116.228]) by smtp.corp.redhat.com (Postfix) with ESMTP id 586D95C5E0; Fri, 22 Feb 2019 07:53:28 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 610CD16E08; Fri, 22 Feb 2019 08:53:26 +0100 (CET) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Fri, 22 Feb 2019 08:53:18 +0100 Message-Id: <20190222075326.9850-8-kraxel@redhat.com> In-Reply-To: <20190222075326.9850-1-kraxel@redhat.com> References: <20190222075326.9850-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Fri, 22 Feb 2019 07:53:32 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 07/15] spice: avoid spice runtime assert X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , Gerd Hoffmann , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" From: Marc-Andr=C3=A9 Lureau 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_s= tart: 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=C3=A9 Lureau Tested-by: Victor Toso Message-id: 20190221110703.5775-4-marcandre.lureau@redhat.com Signed-off-by: Gerd Hoffmann --- ui/spice-core.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ui/spice-core.c b/ui/spice-core.c index 37fae3c42405..784fddff7d45 100644 --- a/ui/spice-core.c +++ b/ui/spice-core.c @@ -972,12 +972,20 @@ int qemu_spice_display_add_client(int csock, int skip= auth, int tls) =20 void qemu_spice_display_start(void) { + if (spice_display_is_running) { + return; + } + spice_display_is_running =3D true; spice_server_vm_start(spice_server); } =20 void qemu_spice_display_stop(void) { + if (!spice_display_is_running) { + return; + } + spice_server_vm_stop(spice_server); spice_display_is_running =3D false; } --=20 2.9.3