From unknown Wed Jun 18 00:28:51 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#78738 <78738@debbugs.gnu.org> To: bug#78738 <78738@debbugs.gnu.org> Subject: Status: (signal nil 5) crashes Emacs Reply-To: bug#78738 <78738@debbugs.gnu.org> Date: Wed, 18 Jun 2025 07:28:51 +0000 retitle 78738 (signal nil 5) crashes Emacs reassign 78738 emacs submitter 78738 Daniel Colascione severity 78738 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 09 18:33:53 2025 Received: (at submit) by debbugs.gnu.org; 9 Jun 2025 22:33:53 +0000 Received: from localhost ([127.0.0.1]:58348 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uOl3w-0000KK-VQ for submit@debbugs.gnu.org; Mon, 09 Jun 2025 18:33:53 -0400 Received: from lists.gnu.org ([2001:470:142::17]:48038) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uOl3u-0000JP-HL for submit@debbugs.gnu.org; Mon, 09 Jun 2025 18:33:51 -0400 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 1uOl3n-0006fw-BR for bug-gnu-emacs@gnu.org; Mon, 09 Jun 2025 18:33:44 -0400 Received: from dancol.org ([2600:3c01:e000:3d8::1]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uOl3l-00076X-8c for bug-gnu-emacs@gnu.org; Mon, 09 Jun 2025 18:33:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Type:MIME-Version:Message-ID:Date:Subject:To:From:Sender: Reply-To:Cc:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=tsPqgFMCewnz3KLO9oeMaLq7PhyeuJIw0sRubcHCS0k=; b=hP15yapu8/YW2St2sBg/vclRvR cY7erVezVOjMZIzOSVtOa63RGsLXKnHFUZbZ96pDDkd5jmXa3FTOPswNbJoikqnOffBP2r3x1Zf4z M9z2Tf+VIkiirls2DRM7meKcZAntkzV5YMHRfRCkjt61HIpL3iDjhDthtArwroXRPXgbKoISVWCSn D7SKX5dx71ErfEhIoGehl34pASsKHrEZP1tZTiwgzhrbU7GNIOJCt3ZM/h+mGjAFS11UmACeKe/vz iMJvUVPa7ZYeblzVoSLSFY9HMRU3JSvDw42B8STjHVicEW9VrWNW/Uh35u0p+8iUztOd4ur4Z+/Hk EPuBsrmQ==; Received: from dancol by dancol.org with local (Exim 4.96) (envelope-from ) id 1uOl2S-00BTA1-1r for bug-gnu-emacs@gnu.org; Mon, 09 Jun 2025 18:32:20 -0400 From: Daniel Colascione To: bug-gnu-emacs@gnu.org Subject: (signal nil 5) crashes Emacs User-Agent: mu4e 1.12.10; emacs 31.0.50 Date: Mon, 09 Jun 2025 15:33:38 -0700 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2600:3c01:e000:3d8::1; envelope-from=dancol@dancol.org; helo=dancol.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) (signal nil 5) crashes Emacs From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 10 02:23:04 2025 Received: (at 78738) by debbugs.gnu.org; 10 Jun 2025 06:23:04 +0000 Received: from localhost ([127.0.0.1]:60172 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uOsNz-0005bq-Ay for submit@debbugs.gnu.org; Tue, 10 Jun 2025 02:23:04 -0400 Received: from mail-24416.protonmail.ch ([109.224.244.16]:43005) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uOsNw-0005aO-Sw for 78738@debbugs.gnu.org; Tue, 10 Jun 2025 02:23:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1749536573; x=1749795773; bh=l1ymec6K94cXT86RuxxN9l4gJ7sfawP8OgZpFNpgO+c=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post; b=zM+baKjWMSWbTo/aUGXDcoWE3+kZyhdeMU2bSfj5ilvSyMun0fSGxjE444B5TTnuS ZhpS/0meaEiCGgm4dp52zduBOsHnSyO+/hL77lsCWmhF7rJcHu31gvPWlASUyV37i2 EI1lOSC5pIXKIyNw41KYnOqt/5plMfVZ3MpRobBHZ6n+DHbt3pletdMnx2NDy29dRc WRAmxciP+BIuFqZ1iy7flZ1d/ZeBMh83qO3aVtngCvMtnBh3Zmz07m45m/taXXkXTz HrwVHTLpTnl+EhRE0BaufYAitV1vlnUe1xHQk/39Ae31g+NqqobhGtci9eOm0SLFPL lWxfDWaYD3QLA== Date: Tue, 10 Jun 2025 06:22:49 +0000 To: Daniel Colascione From: Pip Cet Subject: Re: bug#78738: (signal nil 5) crashes Emacs Message-ID: <87sek82k0b.fsf@protonmail.com> In-Reply-To: References: Feedback-ID: 112775352:user:proton X-Pm-Message-ID: fcab569fbce924d9ef3351cd30bad8eefd7993c6 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78738 Cc: 78738@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) "Daniel Colascione" writes: > (signal nil 5) crashes Emacs Good catch! This would fix it, right? diff --git a/src/eval.c b/src/eval.c index fbb881d682d..be6d1a0a9ac 100644 --- a/src/eval.c +++ b/src/eval.c @@ -1888,7 +1888,7 @@ DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0, (Lisp_Object error_symbol, Lisp_Object data) { /* If they call us with nonsensical arguments, produce "peculiar error".= */ - if (NILP (error_symbol) && NILP (data)) + if (NILP (error_symbol) && !CONSP (data)) error_symbol =3D Qerror; signal_or_quit (error_symbol, data, false); eassume (false); Note that there are currently many ways to crash Emacs by executing dodgy Elisp; I think there should be fewer, but others appear to disagree. We specifically added an eassert to crash Emacs when a Lisp function returns invalid data, for example. Pip From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 10 02:47:16 2025 Received: (at 78738) by debbugs.gnu.org; 10 Jun 2025 06:47:16 +0000 Received: from localhost ([127.0.0.1]:60199 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uOslO-0000FJ-Qp for submit@debbugs.gnu.org; Tue, 10 Jun 2025 02:47:16 -0400 Received: from dancol.org ([2600:3c01:e000:3d8::1]:56340) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uOshd-00088j-8o for 78738@debbugs.gnu.org; Tue, 10 Jun 2025 02:43:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Type:MIME-Version:Message-ID:Date:References:In-Reply-To: Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=79OKFICj7DFRU+TrFBMKxnQlZx0mSnD4rvoaT9MW03Y=; b=Oe2ySmynO3aC+vAF74mqqEPG7k x2/0JgiLY8Syl3i0RAfdrcvbKKhaL1gfiFANJqB+MxDhZRRqZ37z9v1YXb4IREDtMvTaBtrXT1s5R zRhOJIzOdefBarX1f18ibIkRLxjFg7i3pxr2T+qIb/bL1xZ1HOl5/Fcn7if7EUSCREUmVOM0c3IuH hyqMSpD4OEy2hUQnXh1FbhFLSsVcNE5Nyv9qy6Sxl+6UcnuPxx7k3yjweiMkRczKY/Ai+TbR94Cgf i4NfNlPsa3IVkZHiW4RaStDCYwluM5tSO7DsaEi+yDN/P1bvOPE2EDcdwSow7+2zZnDNFFg1iTWDv TlKidGrw==; Received: from dancol by dancol.org with local (Exim 4.96) (envelope-from ) id 1uOsgJ-00BVBq-0Q; Tue, 10 Jun 2025 02:41:59 -0400 From: Daniel Colascione To: Pip Cet Subject: Re: bug#78738: (signal nil 5) crashes Emacs In-Reply-To: <87sek82k0b.fsf@protonmail.com> References: <87sek82k0b.fsf@protonmail.com> User-Agent: mu4e 1.12.10; emacs 31.0.50 Date: Mon, 09 Jun 2025 23:43:17 -0700 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78738 Cc: 78738@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Pip Cet writes: > "Daniel Colascione" writes: > >> (signal nil 5) crashes Emacs > > Good catch! > > This would fix it, right? > > diff --git a/src/eval.c b/src/eval.c > index fbb881d682d..be6d1a0a9ac 100644 > --- a/src/eval.c > +++ b/src/eval.c > @@ -1888,7 +1888,7 @@ DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0, > (Lisp_Object error_symbol, Lisp_Object data) > { > /* If they call us with nonsensical arguments, produce "peculiar error". */ > - if (NILP (error_symbol) && NILP (data)) > + if (NILP (error_symbol) && !CONSP (data)) > error_symbol = Qerror; > signal_or_quit (error_symbol, data, false); > eassume (false); > > Note that there are currently many ways to crash Emacs by executing > dodgy Elisp; I think there should be fewer, but others appear to > disagree. We specifically added an eassert to crash Emacs when a Lisp > function returns invalid data, for example. Yeah, that should work. The general theme of Fsignal seems to be turning random passed-in stuff into a "peculiar error", so it seems appropriate that it do the same for this specific set of parameters, especially since the nil error_symbol behavior isn't documented. From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 10 07:13:11 2025 Received: (at 78738) by debbugs.gnu.org; 10 Jun 2025 11:13:11 +0000 Received: from localhost ([127.0.0.1]:35521 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uOwul-0004KV-4z for submit@debbugs.gnu.org; Tue, 10 Jun 2025 07:13:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52794) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uOwui-0004Jg-Dc for 78738@debbugs.gnu.org; Tue, 10 Jun 2025 07:13:08 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uOwub-0004ph-T7; Tue, 10 Jun 2025 07:13:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=uQXMP2UbzGdruVx7nufn8U9xhI2H8QZJJRPBjIFqtzM=; b=UZkmnVUQj/YH vk6bchZWseFCuSq5ITSurIW777FFrwakprMTT3i+SpzFSGURHzhN0GbO3unroAcuzS7JOnjUmWiSr 27jgZeO75M4a0QdB5p8i/WPP+501Px6iR1iBkXRYtfP6CrrGLlPsPfcv2DsFE6Vh/PMDhnti5aDZN XUemV4hpcaxz97u+m8zyhb9D84Mls/+r43slwEzd2nz65SKQDmoqYy6YCg7b9Wn/OGkS3zwFf5Un/ OSy1gtO/vz2Avz4pSIIImxs8Z1yhGW9koBHjPkKQJxiv3g1/QRstS669y8SgPLegL/r+tu/qecocg em1O9yPK4g/b4rBtWfzTbQ==; Date: Tue, 10 Jun 2025 14:12:58 +0300 Message-Id: <86ikl3g891.fsf@gnu.org> From: Eli Zaretskii To: Pip Cet In-Reply-To: <87sek82k0b.fsf@protonmail.com> (bug-gnu-emacs@gnu.org) Subject: Re: bug#78738: (signal nil 5) crashes Emacs References: <87sek82k0b.fsf@protonmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78738 Cc: dancol@dancol.org, 78738@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: 78738@debbugs.gnu.org > Date: Tue, 10 Jun 2025 06:22:49 +0000 > From: Pip Cet via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" > > "Daniel Colascione" writes: > > > (signal nil 5) crashes Emacs > > Good catch! > > This would fix it, right? > > diff --git a/src/eval.c b/src/eval.c > index fbb881d682d..be6d1a0a9ac 100644 > --- a/src/eval.c > +++ b/src/eval.c > @@ -1888,7 +1888,7 @@ DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0, > (Lisp_Object error_symbol, Lisp_Object data) > { > /* If they call us with nonsensical arguments, produce "peculiar error". */ > - if (NILP (error_symbol) && NILP (data)) > + if (NILP (error_symbol) && !CONSP (data)) > error_symbol = Qerror; > signal_or_quit (error_symbol, data, false); > eassume (false); Thanks. If this keeps bug#32961 solved, please install on the emacs-30 branch, since this is a regression in Emacs 30. From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 10 07:46:18 2025 Received: (at 78738) by debbugs.gnu.org; 10 Jun 2025 11:46:18 +0000 Received: from localhost ([127.0.0.1]:36106 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uOxQo-0001FA-Eg for submit@debbugs.gnu.org; Tue, 10 Jun 2025 07:46:18 -0400 Received: from ledu-giraud.fr ([51.159.28.247]:27212) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uOxQk-0001Ew-Dr for 78738@debbugs.gnu.org; Tue, 10 Jun 2025 07:46:15 -0400 DKIM-Signature: v=1; a=ed25519-sha256; c=simple/simple; s=ed25519; bh=LmmLnzhF XMaExM2kAnfWVFyxBYdUEUYSiftOdcfRndk=; h=date:references:in-reply-to: subject:cc:to:from; d=ledu-giraud.fr; b=sTXOzHELKQobwZCDP7iYXZhc0g3wvA L83ECtXUPUUguW9QLNKTq3WZDx9UDlpxXpiZZTs+bbchxVqNl6UbwNAg== DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=rsa; bh=LmmLnzhFXMaExM2k AnfWVFyxBYdUEUYSiftOdcfRndk=; h=date:references:in-reply-to:subject: cc:to:from; d=ledu-giraud.fr; b=W+vOmnRU7r1sHVniIpoq5Gyc/ecuhMFtj+NCXp G2gr/4f2WoUkJdcJBKTh5AnSSEP3KnEwlhmvrxdwOdrgEWr+vLdMdVSa+5OZKqq3yx1dlj K8EjijQY7NtRrvg3LHCMTN3OC2nUfwSURjlkYD8Ua8+PfSe51jUnepWw6HHAlZWmA/HRIb K1CEAiOOoelCamm+WL7wFK953PYbf2YJWe4FngzM7iv7jbB2CYZQuGBsUvG2jq4GhpYHm2 is9NI1w8Pb2X8/UoSgkgyK0G3yppt2a84QZgEFQaLBiues3OC8RTgKjc1N6pOjC02DguKo /BCDSyjS5izqLtpAQTgFoDZw== Received: from computer ( [10.1.1.1]) by ledu-giraud.fr (OpenSMTPD) with ESMTPSA id af77b096 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Tue, 10 Jun 2025 13:46:11 +0200 (CEST) From: Manuel Giraud To: Eli Zaretskii Subject: Re: bug#78738: (signal nil 5) crashes Emacs In-Reply-To: <86ikl3g891.fsf@gnu.org> References: <87sek82k0b.fsf@protonmail.com> <86ikl3g891.fsf@gnu.org> Date: Tue, 10 Jun 2025 13:46:10 +0200 Message-ID: <87frg795vh.fsf@ledu-giraud.fr> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78738 Cc: Pip Cet , dancol@dancol.org, 78738@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: >> Cc: 78738@debbugs.gnu.org >> Date: Tue, 10 Jun 2025 06:22:49 +0000 >> From: Pip Cet via "Bug reports for GNU Emacs, >> the Swiss army knife of text editors" >> >> "Daniel Colascione" writes: >> >> > (signal nil 5) crashes Emacs >> >> Good catch! >> >> This would fix it, right? >> >> diff --git a/src/eval.c b/src/eval.c >> index fbb881d682d..be6d1a0a9ac 100644 >> --- a/src/eval.c >> +++ b/src/eval.c >> @@ -1888,7 +1888,7 @@ DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0, >> (Lisp_Object error_symbol, Lisp_Object data) >> { >> /* If they call us with nonsensical arguments, produce "peculiar error". */ >> - if (NILP (error_symbol) && NILP (data)) >> + if (NILP (error_symbol) && !CONSP (data)) >> error_symbol = Qerror; >> signal_or_quit (error_symbol, data, false); >> eassume (false); > > Thanks. If this keeps bug#32961 solved, please install on the > emacs-30 branch, since this is a regression in Emacs 30. On this matter, what is the code path that leads to a call to signal_or_quit with a nil error_symbol parameter? According to the comment at eval.c:1912, it means that the memory is full but I cannot figure out how we can get there. -- Manuel Giraud From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 10 08:19:26 2025 Received: (at 78738-done) by debbugs.gnu.org; 10 Jun 2025 12:19:26 +0000 Received: from localhost ([127.0.0.1]:36719 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uOxwr-0003Vf-UW for submit@debbugs.gnu.org; Tue, 10 Jun 2025 08:19:26 -0400 Received: from mail-10628.protonmail.ch ([79.135.106.28]:60753) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uOxwl-0003VJ-H2 for 78738-done@debbugs.gnu.org; Tue, 10 Jun 2025 08:19:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1749557952; x=1749817152; bh=lb9IIrc9ttEuAGgLyBWkSRb+Dm/G2su2pnAL6+Do31U=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post; b=VygiCnl0ZaoYdZlIzfQ1Peb6KPpa6SGAyXMG+7GJf/DAMcXijV+ReAWZQmHVYm27R Sdrnj7jiCDXIGBOFRKOK3GOTc+AL/TGwdlJgp37A/GzqyrCm1yhzI4WFlcPe0X6E+2 0R4B3FyWQ6JYMGP2nnxphq1z9GNlt1bTDRIGeVYCcjMIHqvutIbY+cgORAXVU2Or70 kBt/+zJVIPL7HoQY8NuBbXV7NG5Jtque0Na/8YvfJxOgkWwPQVqd/6xZapQ4vZlZy6 SuRvCw7dL2VXVpxYAZjTpXkKuUdbPo02YDTkIKWGp0DP6T+trbEX6IqMawlPgxCAaE kuv+c/9d6Ziwg== Date: Tue, 10 Jun 2025 12:19:07 +0000 To: Manuel Giraud From: Pip Cet Subject: Re: bug#78738: (signal nil 5) crashes Emacs Message-ID: <87cybb3i2x.fsf@protonmail.com> In-Reply-To: <87frg795vh.fsf@ledu-giraud.fr> References: <87sek82k0b.fsf@protonmail.com> <86ikl3g891.fsf@gnu.org> <87frg795vh.fsf@ledu-giraud.fr> Feedback-ID: 112775352:user:proton X-Pm-Message-ID: 2c89eb02544ec69b0484f9bf38fc54dcb79eeab5 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78738-done Cc: Eli Zaretskii , dancol@dancol.org, 78738-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) "Manuel Giraud" writes: > Eli Zaretskii writes: > >>> Cc: 78738@debbugs.gnu.org >>> Date: Tue, 10 Jun 2025 06:22:49 +0000 >>> From: Pip Cet via "Bug reports for GNU Emacs, >>> the Swiss army knife of text editors" >>> >>> "Daniel Colascione" writes: >>> >>> > (signal nil 5) crashes Emacs >>> >>> Good catch! >>> >>> This would fix it, right? >>> >>> diff --git a/src/eval.c b/src/eval.c >>> index fbb881d682d..be6d1a0a9ac 100644 >>> --- a/src/eval.c >>> +++ b/src/eval.c >>> @@ -1888,7 +1888,7 @@ DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0, >>> (Lisp_Object error_symbol, Lisp_Object data) >>> { >>> /* If they call us with nonsensical arguments, produce "peculiar err= or". */ >>> - if (NILP (error_symbol) && NILP (data)) >>> + if (NILP (error_symbol) && !CONSP (data)) >>> error_symbol =3D Qerror; >>> signal_or_quit (error_symbol, data, false); >>> eassume (false); >> >> Thanks. If this keeps bug#32961 solved, please install on the >> emacs-30 branch, since this is a regression in Emacs 30. I've confirmed that that produces a peculiar error, too, as do a few other combinations. So I've pushed this as commit 888f846d377. > On this matter, what is the code path that leads to a call to > signal_or_quit with a nil error_symbol parameter? According to the > comment at eval.c:1912, it means that the memory is full but I cannot > figure out how we can get there. memory_full in alloc.c calls /* This used to call error, but if we've run out of memory, we could get infinite recursion trying to build the string. */ xsignal (Qnil, Vmemory_signal_data); There's another place that does the same for the REL_ALLOC case, in buffer_memory_full. It's questionable whether all the OOM code we have is still being tested, since it's rare to run out of memory nowadays on 64-bit machines. I run into it once in a while when I've broken something else, just like I've never seen a "peculiar error" that wasn't the result of messing up Emacs internals elsewhere. Pip From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 10 08:25:27 2025 Received: (at 78738) by debbugs.gnu.org; 10 Jun 2025 12:25:27 +0000 Received: from localhost ([127.0.0.1]:36838 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uOy2g-000431-Lm for submit@debbugs.gnu.org; Tue, 10 Jun 2025 08:25:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56014) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uOy2c-00041y-KY for 78738@debbugs.gnu.org; Tue, 10 Jun 2025 08:25:24 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uOy2U-0007Ku-Rh; Tue, 10 Jun 2025 08:25:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=9em1XU32mJWTb9bzTQ6wBE1IVyIpBMetJZkbCvuUEHM=; b=kTEixSU6ER8m HTYwrE3MIOT1Z0dxzTTUk/IqJYuWi0ahlYX3NsJ7IG8uVg0noGlQjcGTKq9jlB/kvEAharQzxT9rR hD5cwu/i3gj/MH+n6dqIKmeVbCxM5h6Dm+8J+43F/Xn5sCyunY8V/G/fKWAaA0nsAS2luNIs/MdrH 7dfM7g/VVDICbacvrl95dmcbQ2Ikt5e1+VBnSLxSZ00Jv7g4FNQrJZB6IP36dIR5twM1h69i7KegU RHpvYUD64DzRuejLO9FEAHGgYDc7wPQC0IfznL9t04FfiChr+cPiXHdaHkBbhbKk12M6KxPgP2SPT NM50NfpqlP2lptI3hJ9wiA==; Date: Tue, 10 Jun 2025 15:25:11 +0300 Message-Id: <868qlzg4wo.fsf@gnu.org> From: Eli Zaretskii To: Manuel Giraud In-Reply-To: <87frg795vh.fsf@ledu-giraud.fr> (message from Manuel Giraud on Tue, 10 Jun 2025 13:46:10 +0200) Subject: Re: bug#78738: (signal nil 5) crashes Emacs References: <87sek82k0b.fsf@protonmail.com> <86ikl3g891.fsf@gnu.org> <87frg795vh.fsf@ledu-giraud.fr> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78738 Cc: pipcet@protonmail.com, dancol@dancol.org, 78738@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Manuel Giraud > Cc: Pip Cet , dancol@dancol.org, 78738@debbugs.gnu.org > Date: Tue, 10 Jun 2025 13:46:10 +0200 > > On this matter, what is the code path that leads to a call to > signal_or_quit with a nil error_symbol parameter? According to the > comment at eval.c:1912, it means that the memory is full but I cannot > figure out how we can get there. void memory_full (size_t nbytes) { if (!initialized) fatal ("memory exhausted"); [...] xsignal (Qnil, Vmemory_signal_data); } From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 10 08:30:08 2025 Received: (at 78738-done) by debbugs.gnu.org; 10 Jun 2025 12:30:08 +0000 Received: from localhost ([127.0.0.1]:36874 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uOy7E-0004F8-3N for submit@debbugs.gnu.org; Tue, 10 Jun 2025 08:30:08 -0400 Received: from ledu-giraud.fr ([51.159.28.247]:48094) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uOy79-0004Ec-Da for 78738-done@debbugs.gnu.org; Tue, 10 Jun 2025 08:30:05 -0400 DKIM-Signature: v=1; a=ed25519-sha256; c=simple/simple; s=ed25519; bh=Do79Zwb/ 93LYSbAZcjHGrAL4fCyk8tSzGfcK5GT//Zc=; h=date:references:in-reply-to: subject:cc:to:from; d=ledu-giraud.fr; b=ZNHWBCaD8gVIA+hcjU0ZxU4IoZ4ePs GuMelVsqevQoXScZ7Z7jECMu+s8QuZoVbumS2RXiquBQ1k5RgIC8nBDQ== DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=rsa; bh=Do79Zwb/93LYSbAZ cjHGrAL4fCyk8tSzGfcK5GT//Zc=; h=date:references:in-reply-to:subject: cc:to:from; d=ledu-giraud.fr; b=aeUTl4G0IUguXFvKsrJhlU+f8V73ZQY+I2DtSK sB0rR/K+NCSeT36YeEaW8AWNnAMpm6kXNTvMcs26uux4dliuFxGnt3WjKdujcVofsnfHXF XjmPI7RwckcDY7k63GxunZhVWT91R60FDZMYYkvJWaEcKqeTJxZ+AfqBzqR5zfX0ZLUvJU Ioy68WbJtrkjabukC8ueQ2HJT7ShK6Zvt5w/cK3i6LJNPQU2V+PlXw0JsJHf9E56wAyHp9 OGcEY+6MGaABnhdtv+4xN68YgUQQu7k8MITuhVqKNgXXHGe0YLUHQx5AO/pWZQw/n6ByKd a95mI9Wha4A0Rr2mgBQSY6nQ== Received: from computer ( [10.1.1.1]) by ledu-giraud.fr (OpenSMTPD) with ESMTPSA id a14b85e9 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Tue, 10 Jun 2025 14:30:01 +0200 (CEST) From: Manuel Giraud To: Pip Cet Subject: Re: bug#78738: (signal nil 5) crashes Emacs In-Reply-To: <87cybb3i2x.fsf@protonmail.com> References: <87sek82k0b.fsf@protonmail.com> <86ikl3g891.fsf@gnu.org> <87frg795vh.fsf@ledu-giraud.fr> <87cybb3i2x.fsf@protonmail.com> Date: Tue, 10 Jun 2025 14:30:00 +0200 Message-ID: <87y0tz7p9z.fsf@ledu-giraud.fr> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78738-done Cc: Eli Zaretskii , dancol@dancol.org, 78738-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Pip Cet writes: > "Manuel Giraud" writes: > >> Eli Zaretskii writes: >> >>>> Cc: 78738@debbugs.gnu.org >>>> Date: Tue, 10 Jun 2025 06:22:49 +0000 >>>> From: Pip Cet via "Bug reports for GNU Emacs, >>>> the Swiss army knife of text editors" >>>> >>>> "Daniel Colascione" writes: >>>> >>>> > (signal nil 5) crashes Emacs >>>> >>>> Good catch! >>>> >>>> This would fix it, right? >>>> >>>> diff --git a/src/eval.c b/src/eval.c >>>> index fbb881d682d..be6d1a0a9ac 100644 >>>> --- a/src/eval.c >>>> +++ b/src/eval.c >>>> @@ -1888,7 +1888,7 @@ DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0, >>>> (Lisp_Object error_symbol, Lisp_Object data) >>>> { >>>> /* If they call us with nonsensical arguments, produce "peculiar er= ror". */ >>>> - if (NILP (error_symbol) && NILP (data)) >>>> + if (NILP (error_symbol) && !CONSP (data)) >>>> error_symbol =3D Qerror; >>>> signal_or_quit (error_symbol, data, false); >>>> eassume (false); >>> >>> Thanks. If this keeps bug#32961 solved, please install on the >>> emacs-30 branch, since this is a regression in Emacs 30. > > I've confirmed that that produces a peculiar error, too, as do a few > other combinations. > > So I've pushed this as commit 888f846d377. > >> On this matter, what is the code path that leads to a call to >> signal_or_quit with a nil error_symbol parameter? According to the >> comment at eval.c:1912, it means that the memory is full but I cannot >> figure out how we can get there. > > memory_full in alloc.c calls > > /* This used to call error, but if we've run out of memory, we could > get infinite recursion trying to build the string. */ > xsignal (Qnil, Vmemory_signal_data); Thank you both! I did not grep this xsignal =F0=9F=98=85 --=20 Manuel Giraud From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 10 09:19:56 2025 Received: (at 78738) by debbugs.gnu.org; 10 Jun 2025 13:19:57 +0000 Received: from localhost ([127.0.0.1]:37677 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uOytO-0007f6-QR for submit@debbugs.gnu.org; Tue, 10 Jun 2025 09:19:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35514) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uOytM-0007eF-2i for 78738@debbugs.gnu.org; Tue, 10 Jun 2025 09:19:52 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uOytB-0005hC-T2; Tue, 10 Jun 2025 09:19:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=bThOgoSvxaMtAWu3o02/oJEaUGX3SqvKWbWHfnsx3/g=; b=cWsNFvgK7uNl 3DechnmFEqF8z8EqqFtImhyZDoNEterwA1uLiGfz3b1JFm1egmaFfwOY4/bafrJihEwr03OGcypyE 48htNiOCCIl4rNZwurIV/T/rYp1vzMDnD2fnqLIzkRDiQF9vMhtBxDHv1h0WqLf2pzD7ntTHLnE8W MYnMQZzQwzEZ5UbwBh6pKp+6VHMjJK2CIg+u5IK+BSo4XETzS4MEMDOmNrD407g/PDmubeAfAWAP/ kx/oCTBT1S/Jngs7D6BLURiYpRa2GUlzTzqgTqrFWSm0Zi2QBYUIIEJtqEaxZD0jRFhs3aoqLLAnW 2IBylFKRBGpjEy1Znwak8g==; Date: Tue, 10 Jun 2025 16:19:38 +0300 Message-Id: <865xh3g2dx.fsf@gnu.org> From: Eli Zaretskii To: Pip Cet In-Reply-To: <87cybb3i2x.fsf@protonmail.com> (message from Pip Cet on Tue, 10 Jun 2025 12:19:07 +0000) Subject: Re: bug#78738: (signal nil 5) crashes Emacs References: <87sek82k0b.fsf@protonmail.com> <86ikl3g891.fsf@gnu.org> <87frg795vh.fsf@ledu-giraud.fr> <87cybb3i2x.fsf@protonmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78738 Cc: dancol@dancol.org, 78738@debbugs.gnu.org, manuel@ledu-giraud.fr X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Tue, 10 Jun 2025 12:19:07 +0000 > From: Pip Cet > Cc: Eli Zaretskii , dancol@dancol.org, 78738-done@debbugs.gnu.org > > It's questionable whether all the OOM code we have is still being > tested, since it's rare to run out of memory nowadays on 64-bit > machines. My builds are 32-bit, so I do see it (rarely). > I run into it once in a while when I've broken something else, just > like I've never seen a "peculiar error" that wasn't the result of > messing up Emacs internals elsewhere. Some users report very large memory footprints of the Emacs process they sometimes see in a long-running session. Keep in mind that "memory-full" doesn't mean we exceed the huge 64-bit address space, just the total VM of the system, which is still possible, even in a 64-bit build, especially if the amount of swap is configured sub-optimally.