GNU bug report logs - #18501
24.3.93; OS X; crash in free() when calling macfont_close()

Previous Next

Package: emacs;

Reported by: Jim Radford <radford <at> blackbean.org>

Date: Thu, 18 Sep 2014 21:52:01 UTC

Severity: normal

Found in version 24.3.93

Done: Alan Third <alan <at> idiocy.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>
To: Dmitry Antipov <dmantipov <at> yandex.ru>
Cc: Jim Radford <radford <at> blackbean.org>, 18501 <at> debbugs.gnu.org
Subject: bug#18501: Acknowledgement (24.3.93; OS X; crash in free() when calling macfont_close())
Date: Mon, 22 Sep 2014 18:52:59 +0900
>>>>> On Sat, 20 Sep 2014 05:08:15 +0400, Dmitry Antipov <dmantipov <at> yandex.ru> said:

> On 09/19/2014 10:05 PM, Jim Radford wrote:
>> 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.

> Please try this.

Does this mean each font backend driver should prepare for multiple
"close" calls for a single font object?  Or is this something specific
to OS X?

				     YAMAMOTO Mitsuharu
				mituharu <at> math.s.chiba-u.ac.jp




This bug report was last modified 9 years ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.