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

From: Michael Welsh Duggan <[email-masked]>
Date: Thu, 08 Apr 2021 13:15:54 -0400

Eli Zaretskii <[email-masked]> writes:

>> From: Michael Welsh Duggan <[email-masked]>
>> Cc: "[email-masked]" <[email-masked]>,
>>         "[email-masked]"
>>  <[email-masked]>,
>>         "[email-masked]" <[email-masked]>
>> Date: Thu, 08 Apr 2021 12:37:41 -0400
>> 
>> >> (gdb) xlist
>> >> $16 = 0xb820
>> >> Lisp_Symbol
>> >> $17 = (struct Lisp_Symbol *) 0x555555e6e8a0 <lispsym+47136>
>> >> "quit"
>> >> ---
>> >> nil
>> >
>> > So is this the result of your typing C-g?
>> 
>> Yes.  In the scenario I have presented, this is where Emacs is
>> unresponsive (busy cursor), presumably trying to interact with a network
>> connection that has gone away to the VPN being switched on or off, and I
>> type C-g twice rapidly in succession to regain interactivity, after
>> which I would normally then attempt to manually reset the gnus
>> connections.
>
> But then the buffer being killed is not the one you reported
> originally, is it?  You said the buffer that was killed was *Server*,
> and here we see that a temporary buffer is being killed.  Am I
> confused?

You're not confused, but the situation is confusing.  There are two
kill-buffer calls that are happening.  The Vwindow_list was getting
corrupted during the first, but that corruption did not cause a
segfault, likely to that buffer (temp buffer) not being in a window.
That corruption caused a segfault in the second.  Martin's changes have
caused an assertion to happen in the first instead.

-- 
Michael Welsh Duggan
([email-masked])