GNU bug report logs - #79131
31.0.50; igc: nested signal, SIGSEGV

Previous Next

Package: emacs;

Reported by: Óscar Fuentes <oscarfv <at> eclipso.eu>

Date: Wed, 30 Jul 2025 20:20:02 UTC

Severity: normal

Found in version 31.0.50

Full log


Message #74 received at 79131 <at> debbugs.gnu.org (full text, mbox):

From: Pip Cet <pipcet <at> protonmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Gerd Möllmann <gerd.moellmann <at> gmail.com>,
 oscarfv <at> eclipso.eu, casouri <at> gmail.com, 79131 <at> debbugs.gnu.org
Subject: Re: bug#79131: 31.0.50; igc: nested signal, SIGSEGV
Date: Thu, 07 Aug 2025 17:58:22 +0000
"Eli Zaretskii" <eliz <at> gnu.org> writes:

>> From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
>> Cc: Pip Cet <pipcet <at> protonmail.com>,  oscarfv <at> eclipso.eu,
>>   casouri <at> gmail.com,  79131 <at> debbugs.gnu.org
>> Date: Sun, 03 Aug 2025 18:17:17 +0200
>>
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>>
>> >> Date: Sun, 03 Aug 2025 15:47:43 +0000
>> >> From: Pip Cet <pipcet <at> protonmail.com>
>> >> Cc: Óscar Fuentes <oscarfv <at> eclipso.eu>, Eli Zaretskii <eliz <at> gnu.org>, Yuan Fu <casouri <at> gmail.com>, 79131 <at> debbugs.gnu.org
>> >>
>> >> Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:
>> >>
>> >> > Pip Cet <pipcet <at> protonmail.com> writes:
>> >> >
>> >> >> But I'll wait for others to weigh in; maybe my theory is obviously
>> >> >> incorrect.
>> >> >
>> >> > I think the memq thing is definitely a bug.
>> >>
>> >> Unfortunately, while Fmemq and Fassq are easy to fix, Fget can also quit
>> >> (if overriding-plist-environment is in use), and that's used in a few
>> >> places here.  Do we need get_no_quit?
>> >
>> > Maybe we should inhibit_igc instead (if we don't already)?  Otherwise,
>>
>> You mean inhibit-quit?
>
> No, I mean prevent MPS from interrupting a given short sequence of
> code with GC.

I fail to see how that would work in this case, sorry. What makes this
bug more likely on MPS (it exists on both branches, if it is as I
described) is the existence of memory barriers, not the start of a GC
cycle (which we could, in theory, stop, though we really shouldn't).

So, if I'm right, I'm afraid we're going to have to go with _no_quit
versions for now, or abuse the unwind-protect machinery.

Using inhibit_quit would work for some quits, and possibly all of them,
but I'd have to read the code again to be sure.

Pip





This bug report was last modified 10 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.