From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Emacs 23.1.93 pretest Date: Sat, 27 Feb 2010 15:15:35 +0200 Message-ID: <83pr3qddl4.fsf@gnu.org> References: <87pr3rny7e.fsf@stupidchicken.com> <83fx4n122q.fsf@gnu.org> <833a0ndlo0.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: lo.gmane.org X-Trace: dough.gmane.org 1267276552 30122 80.91.229.12 (27 Feb 2010 13:15:52 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 27 Feb 2010 13:15:52 +0000 (UTC) Cc: cyd@stupidchicken.com, emacs-devel@gnu.org To: Juanma Barranquero Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Feb 27 14:15:44 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1NlMWE-0005Ex-C4 for ged-emacs-devel@m.gmane.org; Sat, 27 Feb 2010 14:15:42 +0100 Original-Received: from localhost ([127.0.0.1]:50261 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NlMWB-00030Z-H3 for ged-emacs-devel@m.gmane.org; Sat, 27 Feb 2010 08:15:39 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NlMW6-00030U-Uv for emacs-devel@gnu.org; Sat, 27 Feb 2010 08:15:34 -0500 Original-Received: from [140.186.70.92] (port=33002 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NlMW4-00030M-Tu for emacs-devel@gnu.org; Sat, 27 Feb 2010 08:15:33 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NlMW3-00089l-LD for emacs-devel@gnu.org; Sat, 27 Feb 2010 08:15:32 -0500 Original-Received: from mtaout22.012.net.il ([80.179.55.172]:34065) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NlMW3-00089Z-5o for emacs-devel@gnu.org; Sat, 27 Feb 2010 08:15:31 -0500 Original-Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0KYI009004SXXJ00@a-mtaout22.012.net.il> for emacs-devel@gnu.org; Sat, 27 Feb 2010 15:15:29 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([84.228.186.130]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0KYI002674TSU4F0@a-mtaout22.012.net.il>; Sat, 27 Feb 2010 15:15:29 +0200 (IST) In-reply-to: X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:121432 Archived-At: > From: Juanma Barranquero > Date: Sat, 27 Feb 2010 13:11:45 +0100 > Cc: cyd@stupidchicken.com, emacs-devel@gnu.org > > w32uniscribe.c:676: Emacs fatal error: assertion failed: CONSP((rest)) > > Breakpoint 1, w32_abort () at w32fns.c:7345 > 7345 button = MessageBox (NULL, > (gdb) bt > #0 w32_abort () at w32fns.c:7345 > #1 0x0104d987 in die (msg=0x1663908 "assertion failed: > CONSP((rest))", file=0x1662008 "w32uniscribe.c", line=676) at > alloc.c:6259 > #2 0x01328ac7 in uniscribe_check_otf (font=0x88d630, > otf_spec=21217310) at w32uniscribe.c:676 > #3 0x01321769 in font_matches_spec (type=4, font=0x88d448, > spec=48831493, backend=48927794, logfont=0x88d630) at w32font.c:1313 > #4 0x01321a43 in add_font_entity_to_list (logical_font=0x88d630, > physical_font=0x88d448, font_type=4, lParam=8968168) at w32font.c:1428 > #5 0x77561f91 in GDI32!D3DKMTGetDeviceState () from > C:\Windows\syswow64\gdi32.dll > #6 0x0088d630 in ?? () > #7 0x0088d448 in ?? () > #8 0x00000004 in ?? () > #9 0x0088d7e8 in ?? () > #10 0x00978d18 in ?? () > #11 0x00978d18 in ?? () > #12 0x00000001 in ?? () > #13 0x00000024 in ?? () > #14 0x0000001a in ?? () > #15 0x0000000a in ?? () > #16 0x00000004 in ?? () > #17 0x00000000 in ?? () Thanks. I get a similar crash, but it isn't an assert violation. Program received signal SIGSEGV, Segmentation fault. 0x0118191d in uniscribe_check_otf (font=0x3, otf_spec=44922882) at w32uniscribe.c:684 684 features[1] = XCAR (rest); otf_spec is nil in my case: (gdb) p otf_spec $1 = 44922882 (gdb) xtype Lisp_Symbol (gdb) xsymbol $2 = (struct Lisp_Symbol *) 0x2ad7800 "nil" But then how come this defense in uniscribe_check_otf did not catch it? /* Check the spec is in the right format. */ if (!CONSP (otf_spec) || Flength (otf_spec) < 3) return 0; Some GC perhaps? See below for the full backtrace. Btw, what version of GDB are you using? It seems like it has some trouble showing a useful backtrace. My GDB is 7.0; if you have anything older, I recommend installing 7.0 from the MinGW site. Here's my backtrace: Program received signal SIGSEGV, Segmentation fault. 0x0118191d in uniscribe_check_otf (font=0x3, otf_spec=44922882) at w32uniscribe.c:684 684 features[1] = XCAR (rest); (gdb) bt #0 0x0118191d in uniscribe_check_otf (font=0x3, otf_spec=44922882) at w32uniscribe.c:684 #1 0x0117d640 in add_font_entity_to_list (logical_font=0x82ca7c, physical_font=0x82c894, font_type=4, lParam=8571968) at w32font.c:1313 #2 0x77f3afb1 in GDI32!CreateFontA () from C:\WINDOWS\system32\gdi32.dll #3 0x77f345be in GetOutlineTextMetricsA () from C:\WINDOWS\system32\gdi32.dll #4 0x77f29f0b in GDI32!EnumFontFamiliesA () from C:\WINDOWS\system32\gdi32.dll #5 0x77f3ead3 in GDI32!EnumFontFamiliesExA () from C:\WINDOWS\system32\gdi32.dll #6 0x0117e5e3 in w32font_list_internal (frame=-8, font_spec=8806376, opentype_only=1) at w32font.c:760 #7 0x01180476 in uniscribe_list (frame=3, font_spec=45038597) at w32uniscribe.c:81 #8 0x010abe27 in font_list_entities (frame=50487301, spec=54573445) at font.c:2926 #9 0x010ac51c in font_find_for_lface (f=0x3003922, attrs=0x307f740, spec=45035776, c=-1) at font.c:3487 #10 0x010d6bb4 in fontset_find_font (fontset=50521093, c=4121, face=0x307f700, id=143, fallback=0) at fontset.c:636 #11 0x010d7387 in fontset_font (fontset=50523141, c=4121, face=0x307f700, id=143) at fontset.c:756 #12 0x010d7971 in font_for_char (face=0x307f700, c=4121, pos=49053658, object=3) at fontset.c:1049 #13 0x010a8fa1 in font_range (pos=417, limit=0x82cfbc, w=0x1019, face=0x307f700, string=44922882) at font.c:3997 #14 0x010e1206 in autocmp_chars (cft_element=417, charpos=416, bytepos=664, limit=432, win=0x3026c00, face=0x3, string=44922882) at composite.c:973 #15 0x010e2722 in composition_reseat_it (cmp_it=0x82deb8, charpos=416, bytepos=664, endpos=3131, w=0x3026c00, face=0x3, string=44922882) at composite.c:1147 #16 0x0101a59e in next_element_from_buffer (it=0x82db00) at xdisp.c:6532 #17 0x01018552 in get_next_display_element (it=0x82db00) at xdisp.c:5675 #18 0x0102397d in display_line (it=0x82db00) at xdisp.c:16570 #19 0x01024ccd in try_window (window=50490373, pos=..., check_margins=1) at xdisp.c:14028 #20 0x0102d5fd in redisplay_window (window=50490373, just_this_one_p=0) at xdisp.c:13651 #21 0x0102e937 in redisplay_window_0 (window=50490373) at xdisp.c:12283 #22 0x01009ed5 in internal_condition_case_1 ( bfun=0x102e90d , arg=50490373, handlers=44907174, hfun=0x101e27c ) at eval.c:1538 #23 0x0101e049 in redisplay_windows (window=49053658) at xdisp.c:12262 #24 0x01030765 in redisplay_internal (preserve_echo_area=3) at xdisp.c:11834 #25 0x0105bed2 in read_char (commandflag=1, nmaps=3, maps=0x82fae0, prev_event=44922882, used_mouse_menu=0x82fb78, end_time=0x0) at keyboard.c:2727 #26 0x0105e332 in read_key_sequence (keybuf=0x82fcb0, bufsize=30, prompt=44922882, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9512 #27 0x01060377 in command_loop_1 () at keyboard.c:1643 #28 0x0100a16a in internal_condition_case (bfun=0x10601cd , handlers=44979418, hfun=0x1059fa1 ) at eval.c:1490 #29 0x0105390a in command_loop_2 () at keyboard.c:1360 #30 0x0100a09f in internal_catch (tag=3, func=0x10538e7 , arg=44922882) at eval.c:1226 #31 0x01053717 in command_loop () at keyboard.c:1339 #32 0x010537b0 in recursive_edit_1 () at keyboard.c:954 #33 0x010538d1 in Frecursive_edit () at keyboard.c:1016 #34 0x01002e2f in main (argc=2, argv=0xa32770) at emacs.c:1833 (gdb)