Subject: Re: bug#17386: 24.3.90; emacs_abort in cmcheckmagic

From: Eli Zaretskii <[email-masked]>
Date: Fri, 02 May 2014 11:58:32 +0300

> Date: Fri, 02 May 2014 10:14:18 +0200
> From: Nicolas Richard <[email-masked]>
> CC: [email-masked]
> 
> Le 02/05/2014 09:28, Eli Zaretskii a écrit :
> > Which part of the condition on line 119 of cm.c caused the call to
> > emacs_abort?
> 
> The inequality :
> 
> (gdb) f 2
> #2  0x0812f8fb in cmcheckmagic (tty=0x897ee80) at cm.c:120
> 120             emacs_abort ();
> (gdb) l
> 115     cmcheckmagic (struct tty_display_info *tty)
> 116     {
> 117       if (curX (tty) == FrameCols (tty))
> 118         {
> 119           if (!MagicWrap (tty) || curY (tty) >= FrameRows (tty) - 1)
> 120             emacs_abort ();
> 121           if (tty->termscript)
> 122             putc ('\r', tty->termscript);
> 123           putc ('\r', tty->output);
> 124           if (tty->termscript)
> (gdb) p MagicWrap(tty)
> $1 = true
> (gdb) p curY(tty)
> $2 = 63
> (gdb) p FrameRows (tty)
> $3 = 23

Then I don't think this crash is interesting.  It seems like you
connected with a second emacsclient in the middle of a potentially
already confused session, which caused Emacs to be confused about the
number of rows on your terminal.  (Which one is true: 64 or 23?)