From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gerd =?UTF-8?Q?M=C3=B6llmann?= Newsgroups: gmane.emacs.bugs Subject: bug#68690: Segmentation fault building with native-comp Date: Thu, 25 Jan 2024 09:33:45 +0100 Message-ID: References: <87wmryel78.fsf@pub.pink> <86zfwud5cv.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26551"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: eliz@gnu.org, jm@pub.pink, monnier@iro.umontreal.ca To: 68690@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Jan 25 09:35:20 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rSvCg-0006fF-Uk for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 25 Jan 2024 09:35:18 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rSvCL-0000uj-O6; Thu, 25 Jan 2024 03:34:57 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rSvCK-0000ua-PG for bug-gnu-emacs@gnu.org; Thu, 25 Jan 2024 03:34:56 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rSvCK-000723-HC for bug-gnu-emacs@gnu.org; Thu, 25 Jan 2024 03:34:56 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rSvCQ-00064n-7L for bug-gnu-emacs@gnu.org; Thu, 25 Jan 2024 03:35:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 25 Jan 2024 08:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 68690 X-GNU-PR-Package: emacs Original-Received: via spool by 68690-submit@debbugs.gnu.org id=B68690.170617164223278 (code B ref 68690); Thu, 25 Jan 2024 08:35:02 +0000 Original-Received: (at 68690) by debbugs.gnu.org; 25 Jan 2024 08:34:02 +0000 Original-Received: from localhost ([127.0.0.1]:47260 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rSvBR-00063C-Hn for submit@debbugs.gnu.org; Thu, 25 Jan 2024 03:34:02 -0500 Original-Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]:44517) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rSvBP-00062s-0s for 68690@debbugs.gnu.org; Thu, 25 Jan 2024 03:33:59 -0500 Original-Received: by mail-ej1-x62c.google.com with SMTP id a640c23a62f3a-a30ed6dbdadso220727666b.1 for <68690@debbugs.gnu.org>; Thu, 25 Jan 2024 00:33:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706171627; x=1706776427; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hXQS08XJb+q9uSqdIW+3nQ0ffqLsTFI9+5u5Lan/iko=; b=mZHNEv37ElbDq6SfXLeQuKQtfc+qcGlRJ6+5DmsSeTR+Vh0cfvLnOQTFfiGkxeS8Qz kBomfsZnNly5cD6JhehpLLuR3o3vCrJKKsxNkpVEhTjIfklO1w52ApWozChLtclJ152t CE8z7k8yKvP6dYt2RNdOAsvWoH+nPSNeGd4DayracwCwd6ookPdXBfGwW6CUgxqVGDq7 8RmSFc2vs+z7/g4sXKtE6HxHfbOiVE4xin6s8z3I7OjTHAb7+4KqZ5ioRTe+evFPIGNh pmpR81xHzg/mNirbQf0zSdcZKIKyWih+U8zBSXcY+dNKmPp7Fh9X3JqWYL2WHN5DxcSR tmBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706171627; x=1706776427; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=hXQS08XJb+q9uSqdIW+3nQ0ffqLsTFI9+5u5Lan/iko=; b=rYzJcXnN/ztJbLp03bA3yHsC8EbvYp7L8duXMkQ98G/nu9e11QiH15wVVYRSobDIaF I1sfI9t1kuOCKAqNWnU/Dh7u9YveFWDtigzt441V0z4wwiFs0rG+29BvcjIkfX5yYVvO vOonwS2aCNTkBp/ryEUg4G3Xj4jUnEEPm7tM2wG1gESO0fhMJx8byhIeD0MPQPDmUsNL EXM+V/k4itFjWWnMn76ogSLf1yzg+9zZwiJ22/FaCwrRNaCPlQlzUAsSrsh5kd0hpQnQ KbkYXho5KNOF+jSIA9+R2/P0U9DbfrjU4/GX7NzutWMUEVVD4z7SPTcMA4Q+oIEGv0NX /VHw== X-Gm-Message-State: AOJu0Yy1vlE1eRlyrz62UL/Wv78vaMJTNw0PZyzbYhZhom6x0qvSZaP0 gxCChsmy/M1K7U0OVy/Kxe+EnleEtLs5Ok1DvHDGQ++nh4Mg993j X-Google-Smtp-Source: AGHT+IE02Tav4gW4oZYrqE2hf8d9lgFfg20Sxi28v7H3DR5o/m+vc+TcM5DQXWTW4/gcwNHLvB3jIw== X-Received: by 2002:a17:906:4091:b0:a27:7cc5:b019 with SMTP id u17-20020a170906409100b00a277cc5b019mr305955ejj.92.1706171627149; Thu, 25 Jan 2024 00:33:47 -0800 (PST) Original-Received: from Pro.fritz.box (pd9e362e3.dip0.t-ipconnect.de. [217.227.98.227]) by smtp.gmail.com with ESMTPSA id kt12-20020a170906aacc00b00a2b3bb73b83sm771767ejb.94.2024.01.25.00.33.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Jan 2024 00:33:46 -0800 (PST) In-Reply-To: ("Gerd =?UTF-8?Q?M=C3=B6llmann?="'s message of "Thu, 25 Jan 2024 06:33:08 +0100") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:278840 Archived-At: Gerd M=C3=B6llmann writes: > Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of > text editors" writes: > >>> Adding Stefan, who installed that commit. >> >> Oops, should be fixed now, >> > > I wonder if a puthash while being in a DOHASH (which is the ASAN failure > I showed) is something we should pursue. I don't think that's something > that's guaranteed to work in a meaningful way. WDYT? BTW, I'm using the code below for CL packages, which have a hash table. A bit less hideous ;-). /* Iterator for hash tables. */ struct h_iter { /* Hash table being iterated over. */ const struct Lisp_Hash_Table *h; /* Current index in key/value vector of H. */ ptrdiff_t i; /* Key and value at I, or nil. */ Lisp_Object key, value; }; /* Return a freshly initialized iterator for iterating over hash table TABLE. */ static struct h_iter h_init (Lisp_Object table) { struct Lisp_Hash_Table *h =3D check_hash_table (table); struct h_iter it =3D {.h =3D h, .i =3D 0, .key =3D Qnil, .value =3D Qnil}; return it; } /* Value is true if iterator IT is on a valid poisition. If it is, IT->key and IT->value are set to key and value at that position. */ static bool h_valid (struct h_iter *it) { for (; it->i < HASH_TABLE_SIZE (it->h); ++it->i) if (!hash_unused_entry_key_p (HASH_KEY (it->h, it->i))) { it->key =3D HASH_KEY (it->h, it->i); it->value =3D HASH_VALUE (it->h, it->i); return true; } return false; } /* Advance to next element. */ static void h_next (struct h_iter *it) { ++it->i; } /* Macrology. IT is a variable name that is bound to an iterator over hash table TABLE for the duration of the loop. */ #define FOR_EACH_KEY_VALUE(it, table) \ for (struct h_iter it =3D h_init (table); h_valid (&it); h_next (&it))