GNU bug report logs -
#39977
28.0.50; Unhelpful stack trace
Previous Next
Reported by: Madhu <enometh <at> meer.net>
Date: Sat, 7 Mar 2020 18:09:01 UTC
Severity: normal
Tags: fixed
Found in version 28.0.50
Fixed in version 28.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
Message #14 received at 39977 <at> debbugs.gnu.org (full text, mbox):
> Martin, any thoughts or comments about this?
The selected frame must be invariantly live. Madhu, could you find out
why we apparently manage to return from delete_frame in frame.c without
selecting another frame?
The dividing area is the part written as
/* At this point, we are committed to deleting the frame.
There is no more chance for errors to prevent it. */
minibuffer_selected = EQ (minibuf_window, selected_window);
sf = SELECTED_FRAME ();
/* Don't let the frame remain selected. */
if (f == sf)
starting around line 2012 in delete_frame. Put a breakpoint anywhere
there and run your sly function. If the (f == sf) check is not true, we
are lost. Otherwise, try to step through the following FOR_EACH_FRAME
and tell us why it doesn't break out of that loop (and the subsequent
one). It requires a bit of intuition, but since you probably will not
have more than one frame you should be able to find out quickly.
Other than that I cannot imagine what could have gone wrong here and/or
how to test this. In either case sf = NULL; is not TRT but I think you
are aware of that.
martin
This bug report was last modified 4 years and 285 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.