GNU bug report logs -
#28710
27.0.50; eassert failure in maybe_produce_line_number
Previous Next
Reported by: Alex <agrambot <at> gmail.com>
Date: Wed, 4 Oct 2017 22:33:02 UTC
Severity: normal
Tags: moreinfo
Merged with 27668
Found in versions 26.0.50, 27.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #37 received at 28710 <at> debbugs.gnu.org (full text, mbox):
> From: Alex <agrambot <at> gmail.com>
> Cc: 28710 <at> debbugs.gnu.org
> Date: Sun, 08 Oct 2017 13:05:45 -0600
>
> The return value appears to be true. The breakpoint does trigger right
> after, and enabled_p is also true:
>
> Thread 1 "emacs" hit Hardware watchpoint 4: -location $1->desired_matrix->rows->enabled_p
>
> Old value = false
> New value = true
> prepare_desired_row (w=0x1695d60 <bss_sbrk_buffer+8894272>, row=0x4182860,
> mode_line_p=true) at dispnew.c:1076
> 1076 row->reversed_p = rp;
> (gdb) c
> Continuing.
>
> Thread 1 "emacs" hit Hardware watchpoint 4: -location $1->desired_matrix->rows->enabled_p
>
> Old value = true
> New value = false
> clear_glyph_matrix_rows (matrix=0x3f524f0, start=0, end=37) at dispnew.c:693
> 693 for (; start < end; ++start)
> (gdb) c
> Continuing.
>
> Thread 1 "emacs" hit Hardware watchpoint 4: -location $1->desired_matrix->rows->enabled_p
>
> Old value = false
> New value = true
> prepare_desired_row (w=0x1695d60 <bss_sbrk_buffer+8894272>, row=0x4182860,
> mode_line_p=false) at dispnew.c:1076
> 1076 row->reversed_p = rp;
> (gdb) break xdisp.c:17039
> Breakpoint 5 at 0x474844: file xdisp.c, line 17039.
> (gdb) commands
> Type commands for breakpoint(s) 5, one per line.
> End with a line saying just "end".
> >p w->desired_matrix->rows->enabled_p
> >end
> (gdb) finish
> Run till exit from #0 prepare_desired_row (
> w=0x1695d60 <bss_sbrk_buffer+8894272>, row=0x4182860, mode_line_p=false)
> at dispnew.c:1076
> display_line (it=0x7ffefb255dc0, cursor_vpos=25) at xdisp.c:21208
> warning: Source file is more recent than executable.
> 21208 row->y = it->current_y;
> (gdb) finish
> Run till exit from #0 display_line (it=0x7ffefb255dc0, cursor_vpos=25)
> at xdisp.c:21208
> 0x0000000000477380 in try_window (window=XIL(0x1695d65), pos=..., flags=1)
> at xdisp.c:17592
> 17592 if (display_line (&it, cursor_vpos))
> Value returned is $2 = true
> (gdb) finish
> Run till exit from #0 0x0000000000477380 in try_window (
> window=XIL(0x1695d65), pos=..., flags=1) at xdisp.c:17592
> 0x0000000000474866 in redisplay_window (window=XIL(0x1695d65),
> just_this_one_p=false) at xdisp.c:17039
> 17039 if (try_window (window, startp, TRY_WINDOW_CHECK_MARGINS) < 0)
> Value returned is $3 = 1
> (gdb) continue
> Continuing.
>
> Thread 1 "emacs" hit Breakpoint 5, redisplay_window (window=XIL(0x1695d65), just_this_one_p=false) at xdisp.c:17039
> 17039 if (try_window (window, startp, TRY_WINDOW_CHECK_MARGINS) < 0)
> $4 = true
> (gdb) p w->desired_matrix->rows->enabled_p
> $5 = true
OK, so we need to understand the path the code takes after try_window
returns the value 1. This means, after typing "finish" 3 times, type
"next", then continue pressing RET until redisplay_window returns. I
need to see the path through the code until we exit redisplay_window
to understand where to put the missing call to clear_glyph_matrix.
Also, please recompile Emacs because:
> warning: Source file is more recent than executable.
Thanks.
> Have you tried using MELPA[1] to install magit? Maybe that would
> work.
I'm not sure how will this help. I don't want to install Magit, I
just use it from a directory where I unzipped its snapshot. How using
MELPA would change that?
This bug report was last modified 7 years and 277 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.