GNU bug report logs -
#27668
26.0.50; Crash with display-line-numbers t
Previous Next
Reported by: Robert Pluim <rpluim <at> gmail.com>
Date: Wed, 12 Jul 2017 13:44:02 UTC
Severity: normal
Tags: moreinfo
Merged with 28710
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
View this message in rfc822 format
> From: Robert Pluim <rpluim <at> gmail.com>
> Date: Fri, 14 Jul 2017 10:59:17 +0200
>
> xdisp.c:21012: Emacs fatal error: assertion failed: it->glyph_row == NULL || it->glyph_row->used[TEXT_AREA] == 0
>
> Thread 1 "emacs" hit Breakpoint 1, terminate_due_to_signal (sig=sig <at> entry=6,
> backtrace_limit=backtrace_limit <at> entry=2147483647) at emacs.c:363
> 363 {
> (gdb) bt
> #0 terminate_due_to_signal (sig=sig <at> entry=6, backtrace_limit=backtrace_limit <at> entry=2147483647) at emacs.c:363
> #1 0x00000000005a4ed4 in die (msg=msg <at> entry=0x67aec0 "it->glyph_row == NULL || it->glyph_row->used[TEXT_AREA] == 0",
> file=file <at> entry=0x678e68 "xdisp.c", line=line <at> entry=21012) at alloc.c:7348
> #2 0x000000000045befb in maybe_produce_line_number (it=it <at> entry=0x7fffffff8130) at xdisp.c:21012
> #3 0x0000000000465335 in display_line (it=it <at> entry=0x7fffffff8130, cursor_vpos=cursor_vpos <at> entry=9) at xdisp.c:21227
> #4 0x000000000046728d in try_window (window=..., window <at> entry=XIL(0x146e6c5), pos=..., flags=flags <at> entry=1)
> at xdisp.c:17544
> #5 0x000000000047f8fb in redisplay_window (window=XIL(0x146e6c5), just_this_one_p=just_this_one_p <at> entry=false)
> at xdisp.c:16991
In this frame #5, in redisplay_window, which of the conditions in the
following 'if' clause are true?
/* Try to redisplay starting at same place as before.
If point has not moved off frame, accept the results. */
if (!current_matrix_up_to_date_p
/* Don't use try_window_reusing_current_matrix in this case
because a window scroll function can have changed the
buffer. */
|| !NILP (Vwindow_scroll_functions)
|| MINI_WINDOW_P (w)
|| !(used_current_matrix_p
= try_window_reusing_current_matrix (w)))
{
IF_DEBUG (debug_method_add (w, "1"));
if (try_window (window, startp, TRY_WINDOW_CHECK_MARGINS) < 0)
It cannot be MINI_WINDOW_P, so it's either current_matrix_up_to_date_p
is false, or your window-scroll-functions is non-nil, or we called
try_window_reusing_current_matrix. In the latter case, I'd expect my
recent change to fix the problem, so I guess that function wasn't
called, and some other condition caused us to call try_window. Or
maybe I'm missing something here.
> I was looking at a commit in Magit, and had just hit enter in a diff
> hunk to view the source file containing the change, so it's happening
> when we switch from non-line-number to line-number mode.
How do you "switch from non-line-number to line-number mode"? I tried
several ways I could think about, but couldn't reproduce the issue. I
wonder what's different in your case that you hit this problem so
frequently.
Did the previous times also happened when switching from a Magit
buffer to a buffer under display-line-numbers?
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.