GNU bug report logs -
#47244
28.0.50; SIGSEGV in long-runnning Emacs
Previous Next
Reported by: Michael Welsh Duggan <md5i <at> md5i.com>
Date: Thu, 18 Mar 2021 15:40:01 UTC
Severity: normal
Found in version 28.0.50
Done: Michael Welsh Duggan <mwd <at> md5i.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> Here is the state as I've been able to determine from the debugger:
>
> Vframe_list contains three entries: "build.ninja", "*Server*", and
> "F1". This matches reality. "F1" is the invisible frame created by
> --daemon.
>
> Frame "build.ninja" has a selected_window whose contents are the buffer
> "build.ninja".
>
> Frame "*Server*" has a selected_window whose contents are the buffer
> "*Server*".
>
> Frame "F1" has a selected_window whose contents are the buffer
> "*scratch*".
>
> Vwindow_list contains two entries: A window whose contents are
> "build.ninja", and a window whose contents are " *Minibuf-0*".
>
> Importantly, Vwindow_list does not contain the window whose contents are
> "*Server*". Since the window_list_1() call uses the value of
> Vwindow_list to create its result, the loop in window_loop() will never
> compare EQ in the REPLACE_BUFFER_IN_WINDOWS_SAFELY case clause.
Impressive, thanks. This means that if earlier everything worked as
intended someone did
(1) set Vwindow_list to nil (because otherwise the *Server* window would
still figure in it), and
(2) window_list () recreated Vwindow_list but did _not_ include the
*Server* window.
The mysterious aspect is (2): Why did window_list skip the *Server*
window? What is the value of FRAME_ROOT_WINDOW (f) where f is the
*Server* frame? What is the name of that window's buffer? IIUC the
*Server* frame does not have a minibuffer window - correct?
martin
This bug report was last modified 4 years and 28 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.