Subject: bug#28710: 27.0.50; eassert failure in maybe_produce_line_number

From: Alex <[email-masked]>
Date: Mon, 09 Oct 2017 11:56:20 -0600

Eli Zaretskii <[email-masked]> writes:

> Thanks.  I installed a change that should fix the problem, please try
> the latest emacs-26 branch.

Looks like it's fixed, thanks.

> Specifically, after invoking redraw-display, which causes GDB to kick
> in, do this:
>
>   Thread 1 hit Breakpoint 3, Fredraw_display () at dispnew.c:3032
>   3032      FOR_EACH_FRAME (tail, frame)
>   (gdb) n
>   3033        if (FRAME_VISIBLE_P (XFRAME (frame)))
>   (gdb) p XFRAME(frame)
>   $1 = (struct frame *) 0x1b5e380 <dumped_data+4020672>
>   (gdb) p $1->redisplay
>   $2 = true
>   (gdb) watch -l $1->redisplay
>   Hardware watchpoint 4: -location $1->redisplay
>   (gdb) commands
>      > bt
>      > continue
>      > end
>   (gdb) continue
>
> and then continue with the recipe, and show all the backtraces you get.

Unfortunately, when I try to use XFRAME, I get:
  No symbol "__builtin_assume_aligned" in current context.

I tried the following workaround, but no backtraces showed up:

Thread 1 "emacs-26.0.60.4" hit Breakpoint 1, Fredraw_display ()
    at dispnew.c:3032
3032	  FOR_EACH_FRAME (tail, frame)
(gdb) n
3033	    if (FRAME_VISIBLE_P (XFRAME (frame)))
(gdb) p (struct frame *) XLI(frame) - Lisp_Vectorlike
$3 = (struct frame *) 0x15c9285 <bss_sbrk_buffer+8055909>
(gdb) p $3->redisplay
$4 = false
(gdb) watch -l $3->redisplay
Hardware watchpoint 2: -location $3->redisplay
(gdb) commands
Type commands for breakpoint(s) 2, one per line.
End with a line saying just "end".
>bt
>continue
>end
(gdb) c
Continuing.

Thread 1 "emacs-26.0.60.4" received signal SIGABRT, Aborted.