It looks like `curY (tty) >= FrameRows (tty) - 1`: (lldb) frame #9: 0x0000000100173380 Emacs`cmcheckmagic(tty=0x000000010180d000) at cm.c:118 115 if (curX (tty) == FrameCols (tty)) 116 { 117 if (!MagicWrap (tty) || curY (tty) >= FrameRows (tty) - 1) -> 118 emacs_abort (); 119 if (tty->termscript) 120 putc_unlocked ('\r', tty->termscript); 121 putc_unlocked ('\r', tty->output); (lldb) p (tty)->Wcm->cm_magicwrap (bool_bf) $0 = true (lldb) p (tty)->Wcm->cm_curY (int) $1 = 2 (lldb) p (tty)->Wcm->cm_rows (int) $2 = 3 > was the original cause also in "emacs -nw", or was it in a GUI frame? It was not in a GUI, but it was an `emacsclient -t` invocation.