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

From: Eli Zaretskii <[email-masked]>
Date: Thu, 25 Mar 2021 08:25:19 +0200

> From: Michael Welsh Duggan <[email-masked]>
> Cc: Michael Welsh Duggan <[email-masked]>,  Eli Zaretskii <[email-masked]>,
>   "[email-masked]" <[email-masked]>,  "[email-masked]"
>  <[email-masked]>,  "[email-masked]" <[email-masked]>
> Date: Wed, 24 Mar 2021 22:19:35 -0400
> 
> > --- a/src/buffer.c
> > +++ b/src/buffer.c
> > @@ -2151,6 +2151,9 @@ set_buffer_internal_1 (register struct buffer *b)
> >
> >    BUFFER_CHECK_INDIRECTION (b);
> >
> > +  if (!BUFFER_LIVE_P (b))
> > +    error ("Selecting deleted buffer");
> > +
> >    old_buf = current_buffer;
> >    current_buffer = b;
> >    last_known_column_point = -1;   /* Invalidate indentation cache.  */
> 
> Okay.  Building now and will run until...something happens?  Should I be
> expecting an Emacs error from this?

Yes.

> Should I breakpoint the error() clause?

Better put a breakpoint on this call to 'error' instead, because
'error' could be called for unrelated reasons, and it could be caught
-- you don't want those cases.

Thanks.