all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Christoph Scholtes <cschol2112@googlemail.com>
Cc: 10035@debbugs.gnu.org
Subject: bug#10035: Crash in check_x_frame in w32fns.c
Date: Mon, 14 Nov 2011 05:55:26 +0200	[thread overview]
Message-ID: <83zkfze4sx.fsf@gnu.org> (raw)
In-Reply-To: <4EC02EC2.8060703@gmail.com>

> Date: Sun, 13 Nov 2011 13:55:30 -0700
> From: Christoph Scholtes <cschol2112@googlemail.com>
> CC: 10035@debbugs.gnu.org
> 
> On 11/13/2011 1:21 PM, Eli Zaretskii wrote:
> 
> > Sorry, I meant to type this in frame #2, where a and be are arguments
> > of the function row_equal_p:
> >
> >> #2  0x010ee0d5 in row_equal_p (a=0x10dc2158, b=0x10d97158, mouse_face_p=1)
> >>       at dispnew.c:398
> 
> (gdb) p a->enabled_p
> $2 = 1
> (gdb) p b->enabled_p
> $3 = 1

Good.  Now let's see what are these two glyph rows:

 (gdb) prowx a
 (gdb) prowx b
 (gdb) pgrowx a
 (gdb) pgrowx b

The last two commands will display all the display elements
(characters, references to images and display strings, etc.) in each
glyph row.  Assuming it is not a total garbage, please try to describe
what happened on the screen around these glyph rows (== screen lines).

A bit of a background: scrolling_window, the function that called
row_equal_p, is comparing the previous and the new contents of a
window, trying to figure out which screen lines need to be redrawn and
which can be reused from the previous redisplay cycle.  row_equal_p is
the comparison function.  So one of the glyph rows should be from the
window before some update, the other glyph row is from the new
contents of the window.  They could be identical or they could be
different.

> >    #2  0x010ee0d5 in row_equal_p (a=0x10dc2158, b=0x10d97158, mouse_face_p=1)
> >         at dispnew.c:398
> >    #3  0x010f490f in scrolling_window (w=0x10d96000, header_line_p=0)
> >         at dispnew.c:398
> >    #4  0x010f30fe in update_window (w=0x10d96000, force_p=1) at dispnew.c:398
> >    #5  0x010f27fe in update_window_tree (w=0x10d96000, force_p=1)
> >         at dispnew.c:398
> >    #6  0x010f27d7 in update_window_tree (w=0x10d72200, force_p=1)
> >         at dispnew.c:398
> >    #7  0x010f254d in update_frame (f=0x3a24e00, force_p=1, inhibit_hairy_id_p=0)
> >         at dispnew.c:398
> >
> > We are obviously very smart if we succeeded to squeeze all these
> > functions into a single source line ;-)
> 
> Interesting. I didn't notice that.
> 
> > What version of GCC is that?
> 
> tdm-gcc 4.6.1

If this is an unoptimized build, this shouldn't happen, and perhaps
it's a compiler bug.  Or maybe GCC 4.6 does some optimizations even
with -O0.





      reply	other threads:[~2011-11-14  3:55 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-13 15:29 bug#10035: Crash in check_x_frame in w32fns.c Christoph Scholtes
2011-11-13 17:18 ` Eli Zaretskii
2011-11-13 20:04   ` Christoph Scholtes
2011-11-13 20:21     ` Eli Zaretskii
2011-11-13 20:42       ` Juanma Barranquero
2011-11-14  3:56         ` Eli Zaretskii
2011-11-14  8:57           ` Juanma Barranquero
2011-11-14 11:23             ` Eli Zaretskii
2011-11-14 11:44               ` Juanma Barranquero
2011-11-14 13:35                 ` Eli Zaretskii
2011-11-14 14:29                   ` Juanma Barranquero
2011-11-14 15:46                     ` Juanma Barranquero
2011-11-14 17:19                       ` Eli Zaretskii
2011-11-14 17:08                     ` Eli Zaretskii
2011-11-14 17:20                       ` Juanma Barranquero
2011-11-14 17:32                         ` Juanma Barranquero
2011-11-14 17:41                       ` Juanma Barranquero
2011-11-14 19:43                         ` Eli Zaretskii
2011-11-14 20:18                           ` Eli Zaretskii
2011-11-14 21:07                             ` Juanma Barranquero
2011-11-15  0:43                               ` Christoph Scholtes
2011-11-15  3:48                                 ` Eli Zaretskii
2011-11-15 17:12                                   ` Juanma Barranquero
2011-11-15 18:00                                     ` Eli Zaretskii
2011-11-15 19:19                                       ` Juanma Barranquero
2011-11-15 20:20                                         ` Eli Zaretskii
2011-11-15 20:28                                           ` Juanma Barranquero
2011-11-16  3:45                                             ` Eli Zaretskii
2011-11-16 23:13                                             ` Juanma Barranquero
2011-11-17  3:56                                               ` Eli Zaretskii
2011-11-18  4:17                                                 ` Christoph Scholtes
2011-11-18  7:08                                                   ` Eli Zaretskii
2011-11-18 12:27                                                 ` Eli Zaretskii
2011-11-18 13:00                                                   ` Juanma Barranquero
2011-11-13 20:55       ` Christoph Scholtes
2011-11-14  3:55         ` Eli Zaretskii [this message]

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=83zkfze4sx.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=10035@debbugs.gnu.org \
    --cc=cschol2112@googlemail.com \
    /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.