Subject: Re: bug#18162: 24.3.92; segfault on null face pointer in face_for_char

From: Ken Raeburn <[email-masked]>
Date: Fri, 1 Aug 2014 04:46:28 -0400

On Aug 1, 2014, at 01:57, Eli Zaretskii <[email-masked]> wrote:
>> c=8230 is HORIZONTAL ELLIPSIS
> 
> Where did the ellipsis character come from?  Did you have some buffer
> shown in that frame that could have used this character?  According to
> the last keys you show below, you were typing into minibuffer, which
> is unlikely to have that character.

icomplete-completions checks to see if the ellipsis character is displayable or if it should use "..." instead. At the point where it does that check, it hasn't decided whether it wants to use an ellipsis yet.

> Sounds like some code called clear_face_cache, for some reason.  Is f
> at all the same frame where you were typing?  If not, the crash could
> have nothing to do with what you typed, but with some background
> activity on another frame.

Yes, the current buffer was showing a source file, and I was navigating to the parent directory, which has multiple entries starting with "mult". That window and the minibuffer window were the only contents of the frame.

There is a fair amount of background activity going on (auto-revert-mode buffers and emacs-jabber, mainly), but the only bit that might've affected the current frame might've been an update to the mode line where I've got an indicator of new jabber messages (in a different face from the default). So I'm not sure what would've cleared the cache.

Ken