From nobody Mon Feb 9 03:12:42 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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; dkim=fail; spf=pass (zohomail.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 ARC-Seal: i=1; a=rsa-sha256; t=1584088735; cv=none; d=zohomail.com; s=zohoarc; b=CdWm7FyT3k1IO6RET+fhuvxKor0dKNb8t52XbydBg9cD0k+7BStF40/My4Pr0WFTXODXvCCIlJ3zHMCo2G8fNKotekjg/t5K9Bfr5hq7rs+/rKHAt/da7nT7gpuHYOtCCbgsrOoOV2tJs59NrNT60FeBvouCw/3EOVluvusk0Xg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1584088735; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=xiEF0F2p122mi6EyxxzwncrqK2Zf5KaVIUcFNWt4j+0=; b=fpeimIX6UqFp0nDWGyCdLU3i4maZw+3oBImp39n2b0Z7NWB1trrdAwgaXwU44MF3C/GEghWzHn1h//cx15MqWcyEPds0qdzIpgY+BRnEC0qpxCrV2/UQ8/lPh9xQJs8MF/UB3qPBf3+IGLEEKldaPNFWrw0UfhoeRpnStci2e9I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.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 header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 158408873535540.62102903562925; Fri, 13 Mar 2020 01:38:55 -0700 (PDT) Received: from localhost ([::1]:55648 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jCfqH-0005zi-F1 for importer@patchew.org; Fri, 13 Mar 2020 04:38:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45392) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jCfo6-0001xJ-ID for qemu-devel@nongnu.org; Fri, 13 Mar 2020 04:36:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jCfo5-00064Z-EC for qemu-devel@nongnu.org; Fri, 13 Mar 2020 04:36:38 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:27794 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jCfo4-00062o-NV for qemu-devel@nongnu.org; Fri, 13 Mar 2020 04:36:36 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-368-80shhg0eMzGFzlCAKbYOcQ-1; Fri, 13 Mar 2020 04:36:32 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id D4A3085EE6E; Fri, 13 Mar 2020 08:36:31 +0000 (UTC) Received: from linux.fritz.box.com (ovpn-117-85.ams2.redhat.com [10.36.117.85]) by smtp.corp.redhat.com (Postfix) with ESMTP id 68F9D96F81; Fri, 13 Mar 2020 08:36:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1584088594; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xiEF0F2p122mi6EyxxzwncrqK2Zf5KaVIUcFNWt4j+0=; b=NtLQ3b6aCd/LEB+J8joRwaglCV4OoFGnrW64nOp9kmfgWPhH0rVbm3UNIQpItF8zjsGHTA jJnMgzK6fCiEEfYtH776UNQN77pJNzv9WQNFfLZhyM1U8JBqif7bc2zJ1nDQLAvvDZPH6G kNBn6pcEoN2s/C0KLKMKrHT7ufbFGqA= X-MC-Unique: 80shhg0eMzGFzlCAKbYOcQ-1 From: Kevin Wolf To: qemu-block@nongnu.org Subject: [PATCH 2/3] python/qemu: Kill QEMU process if 'quit' doesn't work Date: Fri, 13 Mar 2020 09:36:16 +0100 Message-Id: <20200313083617.8326-3-kwolf@redhat.com> In-Reply-To: <20200313083617.8326-1-kwolf@redhat.com> References: <20200313083617.8326-1-kwolf@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 205.139.110.61 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, jsnow@redhat.com, qemu-devel@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" With a QEMU bug, it can happen that the QEMU process doesn't react to a 'quit' QMP command. If we got an exception during previous QMP communication (e.g. iotests Timeout expiring), we could also be in an inconsistent state where after sending 'quit' we immediately read an old response and close the socket even though the 'quit' command wasn't processed yet. Both cases would lead to a hanging test. Fix this by waiting for the QEMU process to exit after sending 'quit' with a timeout, and if it doesn't happen within three seconds, send SIGKILL. Signed-off-by: Kevin Wolf Reviewed-by: John Snow Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- python/qemu/machine.py | 1 + 1 file changed, 1 insertion(+) diff --git a/python/qemu/machine.py b/python/qemu/machine.py index 183d8f3d38..c837ee8723 100644 --- a/python/qemu/machine.py +++ b/python/qemu/machine.py @@ -358,6 +358,7 @@ class QEMUMachine(object): if not has_quit: self._qmp.cmd('quit') self._qmp.close() + self._popen.wait(timeout=3D3) except: self._popen.kill() self._popen.wait() --=20 2.20.1