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

From: Eli Zaretskii <[email-masked]>
Date: Tue, 29 Sep 2015 13:50:28 +0300

> From: Rainer M Krug <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Tue, 29 Sep 2015 12:17:33 +0200
> 
> > 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?

No, I mean continue running with them set to t, and see if the crashes
in get_glyph_face_and_encoding are prevented by disabling these
redisplay optimizations.

IOW, if the assertion violation in push_prefix_prop is no longer in
the way, let's go back to our plan of trying to figure out which
redisplay optimizations cause the crashes in
get_glyph_face_and_encoding: first run with all optimizations
disabled, and if that avoids the crashes in
get_glyph_face_and_encoding, re-enable the optimizations one by one to
see which one reintroduces the crashes.

The assertion violations in push_prefix_prop are a separate issue,
unrelated to the original problem we are trying to solve.  It just
distracted us for a while, because you were unable to run without
hitting them.

Thanks.