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

From: Michael Welsh Duggan <[email-masked]>
Date: Wed, 07 Apr 2021 14:31:51 -0400

Michael Welsh Duggan <[email-masked]> writes:

> martin rudalics <[email-masked]> writes:
>
>>  > Don't know where to go from here, but I have a breakpoint set on
>>  >
>>  >        replace_buffer_in_windows_safely_count = 0;
>>  >
>>  > conditioned on count != 0.
>>
>> Good.  IIUC this
>>
>>  > (gdb) p list_length(Vwindow_list)
>>  > $2 = 2
>>
>> and this
>>
>>  > (gdb) xlist
>>  > $13 = 0x1a
>>  > Lisp_Int0
>>  > $14 = 6
>>
>> together indicate that Vwindow_list spontaneously shrinks from 6 to 2
>> elements (which is "impossible" as we know already).  Attaching the next
>> patch which should catch this situation automatically.  It will still be
>> of no help because we won't catch the one that apparently clobbers that
>> list but hopefully more useful than the previous diff.
>
> Triggered.  Here's the backtrace:

Context for what was going on when the assert was triggered: 

 As usual, when triggering this, I had turned off the VPN, and Gnus hung
when trying to fetch mail or news over an existing connection.  I typed
C-g a couple of times to get back interactivity.  This is when the
assert happened.  In past instances the next step would have been to
bring up the *Server* buffer, close and re-open connections, and then
quit the *Server* buffer.

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