[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 22.0.50 SEGFAULT
From: |
JD Smith |
Subject: |
Re: 22.0.50 SEGFAULT |
Date: |
Wed, 03 Aug 2005 09:19:18 -0700 |
User-agent: |
Pan/0.14.2.91 (As She Crawled Across the Table) |
On Sun, 31 Jul 2005 01:01:53 +0200, Kim F. Storm wrote:
> JD Smith writes:
>
>
>>>> GNU Emacs 22.0.50.3 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
>>>> of 2005-07-14 on turtle.as.arizona.edu
>
> Sorry, but I cannot see any reason why it fails from the data you sent me.
>
> Something tells me that the gdb output isn't quite right, as the
> references (buffer) object is the same for all of these:
>
> p row->glyphs[area][i-1] (if i > 0)
> p row->glyphs[area][i]
> p row->glyphs[area][i+1]
>
> .. so why would it fail on [i] but not on [i-1].
>
>
> My only suggestion to get to the bottom of this is to build emacs without
> optimizations like this:
>
> /configure "CFLAGS=-g -O0" (that's letter O followed by digit 0). make
>
> [
> alternatively, you can:
> - cd src/
> - edit Makefile changing CFLAGS= line to read CFLAGS=-g -O0 - rm *.o
> - make emacs
> ]
>
> and see if that makes a difference [it could actually result in finding a
> different position of the crash...]
Thanks, Kim. I can confirm that the OBJECT field of basically
everything around the crash position is the same:
(gdb) p row->glyphs[area][0].object
$38 = 145085668
(gdb) p row->glyphs[area][1].object
$39 = 145085668
(gdb) p row->glyphs[area][2].object
$40 = 145085668
(gdb) p row->glyphs[area][3].object
$41 = 145085668
(gdb) p row->glyphs[area][4].object
$42 = 145085668
(gdb) p row->glyphs[area][5].object
$45 = 145085668
(gdb) p row->glyphs[area][6].object
$46 = 145085668
(gdb) p row->glyphs[area][7].object
$47 = 145085668
(gdb) p row->glyphs[area][20].object
$48 = 145085668
(gdb) p row->glyphs[area][25].object
$49 = 145085668
(gdb) p row->glyphs[area][35].object
$50 = 145085668
(gdb) p row->glyphs[area][50].object
$51 = 145085668
I'm not sure if this is significant (or expected in real situations).
The CHARPOS does indeed increment:
(gdb) p row->glyphs[area][4].charpos
$53 = 2518
(gdb) p row->glyphs[area][50].charpos
$54 = 2564
I also don't see why [i-1] succeeds and [i] fails if they point to the
same exact object, and if this stanza is the offender:
((void) 0,(struct Lisp_Vector *)
((int) ((row->glyphs[area][i].object) &
~((((int) 1) << 3) - 1))))->size
I'll rebuild emacs without optimization and see if the crash recurs
and makes more sense this time.
JD
- Re: 22.0.50 SEGFAULT,
JD Smith <=