Subject: bug#79131: 31.0.50; igc: nested signal, SIGSEGV

From: Gerd Möllmann <[email-masked]>
Date: Thu, 31 Jul 2025 07:42:11 +0200

Óscar Fuentes <[email-masked]> writes:

> #12 add_text_properties_1 (start=<optimized out>, start@entry=0x1f06a, end=<optimized out>, 
>     end@entry=0x1f07a, properties=0x7f4fe3c2acc3, object=0x7f4fe645cfbd, 
>     object@entry=0x0, set_type=set_type@entry=TEXT_PROPERTY_REPLACE, destructive=destructive@entry=true)
> --Type <RET> for more, q to quit, c to continue without paging--c
>     at ../../emacs/src/textprop.c:1252
>         i = 0x0
>         unchanged = <optimized out>
>         s = 31770
>         len = 3
>         modified = <optimized out>
>         first_time = <optimized out>

That would be around here

textprop.c:
 1251   /* We are at the beginning of interval I, with LEN chars to scan.  */
 1252   for (;;)
 1253     {
 1254       eassert (i != 0);
 1255 
 1256       if (LENGTH (i) >= len)
 1257         {

and that probably means i is NULL, which is a pointer to an interval. It
is accessed in LENGTH. Which in would mean that the interval tree is
kaput. Can you reproduce that?