From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Antipov Newsgroups: gmane.emacs.bugs Subject: bug#16127: 24.3.50; emacs crashes with macfont_free_entity Date: Fri, 13 Dec 2013 10:40:36 +0400 Message-ID: <52AAABE4.4020203@yandex.ru> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------000601050002000501060601" X-Trace: ger.gmane.org 1386916876 21755 80.91.229.3 (13 Dec 2013 06:41:16 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 13 Dec 2013 06:41:16 +0000 (UTC) Cc: 16127@debbugs.gnu.org To: Darren Hoo Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Dec 13 07:41:21 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VrMR6-0000zW-9U for geb-bug-gnu-emacs@m.gmane.org; Fri, 13 Dec 2013 07:41:20 +0100 Original-Received: from localhost ([::1]:40344 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VrMR5-00009e-Rn for geb-bug-gnu-emacs@m.gmane.org; Fri, 13 Dec 2013 01:41:19 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52454) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VrMQw-00009D-2o for bug-gnu-emacs@gnu.org; Fri, 13 Dec 2013 01:41:17 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VrMQp-0007nv-4g for bug-gnu-emacs@gnu.org; Fri, 13 Dec 2013 01:41:10 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:60684) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VrMQo-0007nr-UY for bug-gnu-emacs@gnu.org; Fri, 13 Dec 2013 01:41:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1VrMQo-0005vT-AH for bug-gnu-emacs@gnu.org; Fri, 13 Dec 2013 01:41:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Antipov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 13 Dec 2013 06:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 16127 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 16127-submit@debbugs.gnu.org id=B16127.138691684522749 (code B ref 16127); Fri, 13 Dec 2013 06:41:02 +0000 Original-Received: (at 16127) by debbugs.gnu.org; 13 Dec 2013 06:40:45 +0000 Original-Received: from localhost ([127.0.0.1]:46470 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrMQV-0005uq-P9 for submit@debbugs.gnu.org; Fri, 13 Dec 2013 01:40:44 -0500 Original-Received: from forward7l.mail.yandex.net ([84.201.143.140]:38079) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VrMQR-0005ub-Bm for 16127@debbugs.gnu.org; Fri, 13 Dec 2013 01:40:40 -0500 Original-Received: from smtp12.mail.yandex.net (smtp12.mail.yandex.net [95.108.131.191]) by forward7l.mail.yandex.net (Yandex) with ESMTP id D09F3BC0D20; Fri, 13 Dec 2013 10:40:37 +0400 (MSK) Original-Received: from smtp12.mail.yandex.net (localhost [127.0.0.1]) by smtp12.mail.yandex.net (Yandex) with ESMTP id 7819C16A0795; Fri, 13 Dec 2013 10:40:37 +0400 (MSK) Original-Received: from unknown (unknown [37.139.80.10]) by smtp12.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id 7YRiDQ1sUG-eaBeGRpR; Fri, 13 Dec 2013 10:40:37 +0400 (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (Client certificate not present) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1386916837; bh=kwmzYou9LA3YiZG8cqsEumyLN2vLioKnUosiWapB9P8=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type; b=hxttWqoXONfsufB7+/taA+PPTFpDzkIZuFkPI1Eq2YFkISSyfK7bZmm3EtW5uBu27 6BmoTlI1O8kzE8Zq96dBzVU7muNNmK9qqt2h/kbpco/ZHV6YrqlyoJj5ilBsehmcWB 3X57Pdgasy+8uHXVcmpz3GvPA+ZOqNHClfX4gjmI= Authentication-Results: smtp12.mail.yandex.net; dkim=pass header.i=@yandex.ru User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:81850 Archived-At: This is a multi-part message in MIME format. --------------000601050002000501060601 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 12/13/2013 06:46 AM, Darren Hoo wrote: > Process 17619 launched: '/Volumes/disk/emacs/src/emacs' (x86_64) > Process 17619 stopped > * thread #1: tid = 0x1f0644, 0x00000001001ac8cb emacs`macfont_free_entity [inlined] XCDR(c=9053142519906304, obj=9053142519906304, n=0) + 4 at lisp.h:2007, queue = 'com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) > frame #0: 0x00000001001ac8cb emacs`macfont_free_entity [inlined] XCDR(c=9053142519906304, obj=9053142519906304, n=0) + 4 at lisp.h:2007 > 2004 XSAVE_POINTER (Lisp_Object obj, int n) > 2005 { > 2006 eassert (save_type (XSAVE_VALUE (obj), n) == SAVE_POINTER); > -> 2007 return XSAVE_VALUE (obj)->data[n].pointer; > 2008 } > 2009 INLINE void > 2010 set_save_pointer (Lisp_Object obj, int n, void *val) Hm...double call to macfont_free_entity for the same entity? Can you compile with --enable-checking and this patch? Dmitry --------------000601050002000501060601 Content-Type: text/x-patch; name="test_bug16127.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="test_bug16127.patch" === modified file 'src/macfont.m' --- src/macfont.m 2013-12-12 14:26:06 +0000 +++ src/macfont.m 2013-12-13 06:37:01 +0000 @@ -2435,11 +2435,14 @@ { Lisp_Object val = assq_no_quit (QCfont_entity, AREF (entity, FONT_EXTRA_INDEX)); - CFStringRef name = XSAVE_POINTER (XCDR (val), 0); + if (CONSP (val) && SAVE_VALUE_P (XCDR (val))) + { + CFStringRef name = XSAVE_POINTER (XCDR (val), 0); - block_input (); - CFRelease (name); - unblock_input (); + block_input (); + CFRelease (name); + unblock_input (); + } } static Lisp_Object --------------000601050002000501060601--