bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#5856: 24.0.50; Crash in redisplay


From: Jan Djärv
Subject: bug#5856: 24.0.50; Crash in redisplay
Date: Thu, 08 Apr 2010 08:16:13 +0200
User-agent: Thunderbird 2.0.0.24 (X11/20100317)

Eli Zaretskii skrev:
Date: Wed, 07 Apr 2010 21:11:13 +0200
From: Jan Djärv <jan.h.d@swipnet.se>
Cc:
Sometimes I get a segmentation violation and emacs dies.
I just managed to catch it in the debugger.  Backtrace below (very long,
but instructions says to give bt full),
Let me know if you need more info, I'll keep it in the debugger for a
couple of days.  This is from trunk, updated and built today (Apr 7, 2010).

Program received signal SIGSEGV, Segmentation fault.
0x000000000044d2f1 in set_cursor_from_row (w=0x1378d60, row=0x1fbf550,
     matrix=0x18217a0, delta=0, delta_bytes=0, dy=0, dvpos=0)
     at /home/jhd/src/emacs/fixes/src/xdisp.c:12775
12775     if (!(BUFFERP (glyph->object) && glyph->charpos == pt_old)

Ouch!  My bad, probably.

First, what caused the crash?  I think it's BUFFERP, so please tell
what is glyph->object.


(gdb) whatis glyph->object
type = Lisp_Object
(gdb) p glyph->object
$4 = 8079492959817000301
(gdb) pp glyph->object
#<INVALID_LISP_OBJECT 0x7020200a3b29656d>


Also, can you tell something about what were you doing at the moment
of the crash?  It looks like you were typing in the minibuffer, is
that correct?

It is correct, I did C-x b and typed an x in the minibuffer when the crash occurred. The contents of the minibuffer is two lines.


Finally, what does the GDB command "pgrow" print?


(gdb) pgrow
TEXT: 80 glyphs
  0    0: CHAR[S] pos=1 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  1    7: CHAR[w] pos=2 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  2   14: CHAR[i] pos=3 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  3   21: CHAR[t] pos=4 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  4   28: CHAR[c] pos=5 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  5   35: CHAR[h] pos=6 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  6   42: CHAR[ ] pos=7 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  7   49: CHAR[t] pos=8 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  8   56: CHAR[o] pos=9 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
  9   63: CHAR[ ] pos=10 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 10   70: CHAR[b] pos=11 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 11   77: CHAR[u] pos=12 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 12   84: CHAR[f] pos=13 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 13   91: CHAR[f] pos=14 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 14   98: CHAR[e] pos=15 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 15  105: CHAR[r] pos=16 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 16  112: CHAR[ ] pos=17 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 17  119: CHAR[(] pos=18 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 18  126: CHAR[d] pos=19 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 19  133: CHAR[e] pos=20 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 20  140: CHAR[f] pos=21 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 21  147: CHAR[a] pos=22 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 22  154: CHAR[u] pos=23 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 23  161: CHAR[l] pos=24 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 24  168: CHAR[t] pos=25 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 25  175: CHAR[ ] pos=26 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 26  182: CHAR[x] pos=27 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 27  189: CHAR[s] pos=28 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 28  196: CHAR[e] pos=29 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 29  203: CHAR[t] pos=30 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 30  210: CHAR[t] pos=31 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 31  217: CHAR[i] pos=32 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 32  224: CHAR[n] pos=33 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 33  231: CHAR[g] pos=34 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 34  238: CHAR[s] pos=35 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 35  245: CHAR[.] pos=36 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 36  252: CHAR[h] pos=37 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 37  259: CHAR[)] pos=38 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 38  266: CHAR[:] pos=39 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 39  273: CHAR[ ] pos=40 blev=0,btyp=UNDEF w=7 a+d=11+3 face=27 MB
 40  280: CHAR[x] pos=41 blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 41  287: CHAR[{] str=175f681[0] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 42  294: CHAR[s] str=175f681[1] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 43  301: CHAR[e] str=175f681[2] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 44  308: CHAR[t] str=175f681[3] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 45  315: CHAR[t] str=175f681[4] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 46  322: CHAR[i] str=175f681[5] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 47  329: CHAR[n] str=175f681[6] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 48  336: CHAR[g] str=175f681[7] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 49  343: CHAR[s] str=175f681[8] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 50  350: CHAR[.] str=175f681[9] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 51  357: CHAR[c] str=175f681[10] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 52  364: CHAR[,] str=175f681[11] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 53  371: CHAR[l] str=175f681[12] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 54  378: CHAR[w] str=175f681[13] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 55  385: CHAR[m] str=175f681[14] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 56  392: CHAR[e] str=175f681[15] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 57  399: CHAR[n] str=175f681[16] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 58  406: CHAR[u] str=175f681[17] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 59  413: CHAR[.] str=175f681[18] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 60  420: CHAR[c] str=175f681[19] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 61  427: CHAR[,] str=175f681[20] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 62  434: CHAR[l] str=175f681[21] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 63  441: CHAR[w] str=175f681[22] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 64  448: CHAR[m] str=175f681[23] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 65  455: CHAR[e] str=175f681[24] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 66  462: CHAR[n] str=175f681[25] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 67  469: CHAR[u] str=175f681[26] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 68  476: CHAR[P] str=175f681[27] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 69  483: CHAR[.] str=175f681[28] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 70  490: CHAR[h] str=175f681[29] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 71  497: CHAR[,] str=175f681[30] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 72  504: CHAR[f] str=175f681[31] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 73  511: CHAR[n] str=175f681[32] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 74  518: CHAR[s] str=175f681[33] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 75  525: CHAR[.] str=175f681[34] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 76  532: CHAR[c] str=175f681[35] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 77  539: CHAR[,] str=175f681[36] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 78  546: CHAR[t] str=175f681[37] blev=0,btyp=UNDEF w=7 a+d=11+3 MB
 79  553: CHAR[e] str=175f681[38] blev=0,btyp=UNDEF w=7 a+d=11+3 MB


Oh, btw: is this an optimized or an unoptimized build?

Unoptimized.


(gdb) p *glyph
$3 = {
   charpos = 7589819289523352181,
   object = 8079492959817000301,
   pixel_width = 26991,
   ascent = 29806,
   descent = 29285,
   voffset = 26463,
   type = 2,
   multibyte_p = 0,
   left_box_line_p = 0,
   right_box_line_p = 1,
   overlaps_vertically_p = 1,
   padding_p = 1,
   glyph_not_available_p = 0,
   avoid_cursor_p = 1,
   resolved_level = 16,
   bidi_type = 1,

Hmm?.. looks like a garbled glyph structure...

Indeed.

        Jan D.








reply via email to

[Prev in Thread] Current Thread [Next in Thread]