all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: 27668@debbugs.gnu.org
Subject: bug#27668: 26.0.50; Crash with display-line-numbers t
Date: Fri, 14 Jul 2017 12:51:06 +0300	[thread overview]
Message-ID: <83vamvfit1.fsf@gnu.org> (raw)
In-Reply-To: <87d1931jiy.fsf@gmail.com> (message from Robert Pluim on Fri, 14 Jul 2017 10:59:17 +0200)

> From: Robert Pluim <rpluim@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@entry=6, 
>     backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:363
> 363	{
> (gdb) bt
> #0  terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:363
> #1  0x00000000005a4ed4 in die (msg=msg@entry=0x67aec0 "it->glyph_row == NULL || it->glyph_row->used[TEXT_AREA] == 0", 
>     file=file@entry=0x678e68 "xdisp.c", line=line@entry=21012) at alloc.c:7348
> #2  0x000000000045befb in maybe_produce_line_number (it=it@entry=0x7fffffff8130) at xdisp.c:21012
> #3  0x0000000000465335 in display_line (it=it@entry=0x7fffffff8130, cursor_vpos=cursor_vpos@entry=9) at xdisp.c:21227
> #4  0x000000000046728d in try_window (window=..., window@entry=XIL(0x146e6c5), pos=..., flags=flags@entry=1)
>     at xdisp.c:17544
> #5  0x000000000047f8fb in redisplay_window (window=XIL(0x146e6c5), just_this_one_p=just_this_one_p@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?





  parent reply	other threads:[~2017-07-14  9:51 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-12 13:42 bug#27668: 26.0.50; Crash with display-line-numbers t Robert Pluim
2017-07-12 14:34 ` Eli Zaretskii
2017-07-12 14:47   ` Robert Pluim
2017-07-12 15:05     ` Eli Zaretskii
2017-07-12 15:17       ` Robert Pluim
2017-07-12 16:20         ` Eli Zaretskii
2017-07-12 18:26           ` Robert Pluim
2017-07-12 19:01             ` Eli Zaretskii
2017-07-13  8:28               ` Robert Pluim
2017-07-13 16:24                 ` Eli Zaretskii
2017-07-13 16:33                   ` Robert Pluim
2017-07-13 16:29                 ` Eli Zaretskii
2017-07-13 16:42                   ` Robert Pluim
2017-07-13 17:56                     ` Eli Zaretskii
2017-07-13 18:17                       ` Robert Pluim
2017-07-13 19:22                         ` Eli Zaretskii
2017-07-13 19:35                           ` Robert Pluim
2017-07-14  8:03                             ` Eli Zaretskii
2017-07-14  8:59                               ` Robert Pluim
2017-07-14  9:47                                 ` Robert Pluim
2017-07-14 10:04                                   ` Eli Zaretskii
2017-07-14 11:36                                     ` Robert Pluim
2017-07-14 12:39                                       ` Eli Zaretskii
2017-07-14  9:51                                 ` Eli Zaretskii [this message]
2017-07-14 11:45                                   ` Robert Pluim
2017-07-14 13:28                                     ` Eli Zaretskii
2017-07-14 14:47                                       ` Robert Pluim
2017-07-14 15:07                                         ` Robert Pluim
2017-07-14 15:14                                         ` Eli Zaretskii
2017-07-17 14:38                                           ` Robert Pluim
2017-07-17 15:34                                             ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83vamvfit1.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=27668@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.