Subject: Re: bug#18501: Acknowledgement (24.3.93; OS X; crash in free() when calling macfont_close())

From: Jim Radford <[email-masked]>
Date: Fri, 19 Sep 2014 11:05:28 -0700

Here are the two calls that free the font:

    frame #1: 0x00000001001c5ffd Emacs`macfont_close(font=0x0000000105c2a8c0) + 13 at macfont.m:2621
    frame #2: 0x000000010014de80 Emacs`font_clear_cache(f=<unavailable>, cache=<unavailable>, driver=<unavailable>) + 304 at font.c:2620

    frame #1: 0x00000001001c5ffd Emacs`macfont_close(font=0x0000000105c2a8c0) + 13 at macfont.m:2621
    frame #2: 0x000000010011be9d Emacs`Fgarbage_collect [inlined] cleanup_vector + 38 at alloc.c:2935

Notice that the pointer is the same in both cases.  Both cleanup_vector() and font_clear_cache() call

    drv->close(font)

It seems that font_clear_cache is leaving the font around for the GC to clean up (a second time) later.