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

From: Eli Zaretskii <[email-masked]>
Date: Sat, 02 Aug 2014 09:49:34 +0300

> Date: Fri, 1 Aug 2014 21:52:44 -0400
> From: Ken Raeburn <[email-masked]>
> Cc: 18162 <[email-masked]>
> 
> On Fri, Aug 1, 2014 at 1:57 AM, Eli Zaretskii <[email-masked]> wrote:
> 
> > 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.
> >
> 
> I just ran Emacs a while under gdb, and it called clear_face_cache while I
> wasn't doing anything interesting, just typing into a buffer. It happened
> from in redisplay_internal when clear_face_cache_count reached 501. Its
> documentation says it's used to "clear the face cache every once in a
> while".

There's nothing wrong with a call to clear_face_cache.  We do this all
the time, as you have discovered.  The problem is if we try using
faces after that without first realizing the basic faces.