GNU bug report logs - #44502
28.0.50; Emacs crash using new frame

Previous Next

Package: emacs;

Reported by: Andy Moreton <andrewjmoreton <at> gmail.com>

Date: Sat, 7 Nov 2020 13:28:02 UTC

Severity: normal

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


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Alan Mackenzie <acm <at> muc.de>
Cc: 44502 <at> debbugs.gnu.org, acm <at> muc.de, andrei.elkin <at> pp.inet.fi
Subject: bug#44502: 
Date: Fri, 19 Aug 2022 13:45:57 +0300
Ping!  Any progress with this bug?

> Date: Sun, 14 Aug 2022 14:30:04 +0000
> Cc: Eli Zaretskii <eliz <at> gnu.org>, 44502 <at> debbugs.gnu.org, acm <at> muc.de
> From: Alan Mackenzie <acm <at> muc.de>
> 
> Hello, Andrei.
> 
> On Fri, Aug 12, 2022 at 13:24:27 +0300, andrei.elkin <at> pp.inet.fi wrote:
> > Salve Eli!
> 
> > >> From: andrei.elkin <at> pp.inet.fi
> > >> Cc: 44502 <at> debbugs.gnu.org
> > >> Date: Thu, 11 Aug 2022 22:10:12 +0300
> 
> > >> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> > >> >> From: andrei.elkin <at> pp.inet.fi
> > >> >> Cc: 44502 <at> debbugs.gnu.org
> > >> >> Date: Thu, 11 Aug 2022 21:19:06 +0300
> 
> > >> >> (gdb) p window
> > >> >> $4 = XIL(0x55555b038855)
> > >> >> (gdb) xwindow
> > >> >> $5 = (struct window *) 0x55555b038850
> > >> >> 124x1+0+80
> > >> >> (gdb) print XWINDOW(window)->contents
> > >> >> $6 = XIL(0x7fffea1bd07d)
> > >> >> (gdb) xbuffer
> > >> >> $7 = (struct buffer *) 0x7fffea1bd078
> > >> >> 0x7fffea4aedc1 " *Minibuf-0*"
> > >> >> (gdb) print selected_window
> > >> >> $8 = XIL(0x55555b038645)
> > >> >> (gdb) xwindow
> > >> >> $9 = (struct window *) 0x55555b038640
> > >> >> 124x80+0+0
> > >> >> (gdb) print XWINDOW(selected_window)->contents
> > >> >> $10 = XIL(0x5555577f9475)
> > >> >> (gdb) xbuffer
> > >> >> $11 = (struct buffer *) 0x5555577f9470
> > >> >> 0x555559788ff0 "magit: A<10.6>"
> 
> > >> > Do you remember what were you doing when this assertion violation
> > >> > happened?
> 
> > >> Something like
> 
> > >>   C-u M-x shell
> 
> I've tried quite a bit to reproduce the error, but haven't managed.
> 
> > >> > Also, are you using a separate minibuffer frame?
> 
> > There are still *two* asserted emacs' frames around with "Minibuffer-1"
> > (not 0!) around.
> 
> I think I understand what has caused the breakage of this assertion, and
> as Eli suggested, it is something fairly harmless.
> 
> > >> No
> 
> > > Then I tend to think that the assertion there is simply wrong.
> 
> > > Adding Alan to CC, since this seems to be related to the
> 
> > I am holing on the gdb session for your colleague just in case.
> 
> Thanks!  I'm sorry it's taken me so long to get back to you, it's been a
> chaotic weekend.
> 
> > > minibuffer-follows-selected-frame feature.  Alan, this happens in
> > > Emacs 28, so trying to fix it on the release branch in a safe way is
> > > important.  TIA.
> 
> > Thanks over for so far! If the assert comes back to me, I'd just comment it
> > out :-).
> 
> I think the following fix to the assert should indeed be a "safe" fix,
> suitable for Emacs-28.  Could you possibly apply it, please, and try to
> recreate the error.  If you don't manage to recreate the error, the bug
> is probably "fixed".
> 
> 
> 
> diff --git a/src/window.c b/src/window.c
> index 2576b66a18..35ec2a1f90 100644
> --- a/src/window.c
> +++ b/src/window.c
> @@ -554,7 +554,9 @@ select_window (Lisp_Object window, Lisp_Object norecord,
>  	 frame is active.  */
>        Fselect_frame (frame, norecord);
>        /* Fselect_frame called us back so we've done all the work already.  */
> -      eassert (EQ (window, selected_window));
> +      eassert (EQ (window, selected_window)
> +	       || (EQ (window, f->minibuffer_window)
> +		   && NILP (Fminibufferp (XWINDOW (window)->contents, Qt))));
>        return window;
>      }
>    else
> 
> 
> > Have a good day!
> 
> And yourself, too!
> 
> > Andrei
> 
> -- 
> Alan Mackenzie (Nuremberg, Germany).
> 




This bug report was last modified 2 years and 280 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.