GNU bug report logs -
#79131
31.0.50; igc: nested signal, SIGSEGV
Previous Next
Full log
View this message in rfc822 format
"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 9 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.