From nobody Mon Feb 9 23:16:20 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 ARC-Seal: i=1; a=rsa-sha256; t=1619033397; cv=none; d=zohomail.com; s=zohoarc; b=ZN/o4TyzOJC4pLvOWXAGU3HbeBB00RCKK9oTt4WHo5OG1d3FlsxbvvTVz8OglcI0hK1CjWc+AJijjlKuD/xpkC51/utDDprri+nnCPQV+GrlETG9v4gzFtXZjxq41cNRB+LzR96tcD/V4yj2UCjD+krJH+YDxsWGWBb98cZ6IoA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1619033397; 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=O1UFhIcIO1sB0rYOq17pQK4R3ILF1OU6LlNmhkawpmk=; b=DHJVaW1z1PpyKvWtTVaqz8jLxERcDPB24BIl+Vk8xDJJqjbTqJ8tRtt3gzKlvk5AHVZeH2Mb3MOTPRKN+fO+LdwE0qrCdnrPhWr2ycKSVGXfNnuRBXiBz2QsodAxwSwWqEXq4Nm/5t6I2V07JO+Pnnasnhoid9NZVFHqir2Kk0k= 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 1619033397392633.081861189286; Wed, 21 Apr 2021 12:29:57 -0700 (PDT) Received: from localhost ([::1]:36720 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lZIXq-0003lP-1d for importer@patchew.org; Wed, 21 Apr 2021 15:29:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42982) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lZIR3-0003yk-KQ for qemu-devel@nongnu.org; Wed, 21 Apr 2021 15:22:53 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:43747) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lZIR1-0005dL-TB for qemu-devel@nongnu.org; Wed, 21 Apr 2021 15:22:53 -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-585-37xIrnzTPS2564t1Q9xF3w-1; Wed, 21 Apr 2021 15:22:39 -0400 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id B230780432C; Wed, 21 Apr 2021 19:22:38 +0000 (UTC) Received: from scv.redhat.com (ovpn-118-152.rdu2.redhat.com [10.10.118.152]) by smtp.corp.redhat.com (Postfix) with ESMTP id DDBD25C1D5; Wed, 21 Apr 2021 19:22:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1619032971; 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=O1UFhIcIO1sB0rYOq17pQK4R3ILF1OU6LlNmhkawpmk=; b=Ddft+qdURdtAn5dyon9fVxB4DPKVmJrcsueOTZ2m67sdjpbhECbc2KdaKxjNwvk5+5PcE3 Y3nm+GD6bzIHsAZ2RX2iDKXcLgPuRRv4hx30AuQl1HaK9cQj4eJLedHxP6WcHBnDrhnj9P K5BeCJGnep5h/YuxZmBL/R9+s1/6APg= X-MC-Unique: 37xIrnzTPS2564t1Q9xF3w-1 From: John Snow To: qemu-devel@nongnu.org, Markus Armbruster Subject: [PATCH v3 4/8] qapi/error: assert QAPISourceInfo is not None Date: Wed, 21 Apr 2021 15:22:29 -0400 Message-Id: <20210421192233.3542904-5-jsnow@redhat.com> In-Reply-To: <20210421192233.3542904-1-jsnow@redhat.com> References: <20210421192233.3542904-1-jsnow@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 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: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , John Snow , Eduardo Habkost , Michael Roth , Cleber Rosa 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" Built-in stuff is not parsed from a source file, and therefore have no QAPISourceInfo. If such None info was used for reporting an error, built-in stuff would be broken. Programming error. Instead of reporting a confusing error with bogus source location then, we better crash. We currently crash only if self.col was set. Assert that self.info is not None in order to crash reliably. We can not yet change the type of the initializer to prove this cannot happen at static analysis time before the remainder of the code is fully typed. Signed-off-by: John Snow --- scripts/qapi/error.py | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/qapi/error.py b/scripts/qapi/error.py index d179a3bd0c7..d0bc7af6e76 100644 --- a/scripts/qapi/error.py +++ b/scripts/qapi/error.py @@ -25,6 +25,7 @@ def __init__(self, info, msg, col=3DNone): self.col =3D col =20 def __str__(self): + assert self.info is not None loc =3D str(self.info) if self.col is not None: assert self.info.line is not None --=20 2.30.2