Subject: Re: bug#21428: 24.5; Crash of emacs on OS X, installed via homebrew cask

From: Rainer M Krug <[email-masked]>
Date: Tue, 29 Sep 2015 10:01:56 +0200

Eli Zaretskii <[email-masked]> writes:

>> From: Rainer M Krug <[email-masked]>
>> Cc: [email-masked],  [email-masked]
>> Date: Tue, 29 Sep 2015 08:58:47 +0200
>> 
>> I did the following to get the value of it->method - is this correct?
>> 
>> ,----
>> | (gdb) fram 2
>> | #2  0x000000010008e4e6 in push_prefix_prop (it=0x7fff5fbf7f18, prop=4591275764) at xdisp.c:19809
>> | 19809	  eassert (it->method == GET_FROM_BUFFER
>> | (gdb) print it->method
>> | $1 = GET_FROM_IMAGE
>> | (gdb)
>> `----
>
> Yes, this is correct (and the result is rather surprising).
>
>> I'll leave the session open - please let me know what you need.
>
> Please show the results of these commands:
>
>   (gdb) p it->sp
>   (gdb) p it->stack[it->sp - 1].method
>   (gdb) p it->stack[it->sp - 1].current
>
> If it->sp is greater than 1, repeat the last 2 commands for the values
> it->sp - 2, it->sp - 3, etc.

Nope - it is 1:

,----
| (gdb) frame 2
| #2  0x000000010008e4e6 in push_prefix_prop (it=0x7fff5fbf7f18, prop=4591275764) at xdisp.c:19809
| 19809	  eassert (it->method == GET_FROM_BUFFER
| (gdb) p it->sp
| $5 = 1
| (gdb) p it->stack[it->sp - 1].method
| $6 = GET_FROM_BUFFER
| (gdb) p it->stack[it->sp - 1].current
| $7 = {
|   pos = {
|     charpos = 175,
|     bytepos = 175
|   },
|   overlay_string_index = -1,
|   string_pos = {
|     charpos = -1,
|     bytepos = -1
|   },
|   dpvec_index = -1
| }
| (gdb)
`----

>
>   (gdb) pgrowx it->glyph_row
>   (gdb) p it->object
>   (gdb) xtype

OK

,----
| (gdb) pgrowx it->glyph_row
| (gdb)  p it->object
| $8 = 4590394133
| (gdb) xtype
| Lisp_Vectorlike
| PVEC_BUFFER
| (gdb)
`----

>
> If the last command says "Lisp_String", follow it with
>
>   (gdb) xstring

And just to be sure

,----
| (gdb) xstring
| $9 = (struct Lisp_String *) 0x1119bdb10
| 0
| (gdb)
`----

Rainer

> Thanks.

-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :       +33 - (0)9 53 10 27 44
Cell:       +33 - (0)6 85 62 59 98
Fax :       +33 - (0)9 58 10 27 44

Fax (D):    +49 - (0)3 21 21 25 22 44

email:      [email-masked]

Skype:      RMkrug

PGP: 0x0F52F982