Subject: Re: 25.0.50; build from git crashes on startup

From: Paul Eggert <[email-masked]>
Date: Sun, 26 Jul 2015 13:30:41 -0700

Thanks for the bug report.  From the backtrace it appears that ftfont_close's 
implementation incorrectly assumes that ftfont_close can't be called from the 
garbage collector.  I've installed the attached FIXME comment and am CC'ing 
Kenichi Handa, who's an expert in ftfont.c.
>From bcba2b845e35ebdbaf4d869d1b1a1a065e1c42a3 Mon Sep 17 00:00:00 2001
From: Paul Eggert <[email-masked]>
Date: Sun, 26 Jul 2015 13:23:08 -0700
Subject: [PATCH] * src/ftfont.c (ftfont_close): Add comment re Bug#20890.

---
 src/ftfont.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/ftfont.c b/src/ftfont.c
index b37b404..41d99df 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -1315,6 +1315,10 @@ ftfont_open (struct frame *f, Lisp_Object entity, int pixel_size)
 static void
 ftfont_close (struct font *font)
 {
+  /* FIXME: Although this function can be called while garbage-collecting,
+     the function assumes that Lisp data structures are properly-formed.
+     This invalid assumption can lead to core dumps (Bug#20890).  */
+
   struct ftfont_info *ftfont_info = (struct ftfont_info *) font;
   Lisp_Object val, cache;
 
-- 
2.1.0