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: martin rudalics
Subject: bug#47244: 28.0.50; SIGSEGV in long-runnning Emacs
Date: Tue, 6 Apr 2021 10:10:53 +0200

> Actually, what I did is use xbuffer, which as part of it outputs the
> name_.  For example:
>
> (gdb) p w->contents
> $53 = XIL(0x5555578be555)
> (gdb) xbuffer
> $54 = (struct buffer *) 0x5555578be550
> 0x555557241db0 "build.ninja"
>
> In this case the name_ field is "build.ninja".  The definition of
> xbuffer is:

OK.  But please let me reassess what you said earlier:

> There were three
> frames that we looped over in the FOR_EACH_FRAME() loop.  Of these, only
> the first is interesting.  In this case window_list_1() in window_loop()
> returned three windows.  For each window, in the
> REPLACE_BUFFER_IN_WINDOWS_SAFELY case branch, EQ (w->contents, obj)
> returned false.

So if one of these three windows on the first frame shows (showed)
"build.ninja" then what do (did) the other two windows show?

> As a result, best_window is Qnil at the end, and
> replace-buffer_in_windows_safely_count never gets incremented.  For the
> other two frames the return value of window_list_1() was Qnil.

The latter could be another problem but should not concern us for the
moment - do these frames get killed in the course?

> When window_list_1() gets called with the window that has "*Server*" as
> the buffer, window_list() (as called on line 2866) does not return a
> list that contains that window.  I do not know how Vwindow_list (which
> is what is returned by window_list() gets updated.

Vwindow_list is a cache of the list of all windows and is (re-)built by
window_list when it is nil.  It is set to nil (that is, the cache gets
invalidated) whenever a window is deleted or created.  What is the value
of Vwindow_list when window_list_1() gets called with the window that
has "*Server*" as the buffer?

martin





reply via email to

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