Subject: 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 12:17:33 +0200

Eli Zaretskii <[email-masked]> writes:

>> From: Rainer M Krug <[email-masked]>
>> Cc: [email-masked],  [email-masked]
>> Date: Tue, 29 Sep 2015 10:52:42 +0200
>> 
>> > In this same frame #2, what does this produce:
>> >
>> >   (gdb) p prop
>> >   (gdb) xtype
>> >
>> > If the last command says "Lisp_String", follow it with "xstring"; if
>> > it says "Lisp_Cons", follow it with "xcar" and "xsymbol".
>> 
>> ,----
>> | (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 prop
>> | $16 = 4591275764
>> | (gdb) xtype
>> | Lisp_String
>> | (gdb) xstring
>> | $17 = (struct Lisp_String *) 0x111a94ef0
>> | "* "
>> | (gdb)
>> `----
>
> OK, for now just add GET_FROM_IMAGE to the assertion, like this:
>
>   eassert (it->method == GET_FROM_BUFFER
> 	   || it->method == GET_FROM_DISPLAY_VECTOR
> 	   || it->method == GET_FROM_STRING
> 	   || it->method == GET_FROM_IMAGE);
>
> recompile,

Done

> and see if this gets you past the crashes in
> push_prefix_prop when those inhibit-* variables are set to t.

OK

> If it does, then let's see if running with those inhibit-* variables
> set to t can trigger the crashes due to invalid face ID in
> get_glyph_face_and_encoding.

I assume you mean here to set them to NILL?

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