unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Robert Pluim <rpluim@gmail.com>
To: 27668@debbugs.gnu.org
Subject: bug#27668: 26.0.50; Crash with display-line-numbers t
Date: Fri, 14 Jul 2017 16:47:56 +0200	[thread overview]
Message-ID: <874luf3wir.fsf@gmail.com> (raw)
In-Reply-To: <87k23d7ovv.fsf@gmail.com>

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Robert Pluim <rpluim@gmail.com>
>> Would you like me to try an unoptimised build? CFLAGS=-O0 -ggdb or
>> similar?
>
> It cannot hurt, so please do.  Maybe this will give some valuable
> hints.  (Please use "-gdwarf-4 -g3" instead of -ggdb, it should
> provide a better debug info.)  Btw, I already did an optimized build,
> but was unable to reproduce the problem there as well.
>

I'll try that next, I think you're on the right track.

> When the assertion in maybe_produce_line_number is hit, what are the
> values of it->vpos and it->glyph_row->y?  Are they always the same
> values?  If they are, maybe we could put a watchpoint on the
> corresponding glyph row and see who changes it.

They're both always 0.

21012	  eassert (it->glyph_row == NULL || it->glyph_row->used[TEXT_AREA] == 0);
(gdb) p it->vpos
$5 = 0
(gdb) p it->glyph_row->y
$6 = 0

> The problem seems to be that display_line starts producing glyphs in a
> glyph row which wasn't cleared, i.e. its used[1] counter is non-zero.
> The call to prepare_desired_row at the beginning of display_line is
> supposed to do that, but only if the row->enabled_p flag is reset.
> This flag should be reset for all the glyph rows of the window's
> desired_matrix, because redisplay calls clear_glyph_matrix for
> w->desired_matrix, directly and indirectly, in many places.  Somehow
> in your case either those calls to clear_glyph_matrix are bypassed or
> some code sets the enabled_p flag at some point and doesn't reset it
> before the call to try_window on line 16991 of xdisp.c.  I'm trying to
> establish where does this happen and why.
>
> Just to make sure I'm on the right track: if you make the change
> below, does the problem go away?
>

Yes. Without the patch I ran my eww recipe three times, it crashed
three times. With the patch, I ran it three times in 3 separate
instances of emacs, no crash so far (and I tried a bunch of the magit
related operations as well for good measure, and I'm using the
resulting emacs to send this).

Regards

Robert






  reply	other threads:[~2017-07-14 14:47 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
2017-07-14 11:45                                   ` Robert Pluim
2017-07-14 13:28                                     ` Eli Zaretskii
2017-07-14 14:47                                       ` Robert Pluim [this message]
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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=874luf3wir.fsf@gmail.com \
    --to=rpluim@gmail.com \
    --cc=27668@debbugs.gnu.org \
    --cc=bug-gnu-emacs@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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).