Subject: Re: bug#16674: 24.3.50; crash: redisplay_internal, update_frame, using client-daemon in tmux

From: Eli Zaretskii <[email-masked]>
Date: Fri, 07 Feb 2014 09:16:29 +0200

> From: Mark Oteiza <[email-masked]>
> Date: Thu, 06 Feb 2014 16:25:07 -0500
> 
> I have had several similar crashes over the past couple weeks, using the
> daemon and a variety of clients in and out of tmux sessions.  I attached
> the backtrace the most recent crash.
> Program terminated with signal 6, Aborted.
> #0  0x00007f76aff4274b in raise () from /usr/lib/libpthread.so.0
> (gdb) bt
> #0  0x00007f76aff4274b in raise () from /usr/lib/libpthread.so.0
> #1  0x00000000004db076 in terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=40) at emacs.c:378
> #2  0x00000000004f4433 in emacs_abort () at sysdep.c:2127
> #3  0x00000000004a14c5 in cmcheckmagic (tty=0x2c2d410) at cm.c:120

This is here:

  void
  cmcheckmagic (struct tty_display_info *tty)
  {
    if (curX (tty) == FrameCols (tty))
      {
	if (!MagicWrap (tty) || curY (tty) >= FrameRows (tty) - 1)
	  emacs_abort ();  <<<<<<<<<<<<<<<<<<<<<<<<

Can you find out which of the two conditions triggered the abort?

Also, what are "client-daemon" and "tmux", and how are they related to
Emacs?

Finally, can you try reproducing this in an unoptimized build?  I'm
afraid optimized builds lie to GDB about the exact point of crash and
about backtrace that led to the crash.

Thanks.