bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Michael Welsh Duggan
Subject: bug#47244: 28.0.50; SIGSEGV in long-runnning Emacs
Date: Tue, 06 Apr 2021 22:22:03 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Michael Welsh Duggan <mwd@cert.org> writes:

> martin rudalics <rudalics@gmx.at> writes:
>
>>  >> The mysterious aspect is (2): Why did window_list skip the *Server*
>>  >> window?
>>  >
>>  > Good question.  I plan to set Vwindow_list to nil and call it to see
>>  > what happens.
>>
>> This should resolve the mystery.
>
> I wish it did.  After doing this, Vwindow_list has six entries, one for
> each selected_window on each frame, and one for each minibuffer window
> on each frame.  This includes the "*Server*" buffer.

Just a shot in the dark here.  The only way I can think of this
occurring (Vwindow_list being too small), is that something modified
Vwindow_list when we don't expect it to be modified.  I looked through
all the uses of Vwindow_list and window_list(), and they all look
kosher.  The only modification seems to be setting Vwindow_list to nil.
But window_list() does call into lisp (nconc2, which calls Fnconc) when
constructing Vwindow_list, and it uses Vwindow_list as a temporary in
the process.  Is it possible that during that call something happens
asynchronously (via gc?) that calls something that sets Vwindow_list
to nil again, while Vwindow_list is being constructed?  I don't think
so, off hand, but I'm grasping at straws.

-- 
Michael Welsh Duggan
(md5i@md5i.com)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]