From nobody Sun Feb 8 00:34:35 2026 Delivered-To: importer@patchew.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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16371093953561015.2957059321396; Tue, 16 Nov 2021 16:36:35 -0800 (PST) Received: from localhost ([::1]:47548 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mn8wE-0000J9-1h for importer@patchew.org; Tue, 16 Nov 2021 19:36:34 -0500 Received: from eggs.gnu.org ([209.51.188.92]:42250) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mn8u7-0006Uo-PX for qemu-devel@nongnu.org; Tue, 16 Nov 2021 19:34:23 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:30621) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mn8u4-0006wV-F0 for qemu-devel@nongnu.org; Tue, 16 Nov 2021 19:34:22 -0500 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-531-lXqQ6PIlPjqr2pDiW0NkYA-1; Tue, 16 Nov 2021 19:34:18 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id EA4DE8799EB; Wed, 17 Nov 2021 00:34:16 +0000 (UTC) Received: from scv.redhat.com (unknown [10.22.32.108]) by smtp.corp.redhat.com (Postfix) with ESMTP id A687567843; Wed, 17 Nov 2021 00:34:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1637109259; 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=U/ZgvaL4TDUdBm3xnH7GNz2g4x7hJ9fXF1LbEFf+KS4=; b=dyf0MiKcLsIyqSc+gz1f0h4veV3oxYrStSZJWPrzZHZ429stlvkGNrAT7vtuK5chGD619f GOH4L3zTyFMI6XX9c8rs1MgJqLrIEigtPBEew9P2ZQWg40sSNGuDrXR+PGbMxkVHvkXw5o 9CoZprsIzOAihA1EJbRthmsQ9fMGZYM= X-MC-Unique: lXqQ6PIlPjqr2pDiW0NkYA-1 From: John Snow To: qemu-devel@nongnu.org Subject: [PULL 1/5] python/aqmp: Fix disconnect during capabilities negotiation Date: Tue, 16 Nov 2021 19:33:13 -0500 Message-Id: <20211117003317.2844087-2-jsnow@redhat.com> In-Reply-To: <20211117003317.2844087-1-jsnow@redhat.com> References: <20211117003317.2844087-1-jsnow@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=jsnow@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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; Received-SPF: pass client-ip=216.205.24.124; envelope-from=jsnow@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -34 X-Spam_score: -3.5 X-Spam_bar: --- X-Spam_report: (-3.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.697, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Peter Maydell , Thomas Huth , Vladimir Sementsov-Ogievskiy , Daniel Berrange , Eduardo Habkost , qemu-block@nongnu.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Markus Armbruster , Willian Rampazzo , Hanna Reitz , Cleber Rosa , John Snow Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1637109396280100001 Content-Type: text/plain; charset="utf-8" If we receive ConnectionResetError (ECONNRESET) while attempting to perform capabilities negotiation -- prior to the establishment of the async reader/writer tasks -- the disconnect function is not aware that we are in an error pathway. As a result, when attempting to close the StreamWriter, we'll see the same ConnectionResetError that caused us to initiate a disconnect in the first place, which will cause the disconnect task itself to fail, which emits a CRITICAL logging event. I still don't know if there's a smarter way to check to see if an exception received at this point is "the same" exception as the one that caused the initial disconnect, but for now the problem can be avoided by improving the error pathway detection in the exit path. Reported-by: Thomas Huth Signed-off-by: John Snow Tested-by: Thomas Huth Message-id: 20211111143719.2162525-2-jsnow@redhat.com Signed-off-by: John Snow --- python/qemu/aqmp/protocol.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/python/qemu/aqmp/protocol.py b/python/qemu/aqmp/protocol.py index ae1df24026..860b79512d 100644 --- a/python/qemu/aqmp/protocol.py +++ b/python/qemu/aqmp/protocol.py @@ -623,13 +623,21 @@ async def _bh_disconnect(self) -> None: def _done(task: Optional['asyncio.Future[Any]']) -> bool: return task is not None and task.done() =20 - # NB: We can't rely on _bh_tasks being done() here, it may not - # yet have had a chance to run and gather itself. + # Are we already in an error pathway? If either of the tasks are + # already done, or if we have no tasks but a reader/writer; we + # must be. + # + # NB: We can't use _bh_tasks to check for premature task + # completion, because it may not yet have had a chance to run + # and gather itself. tasks =3D tuple(filter(None, (self._writer_task, self._reader_task= ))) error_pathway =3D _done(self._reader_task) or _done(self._writer_t= ask) + if not tasks: + error_pathway |=3D bool(self._reader) or bool(self._writer) =20 try: - # Try to flush the writer, if possible: + # Try to flush the writer, if possible. + # This *may* cause an error and force us over into the error p= ath. if not error_pathway: await self._bh_flush_writer() except BaseException as err: @@ -639,7 +647,7 @@ def _done(task: Optional['asyncio.Future[Any]']) -> boo= l: self.logger.debug("%s:\n%s\n", emsg, pretty_traceback()) raise finally: - # Cancel any still-running tasks: + # Cancel any still-running tasks (Won't raise): if self._writer_task is not None and not self._writer_task.don= e(): self.logger.debug("Cancelling writer task.") self._writer_task.cancel() @@ -652,7 +660,7 @@ def _done(task: Optional['asyncio.Future[Any]']) -> boo= l: self.logger.debug("Waiting for tasks to complete ...") await asyncio.wait(tasks) =20 - # Lastly, close the stream itself. (May raise): + # Lastly, close the stream itself. (*May raise*!): await self._bh_close_stream(error_pathway) self.logger.debug("Disconnected.") =20 --=20 2.31.1 From nobody Sun Feb 8 00:34:35 2026 Delivered-To: importer@patchew.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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1637109398752148.39428827768631; Tue, 16 Nov 2021 16:36:38 -0800 (PST) Received: from localhost ([::1]:47870 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mn8wH-0000ZH-NU for importer@patchew.org; Tue, 16 Nov 2021 19:36:37 -0500 Received: from eggs.gnu.org ([209.51.188.92]:42376) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mn8uD-0006hD-3K for qemu-devel@nongnu.org; Tue, 16 Nov 2021 19:34:29 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:48418) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mn8uB-0006yI-KX for qemu-devel@nongnu.org; Tue, 16 Nov 2021 19:34:28 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-101-D0NnQVWuNO2A55Xw-HJSqg-1; Tue, 16 Nov 2021 19:34:23 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 32FBD804140; Wed, 17 Nov 2021 00:34:22 +0000 (UTC) Received: from scv.redhat.com (unknown [10.22.32.108]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3A09267842; Wed, 17 Nov 2021 00:34:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1637109266; 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=ziGqGC4r5w99xVhSdX7pV7nmFe5VlZNHpkcB/GG1apg=; b=TRmvT9yLMufSTR/MZSs+yKukglYogonedo4tlZHgpOnLAP1tLZcyXw9GPKdOc7G66pnMu2 D8xj2Inz4948UFT1H784QfqICLf8Nsr9EdiWFl85senWHjSkafc4kGMJwfPuXokuZeI74i SQBdhV+JxZq7y8r1OS/g+TAxVSkpsho= X-MC-Unique: D0NnQVWuNO2A55Xw-HJSqg-1 From: John Snow To: qemu-devel@nongnu.org Subject: [PULL 2/5] python/aqmp: fix ConnectError string method Date: Tue, 16 Nov 2021 19:33:14 -0500 Message-Id: <20211117003317.2844087-3-jsnow@redhat.com> In-Reply-To: <20211117003317.2844087-1-jsnow@redhat.com> References: <20211117003317.2844087-1-jsnow@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=jsnow@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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; Received-SPF: pass client-ip=170.10.129.124; envelope-from=jsnow@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -34 X-Spam_score: -3.5 X-Spam_bar: --- X-Spam_report: (-3.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.697, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Peter Maydell , Thomas Huth , Vladimir Sementsov-Ogievskiy , Daniel Berrange , Eduardo Habkost , qemu-block@nongnu.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Markus Armbruster , Willian Rampazzo , Hanna Reitz , Cleber Rosa , John Snow Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1637109400508100001 Content-Type: text/plain; charset="utf-8" When ConnectError is used to wrap an Exception that was initialized without an error message, we are treated to a traceback with a rubbish line like this: ... ConnectError: Failed to establish session: Correct this to use the name of an exception as a fallback message: ... ConnectError: Failed to establish session: EOFError Better! Signed-off-by: John Snow Reported-by: Thomas Huth Tested-by: Thomas Huth Message-id: 20211111143719.2162525-3-jsnow@redhat.com Signed-off-by: John Snow --- python/qemu/aqmp/protocol.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/python/qemu/aqmp/protocol.py b/python/qemu/aqmp/protocol.py index 860b79512d..5190b33b13 100644 --- a/python/qemu/aqmp/protocol.py +++ b/python/qemu/aqmp/protocol.py @@ -79,7 +79,11 @@ def __init__(self, error_message: str, exc: Exception): self.exc: Exception =3D exc =20 def __str__(self) -> str: - return f"{self.error_message}: {self.exc!s}" + cause =3D str(self.exc) + if not cause: + # If there's no error string, use the exception name. + cause =3D exception_summary(self.exc) + return f"{self.error_message}: {cause}" =20 =20 class StateError(AQMPError): --=20 2.31.1 From nobody Sun Feb 8 00:34:35 2026 Delivered-To: importer@patchew.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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16371096315421017.4144947917069; Tue, 16 Nov 2021 16:40:31 -0800 (PST) Received: from localhost ([::1]:53630 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mn902-0004WZ-BP for importer@patchew.org; Tue, 16 Nov 2021 19:40:30 -0500 Received: from eggs.gnu.org ([209.51.188.92]:42428) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mn8uG-0006ph-1V for qemu-devel@nongnu.org; Tue, 16 Nov 2021 19:34:32 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:39199) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mn8uE-0006yh-6K for qemu-devel@nongnu.org; Tue, 16 Nov 2021 19:34:31 -0500 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-240-sQbyp4QtMI6T82OAjGoT-g-1; Tue, 16 Nov 2021 19:34:25 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id EB1E2804142; Wed, 17 Nov 2021 00:34:23 +0000 (UTC) Received: from scv.redhat.com (unknown [10.22.32.108]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5857D67842; Wed, 17 Nov 2021 00:34:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1637109268; 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=GfrY8TBJg6fYHxxQH4fe1+4ZNqd+QUA2cBL5xqHyYHM=; b=XdmDJIYhQ7sjEKf12DpWmR0cBFE8Ia9hPfEj9oBmnFiy74JxeVlHDt1JbXXF5LvGrlKIgI vyi3oEb3+oYaoawx0mS2cl4dA29JGAFnOw1HtNF/SfOWJKXKSqsH+B2HsFpRbzotGnoeke hYX2vH6E9IlZYGb3L3bCaFu/CFrzXtQ= X-MC-Unique: sQbyp4QtMI6T82OAjGoT-g-1 From: John Snow To: qemu-devel@nongnu.org Subject: [PULL 3/5] scripts/device-crash-test: simplify Exception handling Date: Tue, 16 Nov 2021 19:33:15 -0500 Message-Id: <20211117003317.2844087-4-jsnow@redhat.com> In-Reply-To: <20211117003317.2844087-1-jsnow@redhat.com> References: <20211117003317.2844087-1-jsnow@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=jsnow@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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; Received-SPF: pass client-ip=170.10.133.124; envelope-from=jsnow@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -34 X-Spam_score: -3.5 X-Spam_bar: --- X-Spam_report: (-3.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.697, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Peter Maydell , Thomas Huth , Vladimir Sementsov-Ogievskiy , Daniel Berrange , Eduardo Habkost , qemu-block@nongnu.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Markus Armbruster , Willian Rampazzo , Hanna Reitz , Cleber Rosa , John Snow Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1637109633314100001 Content-Type: text/plain; charset="utf-8" We don't need to handle KeyboardInterruptError specifically; we can instead tighten the scope of the broad Exception handlers to only catch "Exception", which has the effect of allowing all BaseException classes that do not inherit from Exception to be raised through. KeyboardInterruptError and a few other important ones are BaseExceptions, so this does the same thing with less code. Signed-off-by: John Snow Reported-by: Thomas Huth Tested-by: Thomas Huth Message-id: 20211111143719.2162525-4-jsnow@redhat.com Signed-off-by: John Snow --- scripts/device-crash-test | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/scripts/device-crash-test b/scripts/device-crash-test index 8331c057b8..d91e8616ef 100755 --- a/scripts/device-crash-test +++ b/scripts/device-crash-test @@ -317,9 +317,7 @@ class QemuBinaryInfo(object): try: vm.launch() mi['runnable'] =3D True - except KeyboardInterrupt: - raise - except: + except Exception: dbg("exception trying to run binary=3D%s machine=3D%s", self.b= inary, machine, exc_info=3Dsys.exc_info()) dbg("log: %r", vm.get_log()) mi['runnable'] =3D False @@ -360,9 +358,7 @@ def checkOneCase(args, testcase): exc_traceback =3D None try: vm.launch() - except KeyboardInterrupt: - raise - except: + except Exception: exc_traceback =3D traceback.format_exc() dbg("Exception while running test case") finally: --=20 2.31.1 From nobody Sun Feb 8 00:34:35 2026 Delivered-To: importer@patchew.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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1637109648592194.4052308721715; Tue, 16 Nov 2021 16:40:48 -0800 (PST) Received: from localhost ([::1]:53952 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mn90J-0004ju-HE for importer@patchew.org; Tue, 16 Nov 2021 19:40:47 -0500 Received: from eggs.gnu.org ([209.51.188.92]:42456) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mn8uL-00078h-Qh for qemu-devel@nongnu.org; Tue, 16 Nov 2021 19:34:37 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:23052) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mn8uJ-00070f-Lw for qemu-devel@nongnu.org; Tue, 16 Nov 2021 19:34:37 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-128-VPmryWQ4OcWjqKhK4cBbTQ-1; Tue, 16 Nov 2021 19:34:31 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6990B8799E0; Wed, 17 Nov 2021 00:34:30 +0000 (UTC) Received: from scv.redhat.com (unknown [10.22.32.108]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1EE261980E; Wed, 17 Nov 2021 00:34:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1637109275; 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=eXSVgjFKJRRwA5Vn8ppKHCzgYugtfrVhUWKNkdfPF5M=; b=UXYx37DuMPZm62Ijl2plm0kzkyInjA31yXid8PFskdnaseF7H+b3jQSGN3YkGV/e9Zix30 vV7RbrChsHXQhG8mywJ9wRmfnHYQGXvUu7yoqi8KXXRnDZWMzvNneImI88VSEWxx3e1btn xLhziDiOKbT0oUbk2JwchQxZ5w6sUv4= X-MC-Unique: VPmryWQ4OcWjqKhK4cBbTQ-1 From: John Snow To: qemu-devel@nongnu.org Subject: [PULL 4/5] scripts/device-crash-test: don't emit AQMP connection errors to stdout Date: Tue, 16 Nov 2021 19:33:16 -0500 Message-Id: <20211117003317.2844087-5-jsnow@redhat.com> In-Reply-To: <20211117003317.2844087-1-jsnow@redhat.com> References: <20211117003317.2844087-1-jsnow@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=jsnow@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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; Received-SPF: pass client-ip=170.10.133.124; envelope-from=jsnow@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -34 X-Spam_score: -3.5 X-Spam_bar: --- X-Spam_report: (-3.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.697, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Peter Maydell , Thomas Huth , Vladimir Sementsov-Ogievskiy , Daniel Berrange , Eduardo Habkost , qemu-block@nongnu.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Markus Armbruster , Willian Rampazzo , Hanna Reitz , Cleber Rosa , John Snow Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1637109650133100001 Content-Type: text/plain; charset="utf-8" These errors are expected, so they shouldn't clog up terminal output. In the event that they're *not* expected, we'll be seeing an awful lot more output concerning the nature of the failure. Reported-by: Thomas Huth Signed-off-by: John Snow Tested-by: Thomas Huth Message-id: 20211111143719.2162525-5-jsnow@redhat.com Signed-off-by: John Snow --- scripts/device-crash-test | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/device-crash-test b/scripts/device-crash-test index d91e8616ef..49bcd61b4f 100755 --- a/scripts/device-crash-test +++ b/scripts/device-crash-test @@ -499,6 +499,12 @@ def main(): lvl =3D logging.WARN logging.basicConfig(stream=3Dsys.stdout, level=3Dlvl, format=3D'%(leve= lname)s: %(message)s') =20 + if not args.debug: + # Async QMP, when in use, is chatty about connection failures. + # This script knowingly generates a ton of connection errors. + # Silence this logger. + logging.getLogger('qemu.aqmp.qmp_client').setLevel(logging.CRITICA= L) + fatal_failures =3D [] wl_stats =3D {} skipped =3D 0 --=20 2.31.1 From nobody Sun Feb 8 00:34:35 2026 Delivered-To: importer@patchew.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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1637110069442917.9245566947154; Tue, 16 Nov 2021 16:47:49 -0800 (PST) Received: from localhost ([::1]:60822 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mn976-0001M7-8B for importer@patchew.org; Tue, 16 Nov 2021 19:47:48 -0500 Received: from eggs.gnu.org ([209.51.188.92]:42488) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mn8uR-0007Rq-61 for qemu-devel@nongnu.org; Tue, 16 Nov 2021 19:34:43 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:34853) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mn8uP-000716-9n for qemu-devel@nongnu.org; Tue, 16 Nov 2021 19:34:42 -0500 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-561-yUctiMlpM9i3lqqDSLhnow-1; Tue, 16 Nov 2021 19:34:37 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 0CEFD8799E0; Wed, 17 Nov 2021 00:34:36 +0000 (UTC) Received: from scv.redhat.com (unknown [10.22.32.108]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8ECC167842; Wed, 17 Nov 2021 00:34:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1637109280; 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=qMXqwS/lTynPT0MsdUnHeYXKbtNyeUjQz54JVmB+DAE=; b=Lo244D6E3shGqG9Ac0TY+tWadFxMSuo67oFnQhqHrWwhWZJ7SY1cOd1TEIPMoVpDuCWnzO bleU7Yv9WLHmfk2LNBkQkFB5PCStt45CDV75tWeGeDGT2Bs1IVYNo6BE5vY+5WY4bx9djE eR7KWf4Pr5FVC9OULaopupY6FO2swWs= X-MC-Unique: yUctiMlpM9i3lqqDSLhnow-1 From: John Snow To: qemu-devel@nongnu.org Subject: [PULL 5/5] scripts/device-crash-test: hide tracebacks for QMP connect errors Date: Tue, 16 Nov 2021 19:33:17 -0500 Message-Id: <20211117003317.2844087-6-jsnow@redhat.com> In-Reply-To: <20211117003317.2844087-1-jsnow@redhat.com> References: <20211117003317.2844087-1-jsnow@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=jsnow@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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; Received-SPF: pass client-ip=216.205.24.124; envelope-from=jsnow@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -34 X-Spam_score: -3.5 X-Spam_bar: --- X-Spam_report: (-3.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.697, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Peter Maydell , Thomas Huth , Vladimir Sementsov-Ogievskiy , Daniel Berrange , Eduardo Habkost , qemu-block@nongnu.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Markus Armbruster , Willian Rampazzo , Hanna Reitz , Cleber Rosa , John Snow Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1637110070874100001 Content-Type: text/plain; charset="utf-8" Generally, the traceback for a connection failure is uninteresting and all we need to know is that the connection attempt failed. Reduce the verbosity in these cases, except when debugging. Signed-off-by: John Snow Reported-by: Thomas Huth Tested-by: Thomas Huth Message-id: 20211111143719.2162525-6-jsnow@redhat.com Signed-off-by: John Snow --- scripts/device-crash-test | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/scripts/device-crash-test b/scripts/device-crash-test index 49bcd61b4f..3db0ffe5b8 100755 --- a/scripts/device-crash-test +++ b/scripts/device-crash-test @@ -36,6 +36,7 @@ from itertools import chain =20 sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'python')) from qemu.machine import QEMUMachine +from qemu.aqmp import ConnectError =20 logger =3D logging.getLogger('device-crash-test') dbg =3D logger.debug @@ -355,10 +356,12 @@ def checkOneCase(args, testcase): dbg("will launch QEMU: %s", cmdline) vm =3D QEMUMachine(binary=3Dbinary, args=3Dargs) =20 + exc =3D None exc_traceback =3D None try: vm.launch() - except Exception: + except Exception as this_exc: + exc =3D this_exc exc_traceback =3D traceback.format_exc() dbg("Exception while running test case") finally: @@ -366,8 +369,9 @@ def checkOneCase(args, testcase): ec =3D vm.exitcode() log =3D vm.get_log() =20 - if exc_traceback is not None or ec !=3D 0: - return {'exc_traceback':exc_traceback, + if exc is not None or ec !=3D 0: + return {'exc': exc, + 'exc_traceback':exc_traceback, 'exitcode':ec, 'log':log, 'testcase':testcase, @@ -455,6 +459,17 @@ def logFailure(f, level): for l in f['log'].strip().split('\n'): logger.log(level, "log: %s", l) logger.log(level, "exit code: %r", f['exitcode']) + + # If the Exception is merely a QMP connect error, + # reduce the logging level for its traceback to + # improve visual clarity. + if isinstance(f.get('exc'), ConnectError): + logger.log(level, "%s.%s: %s", + type(f['exc']).__module__, + type(f['exc']).__qualname__, + str(f['exc'])) + level =3D logging.DEBUG + if f['exc_traceback']: logger.log(level, "exception:") for l in f['exc_traceback'].split('\n'): --=20 2.31.1