all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Elias Pipping <pipping.elias@googlemail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 6031@debbugs.gnu.org
Subject: bug#6031: gcc 4.5 breaks optimized builds of emacs
Date: Tue, 27 Apr 2010 00:41:21 +0200	[thread overview]
Message-ID: <g2y5bd988b41004261541q5a857333r9ada7bfbf4945b00@mail.gmail.com> (raw)
In-Reply-To: <83r5m3zeye.fsf@gnu.org>

On Sun, Apr 25, 2010 at 6:15 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Elias Pipping <pipping.elias@googlemail.com>
>> Date: Sun, 25 Apr 2010 16:56:20 +0200
>> Cc: 6031@debbugs.gnu.org
>>
>> (gdb) p text
>> $1 = (struct glyph *) 0x1163000
>> (gdb) p end
>> $2 = (struct glyph *) 0x7ffff73525fa
>
> Hmm... `end' looks entirely bogus to me...  It should have been much
> smalle.  Can you set a watchpoint at the address of row->glyphs[3],
> and see who puts there a non-null value?  Here's how to do that:
>
>   In the crashed session:
>   (gdb) p &row->glyphs[3]
>   $1 = (struct glyph **) 0x12345678
>
>   Start a new session:
>   gdb ./emacs
>   (gdb) start -Q -nw
>   (gdb) watch *(struct glyph **) 0x12345678
>   (gdb) continue
>
> 0x12345678 is of course just an example, you will actually see some
> other value.

(after quite a couple of changes to it):

Hardware watchpoint 2: *(struct glyph **) 0x1126868

Old value = (struct glyph *) 0xa35312d39353838
New value = (struct glyph *) 0x0
0x00007ffff7639f58 in memset () from /lib/libc.so.6
(gdb)

after that, before the watchpoint is hit again, the segfault occurs.

> You should see one change of the value here (line 673 in dispnew.c):
>
>      matrix->rows = (struct glyph_row *) xrealloc (matrix->rows, size);
>      bzero (matrix->rows + matrix->rows_allocated,
>             new_rows * sizeof *matrix->rows);
>
> The value should change to a NULL pointer.  You should then see
> another change in the loop which starts on line 697 in dispnew.c:
>
>      for (i = 0; i < dim.height; ++i)
>
> The value should change from a NULL pointer to something non-null.
>
> There should be some more similar changes.  Please see which one of
> them puts the bogus value 0x7ffff73525fa or some such there.
>
> Thanks.

Kind regards,

Elias






  reply	other threads:[~2010-04-26 22:41 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-24 23:44 bug#6031: gcc 4.5 breaks optimized builds of emacs Elias Pipping
2010-04-25  3:07 ` Dan Nicolaescu
2010-04-25 11:12   ` Elias Pipping
2010-04-25 13:33 ` Eli Zaretskii
2010-04-25 14:56   ` Elias Pipping
2010-04-25 16:15     ` Eli Zaretskii
2010-04-26 22:41       ` Elias Pipping [this message]
2010-04-25 18:32 ` Chong Yidong
2010-04-26 15:40   ` Elias Pipping
2010-04-26 17:40     ` Eli Zaretskii
2010-04-26 22:12     ` Elias Pipping
2010-04-26 20:17 ` bug#6031: Emacs 23.1 breaks with gcc 4.5 and -foptimize-sibling-calls Ulrich Mueller
2010-04-26 21:09   ` Dan Nicolaescu
2010-04-27 11:26 ` bug#6031: gcc 4.5 breaks optimized builds of emacs Ulrich Mueller
2010-04-27 15:37   ` Chong Yidong

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=g2y5bd988b41004261541q5a857333r9ada7bfbf4945b00@mail.gmail.com \
    --to=pipping.elias@googlemail.com \
    --cc=6031@debbugs.gnu.org \
    --cc=eliz@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.