Subject: Re: bug#47244: 28.0.50; SIGSEGV in long-runnning Emacs

From: Eli Zaretskii <[email-masked]>
Date: Fri, 19 Mar 2021 15:49:16 +0200

> From: Michael Welsh Duggan <[email-masked]>
> Cc: Michael Welsh Duggan <[email-masked]>,  [email-masked],
>   [email-masked],  [email-masked]
> Date: Fri, 19 Mar 2021 09:37:21 -0400
> 
> > But maybe my fears are exaggerated.  If you set a breakpoint on
> > Fkill_buffer with commands that say just
> >
> >   silent
> >   continue
> >   end
> >
> > does Emacs run reasonably fast for you to be able to work in such a
> > session?
> 
> I just tested this.  It runs fast enough even without silent.  (I did
> this to make sure I had set up the breakpoint correctly and it was being
> triggered. 

Then maybe we can try catching the culprit.  Try this:

  (gdb) break buffer.c:1840 if redisplaying_p != 0

This breakpoint is in this snippet from buffer.c:

  /* Make this buffer not be current.  Exit if it is the sole visible
     buffer.  */
  if (b == current_buffer)
    {
      tem = Fother_buffer (buffer, Qnil, Qnil);  <<<<<<<<<<<<<<<<<<
      Fset_buffer (tem);
      if (b == current_buffer)
	return Qnil;
    }

If this breaks, I'd be interested to see the backtrace (including
"xbacktrace" which shows the corresponding Lisp backtrace).

Thanks.