From unknown Tue Jun 17 20:27:50 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#15405 <15405@debbugs.gnu.org> To: bug#15405 <15405@debbugs.gnu.org> Subject: Status: 24.3; #[] freezes emacs Reply-To: bug#15405 <15405@debbugs.gnu.org> Date: Wed, 18 Jun 2025 03:27:50 +0000 retitle 15405 24.3; #[] freezes emacs reassign 15405 emacs submitter 15405 Leo Liu severity 15405 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 17 21:51:18 2013 Received: (at submit) by debbugs.gnu.org; 18 Sep 2013 01:51:18 +0000 Received: from localhost ([127.0.0.1]:45230 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VM6vG-0008QA-5W for submit@debbugs.gnu.org; Tue, 17 Sep 2013 21:51:18 -0400 Received: from eggs.gnu.org ([208.118.235.92]:35664) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VM6vD-0008Pu-Ul for submit@debbugs.gnu.org; Tue, 17 Sep 2013 21:51:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VM6v0-0005Ls-BS for submit@debbugs.gnu.org; Tue, 17 Sep 2013 21:51:10 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:53217) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VM6v0-0005Lk-7t for submit@debbugs.gnu.org; Tue, 17 Sep 2013 21:51:02 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37271) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VM6ur-00054K-Mn for bug-gnu-emacs@gnu.org; Tue, 17 Sep 2013 21:51:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VM6uj-0005ER-9v for bug-gnu-emacs@gnu.org; Tue, 17 Sep 2013 21:50:53 -0400 Received: from mail-pd0-x22c.google.com ([2607:f8b0:400e:c02::22c]:37546) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VM6uj-0005Dq-2d for bug-gnu-emacs@gnu.org; Tue, 17 Sep 2013 21:50:45 -0400 Received: by mail-pd0-f172.google.com with SMTP id z10so6404524pdj.3 for ; Tue, 17 Sep 2013 18:50:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:mime-version:content-type; bh=RT0nOL+lxmeYJjOREN4fH1Ko77PYUvx/mhp9q785ET0=; b=annLUjRF+WrmYIbmsQg4n0tCn1meyduFSQrjLMem2bVbAxfaqr4fd3/oWXelK9l1ON cj3iZn1JZcD6cOV1m2sT8Gz8wOF1xfC46bzgmz4Dnf5ONfTYOuVxomO+F5ibjgu3Ufi7 Ol7ilaMqSk5jQ5gFIMFtY6UTfY/83RkZ3/szUDYYjRkZRBVJ6JcarjYosBQaWSUndFdf nEdNbsqBG9ZOyTpvSHYOcvOjZmfUl3zfcoTSpYwKsZwsHZ9zoUpSN99yXFxEwCGyuahO w2iFFx/wm/VrXaGFe5QJeLplfDs7LCYBHoUUOZScGSYhXc1rozn0TwpZAhDu2vFdTSGK A4ng== X-Received: by 10.66.25.205 with SMTP id e13mr169017pag.180.1379469043662; Tue, 17 Sep 2013 18:50:43 -0700 (PDT) Received: from localhost ([221.222.156.166]) by mx.google.com with ESMTPSA id pu5sm911546pac.21.1969.12.31.16.00.00 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Tue, 17 Sep 2013 18:50:43 -0700 (PDT) From: Leo Liu To: bug-gnu-emacs@gnu.org Subject: 24.3; #[] freezes emacs Date: Wed, 18 Sep 2013 09:50:36 +0800 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) 1. M-: #[] RET 2. M-: #[] RET Emacs frozen. From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 18 03:24:02 2013 Received: (at 15405) by debbugs.gnu.org; 18 Sep 2013 07:24:02 +0000 Received: from localhost ([127.0.0.1]:45648 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMC7F-0000xK-A5 for submit@debbugs.gnu.org; Wed, 18 Sep 2013 03:24:01 -0400 Received: from cantor2.suse.de ([195.135.220.15]:58285 helo=mx2.suse.de) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMC7C-0000xB-CW for 15405@debbugs.gnu.org; Wed, 18 Sep 2013 03:23:59 -0400 Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 9B2BBA5386; Wed, 18 Sep 2013 09:23:57 +0200 (CEST) From: Andreas Schwab To: Leo Liu Subject: Re: bug#15405: 24.3; #[] freezes emacs References: X-Yow: HUGH BEAUMONT died in 1982!! Date: Wed, 18 Sep 2013 09:23:57 +0200 In-Reply-To: (Leo Liu's message of "Wed, 18 Sep 2013 09:50:36 +0800") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -5.7 (-----) X-Debbugs-Envelope-To: 15405 Cc: 15405@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.7 (-----) Leo Liu writes: > 1. M-: #[] RET > 2. M-: #[] RET > > Emacs frozen. I cannot reproduce that. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 18 10:36:46 2013 Received: (at 15405) by debbugs.gnu.org; 18 Sep 2013 14:36:46 +0000 Received: from localhost ([127.0.0.1]:46755 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMIs1-0004ib-8m for submit@debbugs.gnu.org; Wed, 18 Sep 2013 10:36:46 -0400 Received: from mail-wi0-f176.google.com ([209.85.212.176]:35399) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMIry-0004iM-VD for 15405@debbugs.gnu.org; Wed, 18 Sep 2013 10:36:43 -0400 Received: by mail-wi0-f176.google.com with SMTP id cb5so6506306wib.9 for <15405@debbugs.gnu.org>; Wed, 18 Sep 2013 07:36:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=sYGgnEpHIpNZxIgqyUowg6t8q8uqaTwPf/8az0Hn1c0=; b=vvyJ6vfgC4c9tyxdo43ifuPyym4cKes8BbP+N9y29iTP6Eq0qDZf59kmly/J41/cfw dpjK0fDjBu1OOw/hx6DQp+844PHBRiaemj0cM2Y+gcsN9IrbJGaQTLPOAB9lDr7sjikM HC5ZmR+O9HzGSuSe/a8u/2tGxs8N/unmQVMsC0CgLyVHM+kPlarAhsVkIM+woG8cYAZN hq1R7tzGjcALd8qET+L58T+FdDcSUA48844LEmODY22DGmt//+W4ZVwhT3Li0qfxVZA1 Fo5RdayyQyOAMk7/VbCyVUyLmqD5TW14HG2cJRvHNf4X64m0W0KTWxlFhYfphQeKt76X zUhA== MIME-Version: 1.0 X-Received: by 10.194.3.78 with SMTP id a14mr107655wja.77.1379514996231; Wed, 18 Sep 2013 07:36:36 -0700 (PDT) Received: by 10.194.234.234 with HTTP; Wed, 18 Sep 2013 07:36:36 -0700 (PDT) Date: Wed, 18 Sep 2013 10:36:36 -0400 Message-ID: Subject: bug#15405: 24.3; #[] freezes emacs From: Barry OReilly To: sdl.web@gmail.com, 15405@debbugs.gnu.org Content-Type: multipart/alternative; boundary=047d7b343d6a50145a04e6a95d3f X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15405 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --047d7b343d6a50145a04e6a95d3f Content-Type: text/plain; charset=ISO-8859-1 I didn't witness a freeze, but I opened emacs -Q, did M-: #[] twice, moved point around without a problem, then did C-x 3 and Emacs core dumped. Core was generated by `emacs --reverse-video -Q'. Program terminated with signal 11, Segmentation fault. #0 0x00000031cfc0e7fd in raise () from /lib64/libpthread.so.0 (gdb) bt #0 0x00000031cfc0e7fd in raise () from /lib64/libpthread.so.0 #1 0x00000000004d0e35 in terminate_due_to_signal (sig=11, backtrace_limit=40) at emacs.c:369 #2 0x00000000004ea6fe in handle_fatal_signal (sig=11227) at sysdep.c:1626 #3 0x00000000004eaab3 in deliver_thread_signal (sig=11) at sysdep.c:1600 #4 deliver_fatal_thread_signal (sig=11) at sysdep.c:1638 #5 #6 0x0000000000554a72 in AREF (f=0x11093b0, spec=11925893) at lisp.h:1170 #7 font_delete_unmatched (f=0x11093b0, spec=11925893) at font.c:2624 #8 font_list_entities (f=0x11093b0, spec=11925893) at font.c:2747 #9 0x0000000000558574 in font_find_for_lface (f=0x11093b0, attrs=0x7fff12382d00, spec=11845218, c=-1) at font.c:3206 #10 0x0000000000558a6b in font_load_for_lface (f=0x8091c5, attrs=0xb8c2f2, spec=8425920) at font.c:3276 #11 0x00000000004a1882 in realize_x_face (cache=0xd8eb80, attrs=0x7fff12382d00, former_face_id=) at xfaces.c:5529 #12 realize_face (cache=0xd8eb80, attrs=0x7fff12382d00, former_face_id=) at xfaces.c:5422 #13 0x00000000004a2661 in lookup_face (f=, attr=0x7fff12382d00) at xfaces.c:4411 #14 0x00000000004a36b1 in face_at_string_position (w=, string=, pos=, bufpos=0, region_beg=-1, region_end=-1, endptr=0x7fff12382e10, base_face_id=MODE_LINE_INACTIVE_FACE_ID, mouse_p=0) at xfaces.c:6194 #15 0x000000000044688c in display_string (string=0xb533e8 "*scratch*", lisp_string=11874225, face_string=15529169, face_string_pos=1, start=, it=0x7fff12383050, field_width=12, precision=-8, max_x=, multibyte=0) at xdisp.c:22278 #16 0x0000000000446f3c in display_mode_element (it=0x7fff12383050, depth=4, field_width=0, precision=-8, elt=, props=11845218, risky=0) at xdisp.c:21031 #17 0x0000000000447570 in display_mode_element (it=0x7fff12383050, depth=3, field_width=0, precision=-8, elt=, props=11845218, risky=0) at xdisp.c:21203 #18 0x0000000000447570 in display_mode_element (it=0x7fff12383050, depth=1, field_width=0, precision=0, elt=, props=11845218, risky=0) at xdisp.c:21203 #19 0x0000000000447e44 in display_mode_line (w=, face_id=MODE_LINE_INACTIVE_FACE_ID, format=15394390) at xdisp.c:20720 #20 0x0000000000448120 in display_mode_lines (w=0x1140870) at xdisp.c:20665 #21 0x0000000000453710 in redisplay_window (window=18090101, just_this_one_p=0) at xdisp.c:16104 #22 0x0000000000456ad6 in redisplay_window_0 (window=8425925) at xdisp.c:13800 #23 0x0000000000541e33 in internal_condition_case_1 (bfun=0x456ab0 , arg=18090101, handlers=12055734, hfun=0x425e60 ) at eval.c:1376 #24 0x000000000043275d in redisplay_windows (window=12108530) at xdisp.c:13780 #25 0x0000000000432724 in redisplay_windows (window=12108530) at xdisp.c:13774 #26 0x00000000004579ca in redisplay_internal () at xdisp.c:13393 #27 0x00000000004debaa in read_char (commandflag=1, map=20004342, prev_event=11845218, used_mouse_menu=0x7fff123894ef, end_time=0x0) at keyboard.c:2551 #28 0x00000000004e0381 in read_key_sequence (keybuf=0x7fff12389550, bufsize=30, prompt=11845218, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true) at keyboard.c:9057 #29 0x00000000004e1fc7 in command_loop_1 () at keyboard.c:1434 #30 0x0000000000541cde in internal_condition_case (bfun=0x4e1d40 , handlers=11904962, hfun=0x4d9110 ) at eval.c:1339 #31 0x00000000004d929a in command_loop_2 (ignore=) at keyboard.c:1161 #32 0x0000000000541b9b in internal_catch (tag=, func=0x4d9280 , arg=11845218) at eval.c:1113 #33 0x00000000004d8660 in command_loop () at keyboard.c:1140 #34 recursive_edit_1 () at keyboard.c:779 #35 0x00000000004d9f86 in Frecursive_edit () at keyboard.c:843 #36 0x00000000004d1b0d in main (argc=, argv=0x7fff12389b28) at emacs.c:1570 (gdb) This was a build of commit d6daa95f46bf36fc4428b511040d97153a6f8dab of the Savannah Git repo, dated Aug 30. --047d7b343d6a50145a04e6a95d3f Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
I didn't witness a freeze, but I opened emacs -Q, did = M-: #[] twice,
moved point around without a problem, then did C-x 3 and = Emacs core
dumped.

Core was generated by `emacs --reverse-video -= Q'.
Program terminated with signal 11, Segmentation fault.
#0=A0 0x00000031c= fc0e7fd in raise () from /lib64/libpthread.so.0
(gdb) bt
#0=A0 0x0000= 0031cfc0e7fd in raise () from /lib64/libpthread.so.0
#1=A0 0x00000000004= d0e35 in terminate_due_to_signal (sig=3D11, backtrace_limit=3D40) at emacs.= c:369
#2=A0 0x00000000004ea6fe in handle_fatal_signal (sig=3D11227) at sysdep.c:1= 626
#3=A0 0x00000000004eaab3 in deliver_thread_signal (sig=3D11) at sysd= ep.c:1600
#4=A0 deliver_fatal_thread_signal (sig=3D11) at sysdep.c:1638<= br>#5=A0 <signal handler called>
#6=A0 0x0000000000554a72 in AREF (f=3D0x11093b0, spec=3D11925893) at lisp.h= :1170
#7=A0 font_delete_unmatched (f=3D0x11093b0, spec=3D11925893) at fo= nt.c:2624
#8=A0 font_list_entities (f=3D0x11093b0, spec=3D11925893) at f= ont.c:2747
#9=A0 0x0000000000558574 in font_find_for_lface (f=3D0x11093b0, attrs=3D0x7= fff12382d00, spec=3D11845218, c=3D-1) at font.c:3206
#10 0x0000000000558= a6b in font_load_for_lface (f=3D0x8091c5, attrs=3D0xb8c2f2, spec=3D8425920)= at font.c:3276
#11 0x00000000004a1882 in realize_x_face (cache=3D0xd8eb80, attrs=3D0x7fff1= 2382d00, former_face_id=3D<value optimized out>) at xfaces.c:5529
= #12 realize_face (cache=3D0xd8eb80, attrs=3D0x7fff12382d00, former_face_id= =3D<value optimized out>) at xfaces.c:5422
#13 0x00000000004a2661 in lookup_face (f=3D<value optimized out>, att= r=3D0x7fff12382d00) at xfaces.c:4411
#14 0x00000000004a36b1 in face_at_s= tring_position (w=3D<value optimized out>, string=3D<value optimiz= ed out>, pos=3D<value optimized out>, bufpos=3D0, region_beg=3D-1,= region_end=3D-1, endptr=3D0x7fff12382e10,
=A0=A0=A0 base_face_id=3DMODE_LINE_INACTIVE_FACE_ID, mouse_p=3D0) at xfaces= .c:6194
#15 0x000000000044688c in display_string (string=3D0xb533e8 &quo= t;*scratch*", lisp_string=3D11874225, face_string=3D15529169, face_str= ing_pos=3D1, start=3D<value optimized out>, it=3D0x7fff12383050, fiel= d_width=3D12, precision=3D-8,
=A0=A0=A0 max_x=3D<value optimized out>, multibyte=3D0) at xdisp.c:22= 278
#16 0x0000000000446f3c in display_mode_element (it=3D0x7fff12383050,= depth=3D4, field_width=3D0, precision=3D-8, elt=3D<value optimized out&= gt;, props=3D11845218, risky=3D0) at xdisp.c:21031
#17 0x0000000000447570 in display_mode_element (it=3D0x7fff12383050, depth= =3D3, field_width=3D0, precision=3D-8, elt=3D<value optimized out>, p= rops=3D11845218, risky=3D0) at xdisp.c:21203
#18 0x0000000000447570 in d= isplay_mode_element (it=3D0x7fff12383050, depth=3D1, field_width=3D0, preci= sion=3D0, elt=3D<value optimized out>, props=3D11845218, risky=3D0) a= t xdisp.c:21203
#19 0x0000000000447e44 in display_mode_line (w=3D<value optimized out>= ;, face_id=3DMODE_LINE_INACTIVE_FACE_ID, format=3D15394390) at xdisp.c:2072= 0
#20 0x0000000000448120 in display_mode_lines (w=3D0x1140870) at xdisp.= c:20665
#21 0x0000000000453710 in redisplay_window (window=3D18090101, just_this_on= e_p=3D0) at xdisp.c:16104
#22 0x0000000000456ad6 in redisplay_window_0 (= window=3D8425925) at xdisp.c:13800
#23 0x0000000000541e33 in internal_co= ndition_case_1 (bfun=3D0x456ab0 <redisplay_window_0>, arg=3D18090101,= handlers=3D12055734, hfun=3D0x425e60 <redisplay_window_error>) at ev= al.c:1376
#24 0x000000000043275d in redisplay_windows (window=3D12108530) at xdisp.c:= 13780
#25 0x0000000000432724 in redisplay_windows (window=3D12108530) at= xdisp.c:13774
#26 0x00000000004579ca in redisplay_internal () at xdisp.= c:13393
#27 0x00000000004debaa in read_char (commandflag=3D1, map=3D20004342, prev_= event=3D11845218, used_mouse_menu=3D0x7fff123894ef, end_time=3D0x0) at keyb= oard.c:2551
#28 0x00000000004e0381 in read_key_sequence (keybuf=3D0x7fff= 12389550, bufsize=3D30, prompt=3D11845218, dont_downcase_last=3Dfalse, can_= return_switch_frame=3Dtrue, fix_current_buffer=3Dtrue) at keyboard.c:9057 #29 0x00000000004e1fc7 in command_loop_1 () at keyboard.c:1434
#30 0x000= 0000000541cde in internal_condition_case (bfun=3D0x4e1d40 <command_loop_= 1>, handlers=3D11904962, hfun=3D0x4d9110 <cmd_error>) at eval.c:13= 39
#31 0x00000000004d929a in command_loop_2 (ignore=3D<value optimized out&= gt;) at keyboard.c:1161
#32 0x0000000000541b9b in internal_catch (tag=3D= <value optimized out>, func=3D0x4d9280 <command_loop_2>, arg=3D= 11845218) at eval.c:1113
#33 0x00000000004d8660 in command_loop () at keyboard.c:1140
#34 recursi= ve_edit_1 () at keyboard.c:779
#35 0x00000000004d9f86 in Frecursive_edit= () at keyboard.c:843
#36 0x00000000004d1b0d in main (argc=3D<value o= ptimized out>, argv=3D0x7fff12389b28) at emacs.c:1570
(gdb)

This was a build of commit d6daa95f46bf36fc4428b511040d97153a= 6f8dab of
the Savannah Git repo, dated Aug 30.

--047d7b343d6a50145a04e6a95d3f-- From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 18 11:07:37 2013 Received: (at 15405) by debbugs.gnu.org; 18 Sep 2013 15:07:37 +0000 Received: from localhost ([127.0.0.1]:46807 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMJLs-0005XY-Ie for submit@debbugs.gnu.org; Wed, 18 Sep 2013 11:07:37 -0400 Received: from mtaout21.012.net.il ([80.179.55.169]:50875) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMJLp-0005XH-V8 for 15405@debbugs.gnu.org; Wed, 18 Sep 2013 11:07:35 -0400 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0MTB00800TXFG400@a-mtaout21.012.net.il> for 15405@debbugs.gnu.org; Wed, 18 Sep 2013 18:07:27 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MTB00802U0EBQ60@a-mtaout21.012.net.il>; Wed, 18 Sep 2013 18:07:27 +0300 (IDT) Date: Wed, 18 Sep 2013 18:07:28 +0300 From: Eli Zaretskii Subject: Re: bug#15405: 24.3; #[] freezes emacs In-reply-to: X-012-Sender: halo1@inter.net.il To: Barry OReilly Message-id: <8361tynp73.fsf@gnu.org> References: X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15405 Cc: 15405@debbugs.gnu.org, sdl.web@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Wed, 18 Sep 2013 10:36:36 -0400 > From: Barry OReilly > > I didn't witness a freeze, but I opened emacs -Q, did M-: #[] twice, > moved point around without a problem, then did C-x 3 and Emacs core > dumped. Doesn't happen here, but my Emacs is compiled without optimizations, FWIW. > Core was generated by `emacs --reverse-video -Q'. > Program terminated with signal 11, Segmentation fault. > #0 0x00000031cfc0e7fd in raise () from /lib64/libpthread.so.0 > (gdb) bt > #0 0x00000031cfc0e7fd in raise () from /lib64/libpthread.so.0 > #1 0x00000000004d0e35 in terminate_due_to_signal (sig=11, > backtrace_limit=40) at emacs.c:369 > #2 0x00000000004ea6fe in handle_fatal_signal (sig=11227) at sysdep.c:1626 > #3 0x00000000004eaab3 in deliver_thread_signal (sig=11) at sysdep.c:1600 > #4 deliver_fatal_thread_signal (sig=11) at sysdep.c:1638 > #5 > #6 0x0000000000554a72 in AREF (f=0x11093b0, spec=11925893) at lisp.h:1170 > #7 font_delete_unmatched (f=0x11093b0, spec=11925893) at font.c:2624 > #8 font_list_entities (f=0x11093b0, spec=11925893) at font.c:2747 > #9 0x0000000000558574 in font_find_for_lface (f=0x11093b0, > attrs=0x7fff12382d00, spec=11845218, c=-1) at font.c:3206 > #10 0x0000000000558a6b in font_load_for_lface (f=0x8091c5, attrs=0xb8c2f2, > spec=8425920) at font.c:3276 > #11 0x00000000004a1882 in realize_x_face (cache=0xd8eb80, > attrs=0x7fff12382d00, former_face_id=) at xfaces.c:5529 > #12 realize_face (cache=0xd8eb80, attrs=0x7fff12382d00, > former_face_id=) at xfaces.c:5422 > #13 0x00000000004a2661 in lookup_face (f=, > attr=0x7fff12382d00) at xfaces.c:4411 > #14 0x00000000004a36b1 in face_at_string_position (w=, > string=, pos=, bufpos=0, > region_beg=-1, region_end=-1, endptr=0x7fff12382e10, > base_face_id=MODE_LINE_INACTIVE_FACE_ID, mouse_p=0) at xfaces.c:6194 > #15 0x000000000044688c in display_string (string=0xb533e8 "*scratch*", > lisp_string=11874225, face_string=15529169, face_string_pos=1, start= optimized out>, it=0x7fff12383050, field_width=12, precision=-8, > max_x=, multibyte=0) at xdisp.c:22278 > #16 0x0000000000446f3c in display_mode_element (it=0x7fff12383050, depth=4, > field_width=0, precision=-8, elt=, props=11845218, > risky=0) at xdisp.c:21031 > #17 0x0000000000447570 in display_mode_element (it=0x7fff12383050, depth=3, > field_width=0, precision=-8, elt=, props=11845218, > risky=0) at xdisp.c:21203 > #18 0x0000000000447570 in display_mode_element (it=0x7fff12383050, depth=1, > field_width=0, precision=0, elt=, props=11845218, > risky=0) at xdisp.c:21203 > #19 0x0000000000447e44 in display_mode_line (w=, > face_id=MODE_LINE_INACTIVE_FACE_ID, format=15394390) at xdisp.c:20720 This crash happens when Emacs tries to display the mode line of the non-selected window. Can you show the values of vec and of i in frame #7? From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 18 11:15:09 2013 Received: (at 15405) by debbugs.gnu.org; 18 Sep 2013 15:15:09 +0000 Received: from localhost ([127.0.0.1]:46835 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMJTA-0005k6-NU for submit@debbugs.gnu.org; Wed, 18 Sep 2013 11:15:08 -0400 Received: from mail-wg0-f54.google.com ([74.125.82.54]:53755) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMJT7-0005jM-S1 for 15405@debbugs.gnu.org; Wed, 18 Sep 2013 11:15:06 -0400 Received: by mail-wg0-f54.google.com with SMTP id m15so6492433wgh.21 for <15405@debbugs.gnu.org>; Wed, 18 Sep 2013 08:15:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=dHNtN7kK1ARVma4hK6jlicclF1y+pi+NcRKpgZyvdu0=; b=BgkNVESXs5nkNg3G+/DPGfnCN7WKfbOR6h7VCRtpk1QqbqgHgI6DEC0SQHaVqLI0J4 gdHOn+bqkLR1L3boAQgLQoqh+4EcxXlHLHp59VEZPwaZDQ2ig52FJTUjoHDx9MRIYO5B HRR9O5muDiS15Eu1Cd9DRdjCWBSjcO3qkJWx3n7kLKyL4z3/b80xV+70ASuoR4nIRiuc FYH3UPcxohJgBFN31p9vG5zffAGvduQMA6cpg6QdJhXx38JYfumvMyAdvAQBCUTNh3Eu XURBbc9MX2siVNRVZprtJZfvJPtNOpVwyTyUe3Rreg5or0fVYcvjOKnF38IrZa2CVVc8 98Iw== MIME-Version: 1.0 X-Received: by 10.180.97.38 with SMTP id dx6mr7614666wib.26.1379517298656; Wed, 18 Sep 2013 08:14:58 -0700 (PDT) Received: by 10.194.234.234 with HTTP; Wed, 18 Sep 2013 08:14:58 -0700 (PDT) In-Reply-To: <8361tynp73.fsf@gnu.org> References: <8361tynp73.fsf@gnu.org> Date: Wed, 18 Sep 2013 11:14:58 -0400 Message-ID: Subject: Re: bug#15405: 24.3; #[] freezes emacs From: Barry OReilly To: Eli Zaretskii Content-Type: multipart/alternative; boundary=f46d0443044e8c4e7b04e6a9e6a6 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15405 Cc: 15405@debbugs.gnu.org, sdl.web@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --f46d0443044e8c4e7b04e6a9e6a6 Content-Type: text/plain; charset=ISO-8859-1 (gdb) f 7 #7 font_delete_unmatched (f=0x11093b0, spec=11925893) at font.c:2624 warning: Source file is more recent than executable. 2624 entity = AREF (vec, i); (gdb) p vec $1 = (gdb) p i $2 = 201326591 (gdb) --f46d0443044e8c4e7b04e6a9e6a6 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
(gdb) f 7
#7=A0 font_delete_unmatched (f=3D0x11093b0, s= pec=3D11925893) at font.c:2624
warning: Source file is more recent than = executable.
2624=A0=A0=A0=A0=A0=A0=A0=A0=A0 entity =3D AREF (vec, i);(gdb) p vec
$1 =3D <value optimized out>
(gdb) p i
$2 =3D 201326591
(gdb)

--f46d0443044e8c4e7b04e6a9e6a6-- From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 18 11:27:27 2013 Received: (at 15405) by debbugs.gnu.org; 18 Sep 2013 15:27:27 +0000 Received: from localhost ([127.0.0.1]:46859 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMJf5-00063J-5N for submit@debbugs.gnu.org; Wed, 18 Sep 2013 11:27:27 -0400 Received: from mtaout23.012.net.il ([80.179.55.175]:45940) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMJf3-000636-4d for 15405@debbugs.gnu.org; Wed, 18 Sep 2013 11:27:26 -0400 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0MTB00B00UPDAO00@a-mtaout23.012.net.il> for 15405@debbugs.gnu.org; Wed, 18 Sep 2013 18:27:18 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MTB00B2DUXI8960@a-mtaout23.012.net.il>; Wed, 18 Sep 2013 18:27:18 +0300 (IDT) Date: Wed, 18 Sep 2013 18:27:19 +0300 From: Eli Zaretskii Subject: Re: bug#15405: 24.3; #[] freezes emacs In-reply-to: X-012-Sender: halo1@inter.net.il To: Barry OReilly Message-id: <834n9inoa0.fsf@gnu.org> References: <8361tynp73.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15405 Cc: 15405@debbugs.gnu.org, sdl.web@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Wed, 18 Sep 2013 11:14:58 -0400 > From: Barry OReilly > Cc: sdl.web@gmail.com, 15405@debbugs.gnu.org > > (gdb) f 7 > #7 font_delete_unmatched (f=0x11093b0, spec=11925893) at font.c:2624 > warning: Source file is more recent than executable. > 2624 entity = AREF (vec, i); > (gdb) p vec > $1 = > (gdb) p i > $2 = 201326591 > (gdb) Unhelpful, sigh... Can you try reproducing this in an unoptimized build, where GDB will show values we can trust? Thanks. From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 18 11:42:10 2013 Received: (at 15405) by debbugs.gnu.org; 18 Sep 2013 15:42:10 +0000 Received: from localhost ([127.0.0.1]:46890 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMJtH-0006RQ-PD for submit@debbugs.gnu.org; Wed, 18 Sep 2013 11:42:10 -0400 Received: from mout.gmx.net ([212.227.15.15]:63599) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMJtC-0006Qe-2o for 15405@debbugs.gnu.org; Wed, 18 Sep 2013 11:42:05 -0400 Received: from rosalinde.fritz.box ([89.245.66.1]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0M0smx-1WC57p4BW3-00v6JA for <15405@debbugs.gnu.org>; Wed, 18 Sep 2013 17:41:54 +0200 From: Stephen Berman To: Eli Zaretskii Subject: Re: bug#15405: 24.3; #[] freezes emacs References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> Date: Wed, 18 Sep 2013 17:41:42 +0200 In-Reply-To: <834n9inoa0.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 18 Sep 2013 18:27:19 +0300") Message-ID: <871u4mcf2h.fsf@rosalinde.fritz.box> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K0:/8+mdGNkvds9I/XipRD9oook1U5xHMgQ/QR4nTYhg21FBfPrTpN ZHj65Q89p/WB0SxXI+28bpwuEubf8w7Ad0yEZHANqw2vYsULxzhC4Plwn7Eo1/RrGXymIYU 6bqeBDugUAeipAxqGq+rG1p6u3T06Y7/QNe3gNfoEWoeRjLkdk3gv2lt0T7H7CaKi7XQPuY RgOAh6nHUuHcCgY6MqTyQ== X-Spam-Score: 2.6 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: On Wed, 18 Sep 2013 18:27:19 +0300 Eli Zaretskii wrote: >> Date: Wed, 18 Sep 2013 11:14:58 -0400 >> From: Barry OReilly >> Cc: sdl.web@gmail.com, 15405@debbugs.gnu.org >> >> (gdb) f 7 >> #7 font_delete_unmatched (f=0x11093b0, spec=11925893) at font.c:2624 >> warning: Source file is more recent than executable. >> 2624 entity = AREF (vec, i); >> (gdb) p vec >> $1 = >> (gdb) p i >> $2 = 201326591 >> (gdb) > > Unhelpful, sigh... Can you try reproducing this in an unoptimized > build, where GDB will show values we can trust? > > Thanks. [...] Content analysis details: (2.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (stephen.berman[at]gmx.net) -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [212.227.15.15 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.7 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain 1.0 FREEMAIL_REPLY From and body contain different freemails 0.0 FILL_THIS_FORM Fill in a form with personal information 2.2 FILL_THIS_FORM_LOAN Answer loan question(s) X-Debbugs-Envelope-To: 15405 Cc: Barry OReilly , 15405@debbugs.gnu.org, sdl.web@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.6 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: On Wed, 18 Sep 2013 18:27:19 +0300 Eli Zaretskii wrote: >> Date: Wed, 18 Sep 2013 11:14:58 -0400 >> From: Barry OReilly >> Cc: sdl.web@gmail.com, 15405@debbugs.gnu.org >> >> (gdb) f 7 >> #7 font_delete_unmatched (f=0x11093b0, spec=11925893) at font.c:2624 >> warning: Source file is more recent than executable. >> 2624 entity = AREF (vec, i); >> (gdb) p vec >> $1 = >> (gdb) p i >> $2 = 201326591 >> (gdb) > > Unhelpful, sigh... Can you try reproducing this in an unoptimized > build, where GDB will show values we can trust? > > Thanks. [...] Content analysis details: (1.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [212.227.15.15 listed in list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (stephen.berman[at]gmx.net) -0.0 SPF_PASS SPF: sender matches SPF record -0.7 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain 2.2 FILL_THIS_FORM_LOAN Answer loan question(s) On Wed, 18 Sep 2013 18:27:19 +0300 Eli Zaretskii wrote: >> Date: Wed, 18 Sep 2013 11:14:58 -0400 >> From: Barry OReilly >> Cc: sdl.web@gmail.com, 15405@debbugs.gnu.org >> >> (gdb) f 7 >> #7 font_delete_unmatched (f=0x11093b0, spec=11925893) at font.c:2624 >> warning: Source file is more recent than executable. >> 2624 entity = AREF (vec, i); >> (gdb) p vec >> $1 = >> (gdb) p i >> $2 = 201326591 >> (gdb) > > Unhelpful, sigh... Can you try reproducing this in an unoptimized > build, where GDB will show values we can trust? > > Thanks. I also get a segfault with emacs -Q, M-: #[], M-: #[], C-x 3; backtrace below. In GNU Emacs 24.3.50.4 (x86_64-suse-linux-gnu, GTK+ Version 3.4.4) of 2013-09-12 on rosalinde Bzr revision: 114244 xfq.free@gmail.com-20130912122217-i1l0xo8mslcti8bu Windowing system distributor `The X.Org Foundation', version 11.0.11203000 System Description: openSUSE 12.2 (x86_64) Configured using: `configure --without-toolkit-scroll-bars 'CFLAGS=-g3 -O0'' Important settings: value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=local locale-coding-system: utf-8-unix default enable-multibyte-characters: t (gdb) r -Q Starting program: /data/steve/lib/emacs/gtk/src/emacs -Q [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [New Thread 0x7fffec4d9700 (LWP 12680)] Detaching after fork from child process 12681. Detaching after fork from child process 12682. [New Thread 0x7fffe9935700 (LWP 12683)] [New Thread 0x7fffe9134700 (LWP 12684)] Detaching after fork from child process 12685. [New Thread 0x7fffd95af700 (LWP 12686)] Program received signal SIGSEGV, Segmentation fault. 0x0000000000595b98 in AREF (array=9179653, idx=201326591) at /data/steve/bzr/emacs/quickfixes/src/lisp.h:1170 1170 return XVECTOR (array)->contents[idx]; (gdb) bt full #0 0x0000000000595b98 in AREF (array=9179653, idx=201326591) at /data/steve/bzr/emacs/quickfixes/src/lisp.h:1170 No locals. #1 0x00000000005d15e9 in font_delete_unmatched (vec=9179653, spec=19000077, size=0) at /data/steve/bzr/emacs/quickfixes/src/font.c:2624 entity = 12809621 val = 12612338 prop = 32767 i = 201326591 #2 0x00000000005d1c6c in font_list_entities (f=0x11ccd30, spec=19000077) at /data/steve/bzr/emacs/quickfixes/src/font.c:2747 cache = 16364646 driver_list = 0x1574990 ftype = 12612338 val = 9179653 list = 20752454 size = 0 need_filtering = true i = 0 #3 0x00000000005d35fa in font_find_for_lface (f=0x11ccd30, attrs= 0x7fffffff9050, spec=23956789, c=-1) at /data/steve/bzr/emacs/quickfixes/src/font.c:3206 work = 19000077 entities = 5750772 ---Type to continue, or q to quit--- val = 24014354 foundry = {16211730, 9179653, 140737488326256} family = 0x7fffffff8d70 registry = {12916738, 9179653, 0} adstyle = {12612338, 9179653, 77} pixel_size = 15 i = 0 j = 0 k = 0 l = 0 sa_count = 8 sa_must_free = false #4 0x00000000005d38f6 in font_load_for_lface (f=0x11ccd30, attrs= 0x7fffffff9050, spec=23956789) at /data/steve/bzr/emacs/quickfixes/src/font.c:3276 entity = 23956789 name = 5856228 #5 0x00000000004eb6fd in realize_x_face (cache=0xcb50c0, attrs=0x7fffffff9050) at /data/steve/bzr/emacs/quickfixes/src/xfaces.c:5531 fontset = 2 face = 0x1c16fb0 default_face = 0x16b34f0 f = 0x11ccd30 stipple = 12654370 ---Type to continue, or q to quit--- underline = 9696737 overline = 12654370 strike_through = 12654370 box = 0 #6 0x00000000004eb3a8 in realize_face (cache=0xcb50c0, attrs=0x7fffffff9050, former_face_id=-1) at /data/steve/bzr/emacs/quickfixes/src/xfaces.c:5423 face = 0x0 #7 0x00000000004e8fe9 in lookup_face (f=0x11ccd30, attr=0x7fffffff9050) at /data/steve/bzr/emacs/quickfixes/src/xfaces.c:4412 cache = 0xcb50c0 hash = 1192808 i = 617 face = 0x0 #8 0x00000000004eccea in face_at_string_position (w=0x121e960, string= 16184305, pos=1, bufpos=0, region_beg=-1, region_end=-1, endptr= 0x7fffffff9188, base_face_id=MODE_LINE_INACTIVE_FACE_ID, mouse_p=0) at /data/steve/bzr/emacs/quickfixes/src/xfaces.c:6195 prop = 16081570 position = 4 end = 16 limit = 16 f = 0x11ccd30 attrs = {12612914, 13247729, 9437897, 12653794, 452, 12654034, 12653794, 12612338, 12612338, 9696673, 9696737, 12612338, 12612338, ---Type to continue, or q to quit--- 12612338, 9696566, 23956789, 12612338, 13248193} base_face = 0xce7de0 multibyte_p = false prop_name = 12612914 #9 0x0000000000467fe0 in display_string (string=0xc0e818 "*scratch*", lisp_string=12641249, face_string=16184305, face_string_pos=1, start=0, it= 0x7fffffff9650, field_width=12, precision=-8, max_x=0, multibyte=0) at /data/steve/bzr/emacs/quickfixes/src/xdisp.c:22284 endptr = 4 face = 0x595a2a hpos_at_start = 8 saved_face_id = 2 row = 0x1c19e60 it_charpos = 12641249 #10 0x0000000000464dec in display_mode_element (it=0x7fffffff9650, depth=4, field_width=0, precision=-8, elt=16184305, props=12612338, risky=0) at /data/steve/bzr/emacs/quickfixes/src/xdisp.c:21036 nglyphs_before = 8 nwritten = -6 multibyte = false bytepos = 1 charpos = 1 spec = 0xc0e818 "*scratch*" string = 12641249 ---Type to continue, or q to quit--- percent_position = 1 last_offset = 0 c = 98 'b' offset = 4 n = 0 field = 12 prec = -8 literal = 0 #11 0x0000000000465303 in display_mode_element (it=0x7fffffff9650, depth=3, field_width=0, precision=-8, elt=16129126, props=12612338, risky=0) at /data/steve/bzr/emacs/quickfixes/src/xdisp.c:21208 halftail = 16129126 len = 0 car = 0 tem = 4289776 n = 0 field = 0 prec = 0 literal = 0 #12 0x0000000000465303 in display_mode_element (it=0x7fffffff9650, depth=1, field_width=0, precision=0, elt=16234998, props=12612338, risky=0) at /data/steve/bzr/emacs/quickfixes/src/xdisp.c:21208 halftail = 16235526 len = 7 ---Type to continue, or q to quit--- car = 16083841 tem = 4289776 n = 8 field = 5780140 prec = 0 literal = 0 #13 0x0000000000464269 in display_mode_line (w=0x121e960, face_id= MODE_LINE_INACTIVE_FACE_ID, format=16235606) at /data/steve/bzr/emacs/quickfixes/src/xdisp.c:20725 it = { window = 18999653, w = 0x121e960, f = 0x11ccd30, method = GET_FROM_STRING, stop_charpos = 12, prev_stop = 0, base_level_stop = 0, end_charpos = 12, s = 0x0, string_nchars = 9, region_beg_charpos = -1, region_end_charpos = -1, redisplay_end_trigger_charpos = 0, multibyte_p = 0, ---Type to continue, or q to quit--- header_line_p = 0, string_from_display_prop_p = 0, string_from_prefix_prop_p = 0, from_disp_prop_p = 0, ellipsis_p = 0, avoid_cursor_p = 0, dp = 0x0, dpvec = 0x0, dpend = 0x0, dpvec_char_len = 0, dpvec_face_id = 0, saved_face_id = 2, ctl_chars = {0 }, start = { pos = { charpos = 0, bytepos = 0 }, overlay_string_index = 0, string_pos = { charpos = 0, bytepos = 0 }, dpvec_index = 0 ---Type to continue, or q to quit--- }, current = { pos = { charpos = 0, bytepos = 0 }, overlay_string_index = -1, string_pos = { charpos = 0, bytepos = 0 }, dpvec_index = -1 }, n_overlay_strings = 0, overlay_strings_charpos = 0, overlay_strings = {0 }, string_overlays = {0 }, string = 12641249, from_overlay = 0, stack = {{ string = 0, string_nchars = 0, end_charpos = 0, stop_charpos = 0, ---Type to continue, or q to quit--- prev_stop = 0, base_level_stop = 0, cmp_it = { stop_pos = 0, id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0 }, face_id = 0, u = { image = { object = 0, slice = { x = 0, y = 0, ---Type to continue, or q to quit--- width = 0, height = 0 }, image_id = 0 }, comp = { object = 0 }, stretch = { object = 0 } }, position = { charpos = 0, bytepos = 0 }, current = { pos = { charpos = 0, bytepos = 0 }, overlay_string_index = 0, string_pos = { charpos = 0, ---Type to continue, or q to quit--- bytepos = 0 }, dpvec_index = 0 }, from_overlay = 0, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = 0, string_from_display_prop_p = 0, string_from_prefix_prop_p = 0, display_ellipsis_p = 0, avoid_cursor_p = 0, bidi_p = 0, from_disp_prop_p = 0, line_wrap = TRUNCATE, voffset = 0, space_width = 0, font_height = 0 }, { string = 0, string_nchars = 0, end_charpos = 0, stop_charpos = 0, ---Type to continue, or q to quit--- prev_stop = 0, base_level_stop = 0, cmp_it = { stop_pos = 0, id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0 }, face_id = 0, u = { image = { object = 0, slice = { x = 0, y = 0, ---Type to continue, or q to quit--- width = 0, height = 0 }, image_id = 0 }, comp = { object = 0 }, stretch = { object = 0 } }, position = { charpos = 0, bytepos = 0 }, current = { pos = { charpos = 0, bytepos = 0 }, overlay_string_index = 0, string_pos = { charpos = 0, ---Type to continue, or q to quit--- bytepos = 0 }, dpvec_index = 0 }, from_overlay = 0, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = 0, string_from_display_prop_p = 0, string_from_prefix_prop_p = 0, display_ellipsis_p = 0, avoid_cursor_p = 0, bidi_p = 0, from_disp_prop_p = 0, line_wrap = TRUNCATE, voffset = 0, space_width = 0, font_height = 0 }, { string = 0, string_nchars = 0, end_charpos = 0, stop_charpos = 0, ---Type to continue, or q to quit--- prev_stop = 0, base_level_stop = 0, cmp_it = { stop_pos = 0, id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0 }, face_id = 0, u = { image = { object = 0, slice = { x = 0, y = 0, ---Type to continue, or q to quit--- width = 0, height = 0 }, image_id = 0 }, comp = { object = 0 }, stretch = { object = 0 } }, position = { charpos = 0, bytepos = 0 }, current = { pos = { charpos = 0, bytepos = 0 }, overlay_string_index = 0, string_pos = { charpos = 0, ---Type to continue, or q to quit--- bytepos = 0 }, dpvec_index = 0 }, from_overlay = 0, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = 0, string_from_display_prop_p = 0, string_from_prefix_prop_p = 0, display_ellipsis_p = 0, avoid_cursor_p = 0, bidi_p = 0, from_disp_prop_p = 0, line_wrap = TRUNCATE, voffset = 0, space_width = 0, font_height = 0 }, { string = 0, string_nchars = 0, end_charpos = 0, stop_charpos = 0, ---Type to continue, or q to quit--- prev_stop = 0, base_level_stop = 0, cmp_it = { stop_pos = 0, id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0 }, face_id = 0, u = { image = { object = 0, slice = { x = 0, y = 0, ---Type to continue, or q to quit--- width = 0, height = 0 }, image_id = 0 }, comp = { object = 0 }, stretch = { object = 0 } }, position = { charpos = 0, bytepos = 0 }, current = { pos = { charpos = 0, bytepos = 0 }, overlay_string_index = 0, string_pos = { charpos = 0, ---Type to continue, or q to quit--- bytepos = 0 }, dpvec_index = 0 }, from_overlay = 0, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = 0, string_from_display_prop_p = 0, string_from_prefix_prop_p = 0, display_ellipsis_p = 0, avoid_cursor_p = 0, bidi_p = 0, from_disp_prop_p = 0, line_wrap = TRUNCATE, voffset = 0, space_width = 0, font_height = 0 }, { string = 0, string_nchars = 0, end_charpos = 0, stop_charpos = 0, ---Type to continue, or q to quit--- prev_stop = 0, base_level_stop = 0, cmp_it = { stop_pos = 0, id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0 }, face_id = 0, u = { image = { object = 0, slice = { x = 0, y = 0, ---Type to continue, or q to quit--- width = 0, height = 0 }, image_id = 0 }, comp = { object = 0 }, stretch = { object = 0 } }, position = { charpos = 0, bytepos = 0 }, current = { pos = { charpos = 0, bytepos = 0 }, overlay_string_index = 0, string_pos = { charpos = 0, ---Type to continue, or q to quit--- bytepos = 0 }, dpvec_index = 0 }, from_overlay = 0, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = 0, string_from_display_prop_p = 0, string_from_prefix_prop_p = 0, display_ellipsis_p = 0, avoid_cursor_p = 0, bidi_p = 0, from_disp_prop_p = 0, line_wrap = TRUNCATE, voffset = 0, space_width = 0, font_height = 0 }}, sp = 0, selective = 0, what = IT_EOB, face_id = 2, ---Type to continue, or q to quit--- selective_display_ellipsis_p = 1, ctl_arrow_p = 1, face_box_p = 1, start_of_box_run_p = 0, end_of_box_run_p = 0, overlay_strings_at_end_processed_p = 0, ignore_overlay_strings_at_pos_p = 0, glyph_not_available_p = 0, starts_in_middle_of_char_p = 0, face_before_selective_p = 0, constrain_row_ascent_descent_p = 0, line_wrap = TRUNCATE, base_face_id = 2, c = 32, len = 1, cmp_it = { stop_pos = 0, id = -1, ch = -2, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, charpos = 0, ---Type to continue, or q to quit--- nchars = 0, nbytes = 0, from = 0, to = 0, width = 0 }, char_to_display = 32, glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE, image_id = 0, slice = { x = 12612338, y = 12612338, width = 12612338, height = 12612338 }, space_width = 12612338, voffset = 0, tab_width = 8, font_height = 12612338, object = 9447465, position = { charpos = 1, bytepos = 1 }, ---Type to continue, or q to quit--- truncation_pixel_width = 9, continuation_pixel_width = 0, first_visible_x = 0, last_visible_x = 378, last_visible_y = 594, extra_line_spacing = 0, max_extra_line_spacing = 0, override_ascent = -1, override_descent = 0, override_boff = 0, glyph_row = 0x1c19e60, area = TEXT_AREA, nglyphs = 1, pixel_width = 9, ascent = 14, descent = 4, max_ascent = 14, max_descent = 4, phys_ascent = 0, phys_descent = 0, max_phys_ascent = 11, max_phys_descent = 0, current_x = 73, continuation_lines_width = 0, ---Type to continue, or q to quit--- eol_pos = { charpos = 0, bytepos = 0 }, current_y = 0, first_vpos = 0, vpos = 0, hpos = 8, left_user_fringe_bitmap = 0, right_user_fringe_bitmap = 0, left_user_fringe_face_id = 0, right_user_fringe_face_id = 0, bidi_p = 1, bidi_it = { bytepos = 0, charpos = 0, ch = -1, nchars = -1, ch_len = 1, type = NEUTRAL_B, type_after_w1 = NEUTRAL_B, orig_type = NEUTRAL_B, resolved_level = 0, invalid_levels = 0, ---Type to continue, or q to quit--- invalid_rl_levels = -1, prev = { bytepos = 1, charpos = 1, type = UNKNOWN_BT, type_after_w1 = UNKNOWN_BT, orig_type = UNKNOWN_BT }, last_strong = { bytepos = 0, charpos = 0, type = UNKNOWN_BT, type_after_w1 = UNKNOWN_BT, orig_type = UNKNOWN_BT }, next_for_neutral = { bytepos = 0, charpos = -1, type = UNKNOWN_BT, type_after_w1 = UNKNOWN_BT, orig_type = UNKNOWN_BT }, prev_for_neutral = { bytepos = 2, ---Type to continue, or q to quit--- charpos = -1, type = UNKNOWN_BT, type_after_w1 = UNKNOWN_BT, orig_type = UNKNOWN_BT }, next_for_ws = { bytepos = 2, charpos = 2, type = NEUTRAL_B, type_after_w1 = UNKNOWN_BT, orig_type = UNKNOWN_BT }, next_en_pos = 0, next_en_type = UNKNOWN_BT, ignore_bn_limit = -1, sor = L2R, scan_dir = 1, disp_pos = -1, disp_prop = 0, stack_idx = 0, level_stack = {{ level = 0, override = NEUTRAL_DIR } }, ---Type to continue, or q to quit--- string = { lstring = 12641249, s = 0x0, schars = 9, bufpos = 0, from_disp_str = 0, unibyte = 1 }, w = 0x121e960, paragraph_dir = NEUTRAL_DIR, separator_limit = -1, prev_was_pdf = 0, first_elt = 1, new_paragraph = 1, frame_window_p = 1 }, paragraph_embedding = L2R } face = 0x59668c count = 6 #14 0x000000000046401b in display_mode_lines (w=0x121e960) at /data/steve/bzr/emacs/quickfixes/src/xdisp.c:20670 sel_w = 0x11ccf18 old_selected_window = 18665245 ---Type to continue, or q to quit--- old_selected_frame = 18664757 new_frame = 18664757 old_frame_selected_window = 18665245 n = 0 #15 0x0000000000455e7c in redisplay_window (window=18999653, just_this_one_p=0) at /data/steve/bzr/emacs/quickfixes/src/xdisp.c:16114 w = 0x121e960 f = 0x11ccd30 buffer = 0xc10c40 old = 0xc10c40 lpoint = { charpos = 192, bytepos = 192 } opoint = { charpos = 192, bytepos = 192 } startp = { charpos = 1, bytepos = 1 } update_mode_line = 1 tem = 0 ---Type to continue, or q to quit--- it = { window = 0, w = 0x0, f = 0x64, method = 1634230119, stop_charpos = 0, prev_stop = 0, base_level_stop = 0, end_charpos = 0, s = 0x3ff0000000000000
, string_nchars = 0, region_beg_charpos = 4607182418800017408, region_end_charpos = 140737250186747, redisplay_end_trigger_charpos = 0, multibyte_p = 0, header_line_p = 0, string_from_display_prop_p = 0, string_from_prefix_prop_p = 0, from_disp_prop_p = 0, ellipsis_p = 0, avoid_cursor_p = 0, dp = 0x15782f4, dpvec = 0xffffffffffffffff, dpend = 0x1578280, ---Type to continue, or q to quit--- dpvec_char_len = -283754549, dpvec_face_id = 32767, saved_face_id = 0, ctl_chars = {0, 0, 23559200, 2, 22607072, 140737488335736, 23559200, 2, 22607072, 140737488335736, 0, 2147483647, 140737279606278, 4403, 22512280, 140737488335736}, start = { pos = { charpos = 23559200, bytepos = 2 }, overlay_string_index = 140737279606409, string_pos = { charpos = 29445024, bytepos = 23301808 }, dpvec_index = 2 }, current = { pos = { charpos = 140737279509068, bytepos = 0 }, overlay_string_index = 140737279621622, ---Type to continue, or q to quit--- string_pos = { charpos = 140737488335736, bytepos = 23301808 }, dpvec_index = 1 }, n_overlay_strings = 140737279508075, overlay_strings_charpos = 23301808, overlay_strings = {0, 23301808, 140737279512008, 0, 23313952, 22607072, 140737302643873, 0, 23313952, 22607072, 0, 23319408, 140737302643825, 22607072, 0, 23319408}, string_overlays = {140737302643825, 23319408, 140737302398525, 22607072, 2147483647, 2, 22607072, 22607072, 12884901888, 18664752, 140737488335832, 5858739, 16993912649, 18664757, 2, 18664752}, string = 140737488335856, from_overlay = 5859080, stack = {{ string = 18664757, string_nchars = -19440, end_charpos = 4380087, stop_charpos = 22512256, prev_stop = 18664752, base_level_stop = 140737488336016, cmp_it = { ---Type to continue, or q to quit--- stop_pos = 5454175, id = 0, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0 }, face_id = 8, u = { image = { object = 4294967296, slice = { x = 4294948096, y = 0, width = 0, height = 5730352 }, ---Type to continue, or q to quit--- image_id = 140737488336048 }, comp = { object = 4294967296 }, stretch = { object = 4294967296 } }, position = { charpos = 5454899, bytepos = 140737488346592 }, current = { pos = { charpos = 0, bytepos = 140737488336064 }, overlay_string_index = 5454932, string_pos = { charpos = 140737488336096, bytepos = 5454976 }, dpvec_index = 0 ---Type to continue, or q to quit--- }, from_overlay = 0, area = -19216, method = 32767, paragraph_embedding = (L2R | R2L | unknown: 5455008), multibyte_p = 0, string_from_display_prop_p = 0, string_from_prefix_prop_p = 0, display_ellipsis_p = 0, avoid_cursor_p = 0, bidi_p = 0, from_disp_prop_p = 0, line_wrap = (unknown: 4294948144), voffset = 32767, space_width = 5303462, font_height = 12612338 }, { string = 12974034, string_nchars = 71303170, end_charpos = 313, stop_charpos = 22505920, prev_stop = 21842112, base_level_stop = 140737488336512, cmp_it = { ---Type to continue, or q to quit--- stop_pos = 6009011, id = 12038920, ch = 17162134, rule_idx = 0, lookback = 140737488336544, nglyphs = 10582078, reversed_p = false, charpos = 12974034, nchars = 12612338, nbytes = 0, from = 12038920, to = 0, width = 12796946 }, face_id = 5858894, u = { image = { object = 21842112, slice = { x = 140737488336608, y = 6009011, width = 140737488336336, height = 140737488336224 }, ---Type to continue, or q to quit--- image_id = 2 }, comp = { object = 21842112 }, stretch = { object = 21842112 } }, position = { charpos = 10583006, bytepos = 5858365 }, current = { pos = { charpos = 17162134, bytepos = 140737488336672 }, overlay_string_index = 6006667, string_pos = { charpos = 5855786, bytepos = 10823793 }, dpvec_index = -18064 ---Type to continue, or q to quit--- }, from_overlay = 10582094, area = 16, method = GET_FROM_BUFFER, paragraph_embedding = (unknown: 4294950456), multibyte_p = 1, string_from_display_prop_p = 1, string_from_prefix_prop_p = 1, display_ellipsis_p = 1, avoid_cursor_p = 1, bidi_p = 1, from_disp_prop_p = 1, line_wrap = TRUNCATE, voffset = 0, space_width = 0, font_height = 12612338 }, { string = 4, string_nchars = 12973378, end_charpos = 51550431345, stop_charpos = 10582894, prev_stop = 42960496753, base_level_stop = 12030128, cmp_it = { ---Type to continue, or q to quit--- stop_pos = 12612338, id = 12612386, ch = 9166453, rule_idx = 0, lookback = 12612386, nglyphs = 4289776, reversed_p = false, charpos = 140737488336592, nchars = 5994053, nbytes = 0, from = 12612338, to = 56, width = 12651584 }, face_id = -18752, u = { image = { object = 5901477, slice = { x = 0, y = 1, width = 140737488336624, height = 5903153 }, ---Type to continue, or q to quit--- image_id = 140737488336928 }, comp = { object = 5901477 }, stretch = { object = 5901477 } }, position = { charpos = 12672978, bytepos = 140737488336944 }, current = { pos = { charpos = 12672976, bytepos = 140737488336672 }, overlay_string_index = 5903186, string_pos = { charpos = 12029984, bytepos = 12672978 }, dpvec_index = 16791554 ---Type to continue, or q to quit--- }, from_overlay = 12612338, area = -18320, method = 32767, paragraph_embedding = (L2R | R2L | unknown: 6006664), multibyte_p = 0, string_from_display_prop_p = 0, string_from_prefix_prop_p = 0, display_ellipsis_p = 0, avoid_cursor_p = 0, bidi_p = 0, from_disp_prop_p = 0, line_wrap = (unknown: 4294948736), voffset = 32767, space_width = 6050398, font_height = 140737488336824 }, { string = 12672978, string_nchars = 12612386, end_charpos = 140737488336656, stop_charpos = 2, prev_stop = 10582894, base_level_stop = 9282989, cmp_it = { ---Type to continue, or q to quit--- stop_pos = 140737247946272, id = 5, ch = 5, rule_idx = 0, lookback = 140737488346592, nglyphs = 10581982, reversed_p = false, charpos = 12673170, nchars = 10582974, nbytes = 0, from = 5, to = 0, width = -18336 }, face_id = 5, u = { image = { object = 8, slice = { x = 12788562, y = 12030133, width = 1305670057987, height = 12651584 }, ---Type to continue, or q to quit--- image_id = 140737488336912 }, comp = { object = 8 }, stretch = { object = 8 } }, position = { charpos = 10581982, bytepos = 12612386 }, current = { pos = { charpos = 51551646141, bytepos = 10578318 }, overlay_string_index = 42953962736, string_pos = { charpos = 12030032, bytepos = 12612338 }, dpvec_index = 12612338 ---Type to continue, or q to quit--- }, from_overlay = 12612338, area = -18320, method = 32767, paragraph_embedding = (L2R | unknown: 6026992), multibyte_p = 0, string_from_display_prop_p = 0, string_from_prefix_prop_p = 0, display_ellipsis_p = 0, avoid_cursor_p = 0, bidi_p = 0, from_disp_prop_p = 0, line_wrap = (unknown: 12030032), voffset = 0, space_width = 10578318, font_height = 1 }, { string = 21842048, string_nchars = -17984, end_charpos = 6009011, stop_charpos = 10626221, prev_stop = 10626221, base_level_stop = 140737488336144, cmp_it = { ---Type to continue, or q to quit--- stop_pos = 10578302, id = 12612338, ch = 10626301, rule_idx = 0, lookback = 140737488337200, nglyphs = 6015870, reversed_p = false, charpos = 0, nchars = 10626221, nbytes = 0, from = 21657602, to = 0, width = 12 }, face_id = 12612338, u = { image = { object = 140737488337056, slice = { x = 1, y = 12612338, width = 12612338, height = 12612386 }, ---Type to continue, or q to quit--- image_id = 140737488337216 }, comp = { object = 140737488337056 }, stretch = { object = 140737488337056 } }, position = { charpos = 140737488338928, bytepos = 140737488337216 }, current = { pos = { charpos = 21842016, bytepos = 140737488337424 }, overlay_string_index = 10578318, string_pos = { charpos = 140737488337424, bytepos = 6014199 }, dpvec_index = 17485824 ---Type to continue, or q to quit--- }, from_overlay = 16, area = 12612338, method = GET_FROM_BUFFER, paragraph_embedding = (unknown: 12449664), multibyte_p = 0, string_from_display_prop_p = 0, string_from_prefix_prop_p = 0, display_ellipsis_p = 0, avoid_cursor_p = 0, bidi_p = 0, from_disp_prop_p = 0, line_wrap = (unknown: 4294949344), voffset = 32767, space_width = 5901785, font_height = 12651584 }}, sp = 12449664, selective = 140737488337328, what = 12612338, face_id = 0, selective_display_ellipsis_p = 0, ctl_arrow_p = 1, face_box_p = 0, ---Type to continue, or q to quit--- start_of_box_run_p = 0, end_of_box_run_p = 0, overlay_strings_at_end_processed_p = 1, ignore_overlay_strings_at_pos_p = 0, glyph_not_available_p = 0, starts_in_middle_of_char_p = 1, face_before_selective_p = 1, constrain_row_ascent_descent_p = 0, line_wrap = TRUNCATE, base_face_id = 12030037, c = 6, len = 12612338, cmp_it = { stop_pos = 4289776, id = 12449664, ch = -17952, rule_idx = 32767, lookback = 5858604, nglyphs = 12612338, reversed_p = false, charpos = 140737488337504, nchars = 5904382, nbytes = 0, from = 12038584, ---Type to continue, or q to quit--- to = 0, width = 12612338 }, char_to_display = 12612338, glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE, image_id = 12788418, slice = { x = 140737488337760, y = 6009011, width = 12449664, height = 12651584 }, space_width = 140737488337568, voffset = 30606, tab_width = 161, font_height = 12651584, object = 12788416, position = { charpos = 12651584, bytepos = 12612338 }, truncation_pixel_width = -17792, continuation_pixel_width = -1, first_visible_x = 32767, ---Type to continue, or q to quit--- last_visible_x = 5903272, last_visible_y = 0, extra_line_spacing = 5858604, max_extra_line_spacing = 0, override_ascent = 12612338, override_descent = 0, override_boff = -17712, glyph_row = 0x5a1c2c , area = 12612338, nglyphs = 0, pixel_width = 12788418, ascent = 0, descent = -17632, max_ascent = 32767, max_descent = 5904382, phys_ascent = 0, phys_descent = 12449664, max_phys_ascent = 0, max_phys_descent = 12612338, current_x = 0, continuation_lines_width = 12612338, eol_pos = { charpos = 12788416, bytepos = 140737488337760 ---Type to continue, or q to quit--- }, current_y = 6017714, first_vpos = 0, vpos = 12612386, hpos = 0, left_user_fringe_bitmap = 10, right_user_fringe_bitmap = 0, left_user_fringe_face_id = 0, right_user_fringe_face_id = 5, bidi_p = 0, bidi_it = { bytepos = 5, charpos = 12449664, ch = 8, nchars = 12788562, ch_len = 21841984, type = 4294949728, type_after_w1 = 32767, orig_type = 6016934, resolved_level = 0, invalid_levels = 12612338, invalid_rl_levels = 0, prev = { bytepos = 12067632, ---Type to continue, or q to quit--- charpos = 140737488337840, type = 5901785, type_after_w1 = UNKNOWN_BT, orig_type = 12651584 }, last_strong = { bytepos = 12067632, charpos = 140737488337808, type = 6006107, type_after_w1 = UNKNOWN_BT, orig_type = 12612338 }, next_for_neutral = { bytepos = 25780385678, charpos = 12612338, type = RLE, type_after_w1 = UNKNOWN_BT, orig_type = 12067632 }, prev_for_neutral = { bytepos = 140737488337840, charpos = 5858604, type = 12612338, type_after_w1 = UNKNOWN_BT, ---Type to continue, or q to quit--- orig_type = 4294949936 }, next_for_ws = { bytepos = 5904382, charpos = 5458739, type = 12612338, type_after_w1 = UNKNOWN_BT, orig_type = 12612338 }, next_en_pos = 12910626, next_en_type = 12671826, ignore_bn_limit = 12612338, sor = (unknown: 12067632), scan_dir = 0, disp_pos = 12651584, disp_prop = -10064, stack_idx = 32767, level_stack = {{ level = 5901785, override = NEUTRAL_DIR }, { level = 12612338, override = NEUTRAL_DIR }, { ---Type to continue, or q to quit--- level = 12910624, override = NEUTRAL_DIR }, { level = -10016, override = (L2R | R2L | unknown: 32764) }, { level = 12612338, override = NEUTRAL_DIR }, { level = -17328, override = (L2R | R2L | unknown: 32764) }, { level = 5903272, override = NEUTRAL_DIR }, { level = 5858604, override = NEUTRAL_DIR }, { level = 12612338, override = NEUTRAL_DIR }, { level = -17248, override = (L2R | R2L | unknown: 32764) }, { ---Type to continue, or q to quit--- level = 5905452, override = NEUTRAL_DIR }, { level = 12612338, override = NEUTRAL_DIR }, { level = 12910626, override = NEUTRAL_DIR }, { level = 0, override = (L2R | R2L | unknown: 32764) }, { level = 5904382, override = NEUTRAL_DIR }, { level = 12067632, override = NEUTRAL_DIR }, { level = 12612338, override = NEUTRAL_DIR }, { level = 12612386, override = NEUTRAL_DIR }, { ---Type to continue, or q to quit--- level = 12910624, override = NEUTRAL_DIR }, { level = -17104, override = (L2R | R2L | unknown: 32764) }, { level = 6017714, override = NEUTRAL_DIR }, { level = 12612386, override = NEUTRAL_DIR }, { level = 9, override = NEUTRAL_DIR }, { level = 5, override = NEUTRAL_DIR }, { level = 5, override = NEUTRAL_DIR }, { level = 12067632, override = (R2L | unknown: 4) }, { ---Type to continue, or q to quit--- level = 20757718, override = NEUTRAL_DIR }, { level = 10519605, override = NEUTRAL_DIR }, { level = 16923442, override = NEUTRAL_DIR }, { level = -17056, override = (L2R | R2L | unknown: 32764) }, { level = 5493178, override = NEUTRAL_DIR }, { level = -17151, override = (unknown: 32512) }, { level = 16923442, override = NEUTRAL_DIR }, { level = 18862653, override = NEUTRAL_DIR }, { ---Type to continue, or q to quit--- level = -17088, override = (L2R | R2L | unknown: 32764) }, { level = 5856265, override = NEUTRAL_DIR }, { level = 12612386, override = NEUTRAL_DIR }, { level = 10, override = NEUTRAL_DIR }, { level = 18862653, override = NEUTRAL_DIR }, { level = -17056, override = (L2R | R2L | unknown: 32764) }, { level = 5856148, override = NEUTRAL_DIR }, { level = 2, override = NEUTRAL_DIR }, { ---Type to continue, or q to quit--- level = 18862653, override = NEUTRAL_DIR }, { level = -16880, override = (L2R | R2L | unknown: 32764) }, { level = 5465101, override = NEUTRAL_DIR }, { level = 12612338, override = NEUTRAL_DIR }, { level = 16923442, override = NEUTRAL_DIR }, { level = 20879878, override = NEUTRAL_DIR }, { level = 29424961, override = NEUTRAL_DIR }, { level = 29426336, override = NEUTRAL_DIR }, { ---Type to continue, or q to quit--- level = 29645253, override = NEUTRAL_DIR }, { level = 12662322, override = NEUTRAL_DIR }, { level = 16540550, override = NEUTRAL_DIR }, { level = 16540166, override = NEUTRAL_DIR }, { level = 12612338, override = NEUTRAL_DIR }, { level = -16928, override = (L2R | R2L | unknown: 32764) }, { level = 6045971, override = NEUTRAL_DIR }, { level = 12662322, override = NEUTRAL_DIR }, { ---Type to continue, or q to quit--- level = 12654562, override = NEUTRAL_DIR }, { level = -16832, override = (L2R | R2L | unknown: 32764) }, { level = 5450759, override = NEUTRAL_DIR }, { level = 17308406, override = NEUTRAL_DIR }, { level = 17308406, override = NEUTRAL_DIR }, { level = -16784, override = (L2R | R2L | unknown: 32764) }}, string = { lstring = 5493178, s = 0x13cda01 , schars = 12612338, bufpos = 20765238, from_disp_str = 0, ---Type to continue, or q to quit--- unibyte = 1 }, w = 0x7fffffffbff0, paragraph_dir = (unknown: 4289776), separator_limit = 139646566645360, prev_was_pdf = 0, first_elt = 1, new_paragraph = 0, frame_window_p = 0 }, paragraph_embedding = (unknown: 18664752) } current_matrix_up_to_date_p = 0 used_current_matrix_p = 0 buffer_unchanged_p = 0 temp_scroll_step = 0 count = 5 rc = 6 centering_position = -1 last_line_misfit = 0 beg_unchanged = 191 end_unchanged = 0 frame_line_height = 18 #16 0x000000000044ee00 in redisplay_window_0 (window=18999653) ---Type to continue, or q to quit--- at /data/steve/bzr/emacs/quickfixes/src/xdisp.c:13811 No locals. #17 0x00000000005b911b in internal_condition_case_1 (bfun= 0x44edbe , arg=18999653, handlers=12874982, hfun= 0x44ed8d ) at /data/steve/bzr/emacs/quickfixes/src/eval.c:1376 val = 12651589 c = { tag = 12612338, val = 12612338, next = 0x7fffffffd8e0, gcpro = 0x0, jmp = {{ __jmpbuf = {0, 8304084069479131285, 4289776, 140737488346592, 0, 0, 8304084066473912469, -8304084390187849579}, __mask_was_saved = 0, __saved_mask = { __val = {12858368, 12912992, 12612338, 140737488339152, 5903272, 5858604, 12612338, 140737488339232, 5905452, 12612338, 12858370, 140737488339312, 25775708158, 12651584, 140737488339256, 5858739} } }}, handlerlist = 0x7fffffffd8b0, lisp_eval_depth = 0, ---Type to continue, or q to quit--- pdlcount = 5, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0 } h = { handler = 12874982, var = 12612338, chosen_clause = 12524480, tag = 0x7fffffffc030, next = 0x7fffffffd8b0 } #18 0x000000000044ed6e in redisplay_windows (window=18999653) at /data/steve/bzr/emacs/quickfixes/src/xdisp.c:13791 w = 0x121e960 #19 0x000000000044ed24 in redisplay_windows (window=29341981) at /data/steve/bzr/emacs/quickfixes/src/xdisp.c:13785 w = 0x1bfb918 #20 0x000000000044e090 in redisplay_internal () at /data/steve/bzr/emacs/quickfixes/src/xdisp.c:13402 f = 0x11ccd30 w = 0x11ccf18 sw = 0x11ccf18 fr = 0x11ccd30 ---Type to continue, or q to quit--- pending = 0 must_finish = false match_p = true tlbufpos = { charpos = 192, bytepos = 192 } tlendpos = { charpos = 0, bytepos = 0 } number_of_visible_frames = 1 count = 2 sf = 0x11ccd30 polling_stopped_here = 0 tail = 16381046 frame = 18664757 consider_all_windows_p = 1 update_miniwindow_p = 0 #21 0x000000000044c57b in redisplay () at /data/steve/bzr/emacs/quickfixes/src/xdisp.c:12690 No locals. #22 0x000000000052c14d in read_char (commandflag=1, map=20758678, prev_event= 12612338, used_mouse_menu=0x7fffffffd54f, end_time=0x0) ---Type to continue, or q to quit--- at /data/steve/bzr/emacs/quickfixes/src/keyboard.c:2553 echo_current = true c = 12612338 jmpcount = 20758528 local_getcjmp = {{ __jmpbuf = {5858956, 12657154, 140737488343600, 5936417, 16, 12651589, 140737488343536, 5902566}, __mask_was_saved = 16856048, __saved_mask = { __val = {17256320, 12612096, 12612338, 18446744073709551615, 16856048, 140737488343584, 5903131, 192, 17256322, 16856048, 17256320, 140737488343728, 5504237, 12612338, 2, 12612338} } }} save_jump = {{ __jmpbuf = {2, 2, 6801108, 140737488342768, 2, 12612338, 12612338, 6006528}, __mask_was_saved = -11792, __saved_mask = { __val = {10073253, 52, 21841792, 140737488343456, 6014077, 140737488343456, 25775708158, 12651584, 30064759144, 12651584, 140737488343416, 5858739, 25782605618, 12651589, 12651584, 12651584} } }} ---Type to continue, or q to quit--- tem = 140737488343824 save = 5855468 previous_echo_area_message = 12612338 also_record = 12612338 reread = false gcpro1 = { next = 0x1003802, var = 0x5, nvars = 140737488343232 } gcpro2 = { next = 0xc072f2, var = 0xf72a82, nvars = 16791554 } polling_stopped_here = false orig_kboard = 0x1676210 #23 0x0000000000537956 in read_key_sequence (keybuf=0x7fffffffd720, bufsize= 30, prompt=12612338, dont_downcase_last=false, can_return_switch_frame= true, fix_current_buffer=true) at /data/steve/bzr/emacs/quickfixes/src/keyboard.c:9066 interrupted_kboard = 0x1676210 interrupted_frame = 0x11ccd30 key = 6016934 ---Type to continue, or q to quit--- used_mouse_menu = false echo_local_start = 0 last_real_key_start = 0 keys_local_start = 0 new_binding = 5858604 count = 2 t = 0 echo_start = 0 keys_start = 0 current_binding = 20758678 first_event = 12612338 first_unbound = 31 mock_input = 0 fkey = { parent = 20575894, map = 20575894, start = 0, end = 0 } keytran = { parent = 12591686, map = 12591686, start = 0, end = 0 ---Type to continue, or q to quit--- } indec = { parent = 20575878, map = 20575878, start = 0, end = 0 } shift_translated = false delayed_switch_frame = 12612338 original_uppercase = 12787376 original_uppercase_position = -1 dummyflag = false starting_buffer = 0xc10c40 fake_prefixed_keys = 12612338 gcpro1 = { next = 0x7fffffffd5d0, var = 0x5a17fe , nvars = 5858739 } #24 0x0000000000529ab4 in command_loop_1 () at /data/steve/bzr/emacs/quickfixes/src/keyboard.c:1436 cmd = 16791554 keybuf = {96, 204, 12612386, 20677878, 119, 12612338, 140737488344928, 5455011, 140737488344960, 9193134, 12671922, 18664752, 140737488345008, ---Type to continue, or q to quit--- 5114937, 0, 6810581, 1, 12612338, 12612338, 9193145, 140737488345040, 0, 140737488345104, 5411694, 140737488345136, 20677878, 12612338, 18664752, 140737488345104, 0} i = 2 prev_modiff = 10 prev_buffer = 0xc10c40 already_adjusted = false #25 0x00000000005b8fc4 in internal_condition_case (bfun= 0x529700 , handlers=12671826, hfun=0x529053 ) at /data/steve/bzr/emacs/quickfixes/src/eval.c:1339 val = 0 c = { tag = 12612338, val = 12612338, next = 0x7fffffffda60, gcpro = 0x0, jmp = {{ __jmpbuf = {0, 8304084069791606933, 4289776, 140737488346592, 0, 0, 8304084069739178133, -8304084391050434411}, __mask_was_saved = 0, __saved_mask = { __val = {10142659682659117205, 0, 140737298756521, 4294967295, 140737257761200, 140737298753776, 9143960, 0, 140737488346592, 0, 0, 140737488345968, 140737351945093, 5, 0, 5} ---Type to continue, or q to quit--- } }}, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0 } h = { handler = 12671826, var = 12612338, chosen_clause = 12612386, tag = 0x7fffffffd8e0, next = 0x0 } #26 0x000000000052945d in command_loop_2 (ignore=12612338) at /data/steve/bzr/emacs/quickfixes/src/keyboard.c:1163 val = 0 #27 0x00000000005b8a0e in internal_catch (tag=12667714, func= 0x529437 , arg=12612338) at /data/steve/bzr/emacs/quickfixes/src/eval.c:1113 c = { tag = 12667714, ---Type to continue, or q to quit--- val = 12612338, next = 0x0, gcpro = 0x0, jmp = {{ __jmpbuf = {0, 8304084069810481301, 4289776, 140737488346592, 0, 0, 8304084069783218325, -8304084390975723371}, __mask_was_saved = 0, __saved_mask = { __val = {21841696, 140737488345936, 5904382, 4294967296, 12612338, 12612338, 12910626, 25769794336, 12651584, 12067632, 12651584, 5, 5, 12067632, 12910624, 5858604} } }}, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0 } #28 0x000000000052940d in command_loop () at /data/steve/bzr/emacs/quickfixes/src/keyboard.c:1142 No locals. #29 0x0000000000528c4e in recursive_edit_1 () ---Type to continue, or q to quit--- at /data/steve/bzr/emacs/quickfixes/src/keyboard.c:781 count = 1 val = 12612338 #30 0x0000000000528dbb in Frecursive_edit () at /data/steve/bzr/emacs/quickfixes/src/keyboard.c:845 count = 0 buffer = 12612338 #31 0x0000000000526d18 in main (argc=2, argv=0x7fffffffdde8) at /data/steve/bzr/emacs/quickfixes/src/emacs.c:1570 dummy = 140737488346624 stack_bottom_variable = 0 '\000' do_initial_setlocale = true dumping = false skip_args = 0 rlim = { rlim_cur = 8720000, rlim_max = 18446744073709551615 } no_loadup = false junk = 0x0 dname_arg = 0x0 ch_to_dir = 0x0 Lisp Backtrace: ---Type to continue, or q to quit--- "redisplay_internal (C function)" (0xbf7c90) From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 18 12:27:03 2013 Received: (at 15405) by debbugs.gnu.org; 18 Sep 2013 16:27:03 +0000 Received: from localhost ([127.0.0.1]:47033 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMKai-0007d4-Uv for submit@debbugs.gnu.org; Wed, 18 Sep 2013 12:27:01 -0400 Received: from mtaout20.012.net.il ([80.179.55.166]:63276) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMKaf-0007co-CK for 15405@debbugs.gnu.org; Wed, 18 Sep 2013 12:26:58 -0400 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MTB00E00XEMEE00@a-mtaout20.012.net.il> for 15405@debbugs.gnu.org; Wed, 18 Sep 2013 19:26:50 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MTB00ERGXOP4990@a-mtaout20.012.net.il>; Wed, 18 Sep 2013 19:26:49 +0300 (IDT) Date: Wed, 18 Sep 2013 19:26:50 +0300 From: Eli Zaretskii Subject: Re: bug#15405: 24.3; #[] freezes emacs In-reply-to: <871u4mcf2h.fsf@rosalinde.fritz.box> X-012-Sender: halo1@inter.net.il To: Stephen Berman Message-id: <831u4mnlit.fsf@gnu.org> References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15405 Cc: gundaetiapo@gmail.com, 15405@debbugs.gnu.org, sdl.web@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Stephen Berman > Cc: Barry OReilly , 15405@debbugs.gnu.org, sdl.web@gmail.com > Date: Wed, 18 Sep 2013 17:41:42 +0200 > > #1 0x00000000005d15e9 in font_delete_unmatched (vec=9179653, spec=19000077, > size=0) at /data/steve/bzr/emacs/quickfixes/src/font.c:2624 > entity = 12809621 > val = 12612338 > prop = 32767 > i = 201326591 Can you show the value of vec, as a Lisp vector, and in particular its size? If the value of i is indeed that large, there's something strange happening in that loop. The value zero of the argument 'size' also looks strange. From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 18 13:32:04 2013 Received: (at 15405) by debbugs.gnu.org; 18 Sep 2013 17:32:05 +0000 Received: from localhost ([127.0.0.1]:47099 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMLbf-0001ti-UW for submit@debbugs.gnu.org; Wed, 18 Sep 2013 13:32:04 -0400 Received: from mail-we0-f176.google.com ([74.125.82.176]:55892) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMLbe-0001t6-8g for 15405@debbugs.gnu.org; Wed, 18 Sep 2013 13:32:03 -0400 Received: by mail-we0-f176.google.com with SMTP id u56so6683679wes.7 for <15405@debbugs.gnu.org>; Wed, 18 Sep 2013 10:31:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=qgDa5tNAxo5X3WbQTdHKn7pFmx6CDOuUXPuRWFWfLgM=; b=SigNRzx6I/4rGhqFp+RPszUEmwjGxkPPPVGlZi+SUvWIzLReWDLl4DYA0Dhu/8sv5z z0I+PNSfA7ZzeKp1QDbqxKRFhWloSCyCWnCRRhS7/UGEcOax9ijLDnS2TI8H5rIBW0Wv VcSv2E2V+JiDqUnSEPdrjwzIKz0bhRncUgnZvCNq/1EH+kAfwnHAoaNsP9sUBtcagpqk zYzYOd8i7aAqOkNNiIkNmpOzIxDHxgIvb/h3P3+2I0XAdZ0ITi9vxsByi3pGp5488si9 N5GuIE/R+V2F5YwbCeGKTwB39nOISYtOTmm/YEk1xOr7DV4sb+7jm7Ag6PHFTrRs24Yx 0HhQ== MIME-Version: 1.0 X-Received: by 10.180.183.108 with SMTP id el12mr7916581wic.55.1379525516417; Wed, 18 Sep 2013 10:31:56 -0700 (PDT) Received: by 10.194.234.234 with HTTP; Wed, 18 Sep 2013 10:31:56 -0700 (PDT) In-Reply-To: <831u4mnlit.fsf@gnu.org> References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> Date: Wed, 18 Sep 2013 13:31:56 -0400 Message-ID: Subject: Re: bug#15405: 24.3; #[] freezes emacs From: Barry OReilly To: Eli Zaretskii , Leo Liu , 15405@debbugs.gnu.org, stephen.berman@gmx.net Content-Type: multipart/alternative; boundary=001a11c353ac5d609e04e6abd08b X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15405 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --001a11c353ac5d609e04e6abd08b Content-Type: text/plain; charset=ISO-8859-1 FWIW, only one M-: #[] is necessary in the reproduction recipe. I used: diff --git a/src/font.c b/src/font.c index 68db9f2..0f2d24f 100644 --- a/src/font.c +++ b/src/font.c @@ -2619,6 +2619,12 @@ font_delete_unmatched (Lisp_Object vec, Lisp_Object spec, int size) enum font_property_index prop; int i; + bool noninteractive_old = noninteractive; + { struct timespec debug_ts; char debug_dateStr[20]; { clock_gettime(CLOCK_REALTIME, &debug_ts); struct tm mytm; localtime_r(&debug_ts.tv_sec, &mytm); strftime(debug_dateStr, 20, "%Y-%m-%dT%H:%M:%S", &mytm); } + printf( "%s.%09ld|pid:%d|tid:%ld|%s|%d| DEBUG: vec size=%ld\n", // TODO: debugging + debug_dateStr, debug_ts.tv_nsec, getpid(), pthread_self(), __FILE__, __LINE__, ASIZE(vec) ); fflush(stdout); } + Fprin1(vec, Qnil); + noninteractive = noninteractive_old; for (val = Qnil, i = ASIZE (vec) - 1; i >= 0; i--) { entity = AREF (vec, i); Got: 2013-09-18T13:15:22.845944000|pid:15278|tid:2868504832|font.c|2625| DEBUG: vec size=4 2013-09-18T13:15:22.847422000|pid:15278|tid:2868504832|font.c|2625| DEBUG: vec size=4611686018628714496 Fatal error 11: Segmentation fault Clearly the value of i was a 32 bit truncation of that larger value. #0 0x00000031cfc0e7fd in raise () from /lib64/libpthread.so.0 #1 0x00000000004ced25 in terminate_due_to_signal (sig=11, backtrace_limit=40) at emacs.c:369 #2 0x00000000004e823e in handle_fatal_signal (sig=15650) at sysdep.c:1626 #3 0x00000000004e85f3 in deliver_thread_signal (sig=11) at sysdep.c:1600 #4 deliver_fatal_thread_signal (sig=11) at sysdep.c:1638 #5 #6 0x0000000000552715 in font_delete_unmatched (f=0x1102af0, spec=18316141) at lisp.h:1170 #7 font_list_entities (f=0x1102af0, spec=18316141) at font.c:2753 #8 0x0000000000556224 in font_find_for_lface (f=0x1102af0, attrs=0x7fffa07f03d0, spec=11832930, c=-1) at font.c:3212 #9 0x000000000055671b in font_load_for_lface (f=0xe81112, attrs=0xcd4400, spec=8413600) at font.c:3282 #10 0x000000000049fc62 in realize_x_face (cache=0xd654b0, attrs=0x7fffa07f03d0, former_face_id=) at xfaces.c:5526 #11 realize_face (cache=0xd654b0, attrs=0x7fffa07f03d0, former_face_id=) at xfaces.c:5419 #12 0x00000000004a0a41 in lookup_face (f=, attr=0x7fffa07f03d0) at xfaces.c:4408 #13 0x00000000004a1a91 in face_at_string_position (w=, string=, pos=, bufpos=0, region_beg=-1, region_end=-1, endptr=0x7fffa07f0508, base_face_id=MODE_LINE_INACTIVE_FACE_ID, mouse_p=0) at xfaces.c:6191 #14 0x0000000000444f45 in display_string (string=0xb503e8 "*scratch*", lisp_string=11861937, face_string=, face_string_pos=1, start=0, it=0x7fffa07f0750, field_width=12, precision=-8, max_x=, multibyte=0) at xdisp.c:22291 #15 0x000000000044582c in display_mode_element (it=0x7fffa07f0750, depth=4, field_width=0, precision=-8, elt=, props=11832930, risky=0) at xdisp.c:21044 #16 0x0000000000445e5c in display_mode_element (it=0x7fffa07f0750, depth=3, field_width=0, precision=-8, elt=, props=11832930, risky=0) at xdisp.c:21216 #17 0x0000000000445e5c in display_mode_element (it=0x7fffa07f0750, depth=1, field_width=0, precision=0, elt=, props=11832930, risky=0) at xdisp.c:21216 #18 0x0000000000446734 in display_mode_line (w=, face_id=MODE_LINE_INACTIVE_FACE_ID, format=15318150) at xdisp.c:20733 #19 0x0000000000446a10 in display_mode_lines (w=0x1177950) at xdisp.c:20678 #20 0x0000000000451ee4 in redisplay_window (window=18315605, just_this_one_p=0) at xdisp.c:16122 #21 0x0000000000455386 in redisplay_window_0 (window=15208722) at xdisp.c:13819 #22 0x000000000053f9e3 in internal_condition_case_1 (bfun=0x455360 , arg=18315605, handlers=12043382, hfun=0x425800 ) at eval.c:1376 #23 0x0000000000431a8d in redisplay_windows (window=13452288) at xdisp.c:13799 #24 0x0000000000431a54 in redisplay_windows (window=13452288) at xdisp.c:13793 #25 0x0000000000456191 in redisplay_internal () at xdisp.c:13410 #26 0x00000000004dc905 in read_char (commandflag=1, map=19881590, prev_event=11832930, used_mouse_menu=0x7fffa07f6baf, end_time=0x0) at keyboard.c:2553 #27 0x00000000004de0f1 in read_key_sequence (keybuf=0x7fffa07f6c10, bufsize=30, prompt=11832930, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true) at keyboard.c:9066 #28 0x00000000004dfb07 in command_loop_1 () at keyboard.c:1436 #29 0x000000000053f88e in internal_condition_case (bfun=0x4df880 , handlers=11892674, hfun=0x4d6e70 ) at eval.c:1339 #30 0x00000000004d6ffa in command_loop_2 (ignore=) at keyboard.c:1163 #31 0x000000000053f74b in internal_catch (tag=, func=0x4d6fe0 , arg=11832930) at eval.c:1113 #32 0x00000000004d63c0 in command_loop () at keyboard.c:1142 #33 recursive_edit_1 () at keyboard.c:781 #34 0x00000000004d7ce6 in Frecursive_edit () at keyboard.c:845 #35 0x00000000004cf9fd in main (argc=, argv=0x7fffa07f71e8) at emacs.c:1570 --001a11c353ac5d609e04e6abd08b Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
FWIW, only one M-: #[] is necessary in the reproduction re= cipe.

I used:

diff --git a/src/font.c b/src/font.c
index 6= 8db9f2..0f2d24f 100644
--- a/src/font.c
+++ b/src/font.c
@@ -2619,= 6 +2619,12 @@ font_delete_unmatched (Lisp_Object vec, Lisp_Object spec, int= size)
=A0=A0 enum font_property_index prop;
=A0=A0 int i;
=A0
+=A0 bool = noninteractive_old =3D noninteractive;
+=A0 { struct timespec debug_ts; = char debug_dateStr[20]; { clock_gettime(CLOCK_REALTIME, &debug_ts); str= uct tm mytm; localtime_r(&debug_ts.tv_sec, &mytm); strftime(debug_d= ateStr, 20, "%Y-%m-%dT%H:%M:%S", &mytm); }
+=A0=A0=A0=A0=A0=A0 printf( "%s.%09ld|pid:%d|tid:%ld|%s|%d| DEBUG: vec= size=3D%ld\n", // TODO: debugging
+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 debug_dateStr, debug_ts.tv_nsec,= getpid(), pthread_self(), __FILE__, __LINE__, ASIZE(vec) ); fflush(stdout)= ; }
+=A0 Fprin1(vec, Qnil);
+=A0 noninteractive =3D noninteractive_old;
= =A0=A0 for (val =3D Qnil, i =3D ASIZE (vec) - 1; i >=3D 0; i--)
=A0= =A0=A0=A0 {
=A0=A0=A0=A0=A0=A0 entity =3D AREF (vec, i);

Got:
= 2013-09-18T13:15:22.845944000|pid:15278|tid:2868504832|font.c|2625| DEBUG: = vec size=3D4
2013-09-18T13:15:22.847422000|pid:15278|tid:2868504832|font.c|2625| DEBUG: = vec size=3D4611686018628714496
Fatal error 11: Segmentation fault
Clearly the value of i was a 32 bit truncation of that larger value.

#0=A0 0x00000031cfc0e7fd in raise () from /lib64/libpthread.so.0
#1= =A0 0x00000000004ced25 in terminate_due_to_signal (sig=3D11, backtrace_limi= t=3D40) at emacs.c:369
#2=A0 0x00000000004e823e in handle_fatal_signal (= sig=3D15650) at sysdep.c:1626
#3=A0 0x00000000004e85f3 in deliver_thread_signal (sig=3D11) at sysdep.c:16= 00
#4=A0 deliver_fatal_thread_signal (sig=3D11) at sysdep.c:1638
#5= =A0 <signal handler called>
#6=A0 0x0000000000552715 in font_delet= e_unmatched (f=3D0x1102af0, spec=3D18316141) at lisp.h:1170
#7=A0 font_list_entities (f=3D0x1102af0, spec=3D18316141) at font.c:2753#8=A0 0x0000000000556224 in font_find_for_lface (f=3D0x1102af0, attrs=3D0x= 7fffa07f03d0, spec=3D11832930, c=3D-1) at font.c:3212
#9=A0 0x0000000000= 55671b in font_load_for_lface (f=3D0xe81112, attrs=3D0xcd4400, spec=3D84136= 00) at font.c:3282
#10 0x000000000049fc62 in realize_x_face (cache=3D0xd654b0, attrs=3D0x7fffa= 07f03d0, former_face_id=3D<value optimized out>) at xfaces.c:5526
= #11 realize_face (cache=3D0xd654b0, attrs=3D0x7fffa07f03d0, former_face_id= =3D<value optimized out>) at xfaces.c:5419
#12 0x00000000004a0a41 in lookup_face (f=3D<value optimized out>, att= r=3D0x7fffa07f03d0) at xfaces.c:4408
#13 0x00000000004a1a91 in face_at_s= tring_position (w=3D<value optimized out>, string=3D<value optimiz= ed out>, pos=3D<value optimized out>, bufpos=3D0, region_beg=3D-1,= region_end=3D-1, endptr=3D0x7fffa07f0508,
=A0=A0=A0 base_face_id=3DMODE_LINE_INACTIVE_FACE_ID, mouse_p=3D0) at xfaces= .c:6191
#14 0x0000000000444f45 in display_string (string=3D0xb503e8 &quo= t;*scratch*", lisp_string=3D11861937, face_string=3D<value optimize= d out>, face_string_pos=3D1, start=3D0, it=3D0x7fffa07f0750, field_width= =3D12, precision=3D-8,
=A0=A0=A0 max_x=3D<value optimized out>, multibyte=3D0) at xdisp.c:22= 291
#15 0x000000000044582c in display_mode_element (it=3D0x7fffa07f0750,= depth=3D4, field_width=3D0, precision=3D-8, elt=3D<value optimized out&= gt;, props=3D11832930, risky=3D0) at xdisp.c:21044
#16 0x0000000000445e5c in display_mode_element (it=3D0x7fffa07f0750, depth= =3D3, field_width=3D0, precision=3D-8, elt=3D<value optimized out>, p= rops=3D11832930, risky=3D0) at xdisp.c:21216
#17 0x0000000000445e5c in d= isplay_mode_element (it=3D0x7fffa07f0750, depth=3D1, field_width=3D0, preci= sion=3D0, elt=3D<value optimized out>, props=3D11832930, risky=3D0) a= t xdisp.c:21216
#18 0x0000000000446734 in display_mode_line (w=3D<value optimized out>= ;, face_id=3DMODE_LINE_INACTIVE_FACE_ID, format=3D15318150) at xdisp.c:2073= 3
#19 0x0000000000446a10 in display_mode_lines (w=3D0x1177950) at xdisp.= c:20678
#20 0x0000000000451ee4 in redisplay_window (window=3D18315605, just_this_on= e_p=3D0) at xdisp.c:16122
#21 0x0000000000455386 in redisplay_window_0 (= window=3D15208722) at xdisp.c:13819
#22 0x000000000053f9e3 in internal_c= ondition_case_1 (bfun=3D0x455360 <redisplay_window_0>, arg=3D18315605= , handlers=3D12043382, hfun=3D0x425800 <redisplay_window_error>) at e= val.c:1376
#23 0x0000000000431a8d in redisplay_windows (window=3D13452288) at xdisp.c:= 13799
#24 0x0000000000431a54 in redisplay_windows (window=3D13452288) at= xdisp.c:13793
#25 0x0000000000456191 in redisplay_internal () at xdisp.= c:13410
#26 0x00000000004dc905 in read_char (commandflag=3D1, map=3D19881590, prev_= event=3D11832930, used_mouse_menu=3D0x7fffa07f6baf, end_time=3D0x0) at keyb= oard.c:2553
#27 0x00000000004de0f1 in read_key_sequence (keybuf=3D0x7fff= a07f6c10, bufsize=3D30, prompt=3D11832930, dont_downcase_last=3Dfalse, can_= return_switch_frame=3Dtrue, fix_current_buffer=3Dtrue) at keyboard.c:9066 #28 0x00000000004dfb07 in command_loop_1 () at keyboard.c:1436
#29 0x000= 000000053f88e in internal_condition_case (bfun=3D0x4df880 <command_loop_= 1>, handlers=3D11892674, hfun=3D0x4d6e70 <cmd_error>) at eval.c:13= 39
#30 0x00000000004d6ffa in command_loop_2 (ignore=3D<value optimized out&= gt;) at keyboard.c:1163
#31 0x000000000053f74b in internal_catch (tag=3D= <value optimized out>, func=3D0x4d6fe0 <command_loop_2>, arg=3D= 11832930) at eval.c:1113
#32 0x00000000004d63c0 in command_loop () at keyboard.c:1142
#33 recursi= ve_edit_1 () at keyboard.c:781
#34 0x00000000004d7ce6 in Frecursive_edit= () at keyboard.c:845
#35 0x00000000004cf9fd in main (argc=3D<value o= ptimized out>, argv=3D0x7fffa07f71e8) at emacs.c:1570



--001a11c353ac5d609e04e6abd08b-- From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 18 13:57:50 2013 Received: (at 15405) by debbugs.gnu.org; 18 Sep 2013 17:57:50 +0000 Received: from localhost ([127.0.0.1]:47146 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMM0b-0002Wl-Nh for submit@debbugs.gnu.org; Wed, 18 Sep 2013 13:57:49 -0400 Received: from mout.gmx.net ([212.227.17.22]:55714) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMM0Z-0002WX-1v for 15405@debbugs.gnu.org; Wed, 18 Sep 2013 13:57:48 -0400 Received: from rosalinde.fritz.box ([89.245.73.131]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0LkP8Z-1VtTu30QLD-00cPtN for <15405@debbugs.gnu.org>; Wed, 18 Sep 2013 19:57:40 +0200 From: Stephen Berman To: Eli Zaretskii Subject: Re: bug#15405: 24.3; #[] freezes emacs References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> Date: Wed, 18 Sep 2013 19:57:39 +0200 In-Reply-To: <831u4mnlit.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 18 Sep 2013 19:26:50 +0300") Message-ID: <87wqmeau7g.fsf@rosalinde.fritz.box> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K0:Av+dx6A8njaELdyhylaCJ0/WztYOkadbz+XLj470+Brlrc8kiww H/nEE1lAQJb3r1Y8hrzwmtI1zlm/jbPCt37RfpM7Ug+ISda5ODoFnmO0hcTbkVbasFKNg9x T0+HLHBQdbLKPUVlljJjArns+vUpEoz1qaOAtRs76vDnwqyGtG+AH23v+cAEre1k6C+iCQ3 kl8bymrA7WamEF2EIf2mQ== X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 15405 Cc: gundaetiapo@gmail.com, 15405@debbugs.gnu.org, sdl.web@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Wed, 18 Sep 2013 19:26:50 +0300 Eli Zaretskii wrote: >> From: Stephen Berman >> Cc: Barry OReilly , 15405@debbugs.gnu.org, sdl.web@gmail.com >> Date: Wed, 18 Sep 2013 17:41:42 +0200 >> >> #1 0x00000000005d15e9 in font_delete_unmatched (vec=9179653, spec=19000077, >> size=0) at /data/steve/bzr/emacs/quickfixes/src/font.c:2624 >> entity = 12809621 >> val = 12612338 >> prop = 32767 >> i = 201326591 > > Can you show the value of vec, as a Lisp vector, and in particular its > size? If the value of i is indeed that large, there's something > strange happening in that loop. > > The value zero of the argument 'size' also looks strange. In case the followup by Barry OReilly didn't already give you what you need to know, are these the values you asked for, or if not, how do I show them? (gdb) f 1 #1 0x00000000005d15e9 in font_delete_unmatched (vec=9179653, spec=18992085, size=0) at /data/steve/bzr/emacs/quickfixes/src/font.c:2624 2624 entity = AREF (vec, i); (gdb) p vec $1 = 9179653 (gdb) pr #[] (gdb) p i $2 = 201326591 (gdb) pr # (gdb) p ASIZE (vec) $3 = 4611686018628714496 (gdb) pr 1152921504657178624 Steve Berman From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 18 15:26:56 2013 Received: (at 15405) by debbugs.gnu.org; 18 Sep 2013 19:26:56 +0000 Received: from localhost ([127.0.0.1]:47284 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMNOp-0005oE-Pk for submit@debbugs.gnu.org; Wed, 18 Sep 2013 15:26:56 -0400 Received: from mtaout20.012.net.il ([80.179.55.166]:61325) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMNOm-0005ny-Rb for 15405@debbugs.gnu.org; Wed, 18 Sep 2013 15:26:53 -0400 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MTC00F005RWXK00@a-mtaout20.012.net.il> for 15405@debbugs.gnu.org; Wed, 18 Sep 2013 22:26:47 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MTC00FOT60MN760@a-mtaout20.012.net.il>; Wed, 18 Sep 2013 22:26:47 +0300 (IDT) Date: Wed, 18 Sep 2013 22:26:47 +0300 From: Eli Zaretskii Subject: Re: bug#15405: 24.3; #[] freezes emacs In-reply-to: X-012-Sender: halo1@inter.net.il To: Barry OReilly Message-id: <83txhilymg.fsf@gnu.org> References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15405 Cc: stephen.berman@gmx.net, 15405@debbugs.gnu.org, sdl.web@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Wed, 18 Sep 2013 13:31:56 -0400 > From: Barry OReilly > > FWIW, only one M-: #[] is necessary in the reproduction recipe. > > I used: > > diff --git a/src/font.c b/src/font.c > index 68db9f2..0f2d24f 100644 > --- a/src/font.c > +++ b/src/font.c > @@ -2619,6 +2619,12 @@ font_delete_unmatched (Lisp_Object vec, Lisp_Object > spec, int size) > enum font_property_index prop; > int i; > > + bool noninteractive_old = noninteractive; > + { struct timespec debug_ts; char debug_dateStr[20]; { > clock_gettime(CLOCK_REALTIME, &debug_ts); struct tm mytm; > localtime_r(&debug_ts.tv_sec, &mytm); strftime(debug_dateStr, 20, > "%Y-%m-%dT%H:%M:%S", &mytm); } > + printf( "%s.%09ld|pid:%d|tid:%ld|%s|%d| DEBUG: vec size=%ld\n", // > TODO: debugging > + debug_dateStr, debug_ts.tv_nsec, getpid(), > pthread_self(), __FILE__, __LINE__, ASIZE(vec) ); fflush(stdout); } > + Fprin1(vec, Qnil); > + noninteractive = noninteractive_old; > for (val = Qnil, i = ASIZE (vec) - 1; i >= 0; i--) > { > entity = AREF (vec, i); > > Got: > 2013-09-18T13:15:22.845944000|pid:15278|tid:2868504832|font.c|2625| DEBUG: > vec size=4 > 2013-09-18T13:15:22.847422000|pid:15278|tid:2868504832|font.c|2625| DEBUG: > vec size=4611686018628714496 > Fatal error 11: Segmentation fault > > Clearly the value of i was a 32 bit truncation of that larger value. The next step is to put a hardware watchpoint on that vector, and see who thrashes it. From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 18 19:20:45 2013 Received: (at 15405) by debbugs.gnu.org; 18 Sep 2013 23:20:46 +0000 Received: from localhost ([127.0.0.1]:47622 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMR36-0003Ml-Ge for submit@debbugs.gnu.org; Wed, 18 Sep 2013 19:20:44 -0400 Received: from mail-we0-f176.google.com ([74.125.82.176]:59823) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMR33-0003MX-Lc for 15405@debbugs.gnu.org; Wed, 18 Sep 2013 19:20:42 -0400 Received: by mail-we0-f176.google.com with SMTP id u56so7110547wes.35 for <15405@debbugs.gnu.org>; Wed, 18 Sep 2013 16:20:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=fyL8yRPBxvEDfQkBr2hC+a7Xq0tPC2hvKsu7qObqSU0=; b=ZO+T9PqjP1QEXURpWbUJUvBB+lRJzD3Nc8YwVxlyOXpXN4ux2laYnqwamxNsplyDSz 0p89d8cZt0NOKdT6iJ0u4uCCYkj2PNgphu7znCWaUq/mDW8DLFjW23luDnv05rCowcn4 oD3v46b5RSN+rIaQEOrzcLcqgSetOnHNoyOwYYjbogoFUs5AIwV7zvOL6expGsHglfsK LRB3UvueiiMVMCu7yoyvkEz0vImk2yL+968kd8QA65I4zSaXSafrayaiYK2GjTKrUFsZ N1Ev9ibQ1T/6THXGVV8tBhKv5TIirJvwh1LmgeLHLvze+ERWbJYtm/PG+7LkIfyAn6Uu v22g== MIME-Version: 1.0 X-Received: by 10.194.176.163 with SMTP id cj3mr33819826wjc.8.1379546435924; Wed, 18 Sep 2013 16:20:35 -0700 (PDT) Received: by 10.194.234.234 with HTTP; Wed, 18 Sep 2013 16:20:35 -0700 (PDT) In-Reply-To: <83txhilymg.fsf@gnu.org> References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> Date: Wed, 18 Sep 2013 19:20:35 -0400 Message-ID: Subject: Re: bug#15405: 24.3; #[] freezes emacs From: Barry OReilly To: Eli Zaretskii Content-Type: multipart/alternative; boundary=089e013cbfea43b85c04e6b0af06 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15405 Cc: stephen.berman@gmx.net, 15405@debbugs.gnu.org, Leo Liu X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --089e013cbfea43b85c04e6b0af06 Content-Type: text/plain; charset=ISO-8859-1 What I've found so far is that the return from the font_list_entities function's call to font_get_cache is as follows C-x 3 without evalling #[] (Emacs behaves correctly): (1 (# . []) (# . [])) M-: #[] then C-x 3 (Emacs core dumps): (1 (# . #[]) (# . #[])) The out of place #[] becomes the val input to font_delete_unmatched. Separately, I found that calling (eq #[] #[]) also causes the problem. So another reproduction recipe is to let file empty-byte-code.el have content: (eq #[] #[]) (split-window-right) Then: emacs -Q --load empty-byte-code.el Core dump results. The eq function seems pretty harmless, so perhaps it's worth looking at the reader that makes a Lisp_Object out of #[]. Where would I find that? --089e013cbfea43b85c04e6b0af06 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
What I've found so far is that the return from the fon= t_list_entities
function's call to font_get_cache is as follows
<= br>C-x 3 without evalling #[] (Emacs behaves correctly):
(1 (#<font-s= pec x unknown DejaVu\ LGC\ Sans\ Mono nil iso10646-1 nil nil nil nil nil 10= 0 nil ((user-spec . "Monospace 10"))> . []) (#<font-spec x = nil Monospace nil iso8859-1 nil nil nil nil nil nil nil ((:name . "Mon= ospace 10"))> . []))

M-: #[] then C-x 3 (Emacs core dumps):
(1 (#<font-spec x unknown = DejaVu\ LGC\ Sans\ Mono nil iso10646-1 nil nil nil nil nil 100 nil ((user-s= pec . "Monospace 10"))> . #[]) (#<font-spec x nil Monospace= nil iso8859-1 nil nil nil nil nil nil nil ((:name . "Monospace 10&quo= t;))> . #[]))

The out of place #[] becomes the val input to font_delete_unmatched.
Separately, I found that calling (eq #[] #[]) also causes the problem.=
So another reproduction recipe is to let file empty-byte-code.el have content:

=A0 (eq #[] #[])
=A0 (split-window-right)

Then: e= macs -Q --load empty-byte-code.el

Core dump results.

The eq f= unction seems pretty harmless, so perhaps it's worth looking
at the = reader that makes a Lisp_Object out of #[]. Where would I find
that?



--089e013cbfea43b85c04e6b0af06-- From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 18 19:41:14 2013 Received: (at 15405) by debbugs.gnu.org; 18 Sep 2013 23:41:14 +0000 Received: from localhost ([127.0.0.1]:47674 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMRMv-0003sE-Jo for submit@debbugs.gnu.org; Wed, 18 Sep 2013 19:41:13 -0400 Received: from mail-wg0-f49.google.com ([74.125.82.49]:63553) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMRMt-0003s2-JN for 15405@debbugs.gnu.org; Wed, 18 Sep 2013 19:41:12 -0400 Received: by mail-wg0-f49.google.com with SMTP id l18so7062712wgh.28 for <15405@debbugs.gnu.org>; Wed, 18 Sep 2013 16:41:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=qlV1Jw+wHgI/QxEwjSu700D4AmyrmsfMUgJx390gxy4=; b=GRMzUtA6frWFD7aT3zniUlMs8lEb8vKKLnxAnXGrTf4ZNmjwhfZY/FlGWjL7wQkkCq DLfQNwzH0ZXgXKiNu2dU3VH/AZEOh7am4Vgxuz3lhaARcZ7uDVNpglkuTkFvZys/YOrE GR2fcRyG8wuMULfRSS9Jvy8FmznUph5p2MLun/rHt+6JrvGVNNgbxAnb1ikVOhy5px40 8BPd11klYyMPi5wQSWII7FWOQ0qacXBuSL6eVPvnchrlwXzrggBuM7qLlsqlxEjUnomD yVYRKhd5QiAV2a1MehGAhsoSpAPZQAbcDx++0R5eyLzHRV5vy2A1jRTEa30ye3plF+ok 85Jg== MIME-Version: 1.0 X-Received: by 10.180.183.108 with SMTP id el12mr9032718wic.55.1379547665660; Wed, 18 Sep 2013 16:41:05 -0700 (PDT) Received: by 10.194.234.234 with HTTP; Wed, 18 Sep 2013 16:41:05 -0700 (PDT) In-Reply-To: <83txhilymg.fsf@gnu.org> References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> Date: Wed, 18 Sep 2013 19:41:05 -0400 Message-ID: Subject: Re: bug#15405: 24.3; #[] freezes emacs From: Barry OReilly To: Eli Zaretskii Content-Type: multipart/alternative; boundary=001a11c353ac90073104e6b0f8b3 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15405 Cc: stephen.berman@gmx.net, 15405@debbugs.gnu.org, Leo Liu X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --001a11c353ac90073104e6b0f8b3 Content-Type: text/plain; charset=ISO-8859-1 > I found that calling (eq #[] #[]) also causes the problem. I realized eq evals its args, so (eval #[]) is more direct. --001a11c353ac90073104e6b0f8b3 Content-Type: text/html; charset=ISO-8859-1
> I found that calling (eq #[] #[]) also causes the problem.

I realized eq evals its args, so (eval #[]) is more direct.

--001a11c353ac90073104e6b0f8b3-- From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 19 03:00:57 2013 Received: (at 15405) by debbugs.gnu.org; 19 Sep 2013 07:00:58 +0000 Received: from localhost ([127.0.0.1]:48126 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMYES-0006OY-SN for submit@debbugs.gnu.org; Thu, 19 Sep 2013 03:00:57 -0400 Received: from mtaout20.012.net.il ([80.179.55.166]:42327) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VMYEP-0006OJ-8d for 15405@debbugs.gnu.org; Thu, 19 Sep 2013 03:00:54 -0400 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MTD00M0022B4400@a-mtaout20.012.net.il> for 15405@debbugs.gnu.org; Thu, 19 Sep 2013 10:00:46 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MTD00M6B25A4900@a-mtaout20.012.net.il>; Thu, 19 Sep 2013 10:00:46 +0300 (IDT) Date: Thu, 19 Sep 2013 10:00:47 +0300 From: Eli Zaretskii Subject: Re: bug#15405: 24.3; #[] freezes emacs In-reply-to: X-012-Sender: halo1@inter.net.il To: Barry OReilly Message-id: <83ob7pmh28.fsf@gnu.org> References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15405 Cc: stephen.berman@gmx.net, 15405@debbugs.gnu.org, sdl.web@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Wed, 18 Sep 2013 19:20:35 -0400 > From: Barry OReilly > Cc: Leo Liu , 15405@debbugs.gnu.org, stephen.berman@gmx.net > > The eq function seems pretty harmless, so perhaps it's worth looking > at the reader that makes a Lisp_Object out of #[]. Where would I find > that? In lread.c:readevalloop, I guess. Specifically, anything that begins with "#[" is handled in read1 around line 2595. From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 20 11:33:22 2013 Received: (at 15405) by debbugs.gnu.org; 20 Sep 2013 15:33:22 +0000 Received: from localhost ([127.0.0.1]:51371 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VN2ht-000831-Mq for submit@debbugs.gnu.org; Fri, 20 Sep 2013 11:33:22 -0400 Received: from mail-we0-f169.google.com ([74.125.82.169]:51386) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VN2hr-00082p-Ql for 15405@debbugs.gnu.org; Fri, 20 Sep 2013 11:33:20 -0400 Received: by mail-we0-f169.google.com with SMTP id t60so673706wes.28 for <15405@debbugs.gnu.org>; Fri, 20 Sep 2013 08:33:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=dQS2VuMETLkXLuN4sSSEtS3b2Gp96rIJ2esm6r59aOY=; b=epQTS3wYFsu6GYudTZlUtIa014AZuhbmQGB+Eozzq7lNz6Gn4NiV63oFpASUJWdXC5 kbqA6JUxbvJhpNgDGfoE3fSXKwrGaxG4WK7OSuH+pAikdfBeomN7FTnQYxKcKBoxR1V4 eWJRvx4yu9rMXLV6GW5eUeVGTZeYEOQ/1c20j3bEmi7rmU/iC78rBXZPODUZPBGuiDF1 BRMtSriKGjp/7AxwdDvlKDBaNXkVEpxI4+bdKrhu8egPCkJ3FDt9/PL1Ah5N6Yhk0jvw txD8AzJs2rUcKpF9UMUidZ50Gx8BlYaF66x2ghi8Df9nYUHTha1PUtlv3+wLw06kybU3 KS7w== MIME-Version: 1.0 X-Received: by 10.180.183.108 with SMTP id el12mr3139705wic.55.1379691193824; Fri, 20 Sep 2013 08:33:13 -0700 (PDT) Received: by 10.194.234.234 with HTTP; Fri, 20 Sep 2013 08:33:13 -0700 (PDT) In-Reply-To: <83ob7pmh28.fsf@gnu.org> References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> <83ob7pmh28.fsf@gnu.org> Date: Fri, 20 Sep 2013 11:33:13 -0400 Message-ID: Subject: Re: bug#15405: 24.3; #[] freezes emacs From: Barry OReilly To: Eli Zaretskii Content-Type: multipart/alternative; boundary=001a11c353ac81facb04e6d26302 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15405 Cc: stephen.berman@gmx.net, 15405@debbugs.gnu.org, Leo Liu X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --001a11c353ac81facb04e6d26302 Content-Type: text/plain; charset=ISO-8859-1 Here's what happens: - read1 reads the #[] and proceeds to create a vector of zero length - allocate_vectorlike has a special case for zero length vectors: if (len == 0) p = XVECTOR (zero_vector); - zero_vector is a global variable, so all zero length vectors point to it. This can be seen when evalling: (eq [] []) ; Evalutes to t (eq [1 2 3] [1 2 3]) ; Evaluates to nil - After read1 creates the zero_vector, it sets bits in the size field to indicate it is a PVEC_COMPILED pseudo vector - The global zero_vector is thereafter a PVEC_COMPILED pseudo vector, including the empty vector of the font data - Later, the font_list_entities function checks the size of the font data vector using ASIZE. It does not expect a pseudo vector, so it makes no such checks. - Because the pseudo vector bits are set, the size is very large - Indexing too far into the font data vector results in a core dump What should the behavior be? Perhaps (eval #[]) should evaluate to [] instead of #[]? Maybe an eassert in font_list_entities that its vector is not a pseudo vector couldn't hurt either? --001a11c353ac81facb04e6d26302 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Here's what happens:
=A0=A0 - read1 reads the #[] a= nd proceeds to create a vector of zero
=A0=A0=A0=A0 length
=A0=A0 - a= llocate_vectorlike has a special case for zero length vectors:
=A0=A0=A0= =A0=A0=A0 if (len =3D=3D 0)
=A0=A0=A0=A0=A0=A0=A0=A0 p =3D XVECTOR (zero_vector);
=A0=A0 - zero_vect= or is a global variable, so all zero length vectors
=A0=A0=A0=A0 point t= o it. This can be seen when evalling:
=A0=A0=A0=A0=A0=A0 (eq [] []) ; Ev= alutes to t
=A0=A0=A0=A0=A0=A0 (eq [1 2 3] [1 2 3]) ; Evaluates to nil =A0=A0 - After read1 creates the zero_vector, it sets bits in the size
= =A0=A0=A0=A0 field to indicate it is a PVEC_COMPILED pseudo vector
=A0= =A0 - The global zero_vector is thereafter a PVEC_COMPILED pseudo
=A0=A0= =A0=A0 vector, including the empty vector of the font data
=A0=A0 - Later, the font_list_entities function checks the size of the
= =A0=A0=A0=A0 font data vector using ASIZE. It does not expect a pseudo vect= or,
=A0=A0=A0=A0 so it makes no such checks.
=A0=A0 - Because the pse= udo vector bits are set, the size is very large
=A0=A0 - Indexing too far into the font data vector results in a core dump<= br>
What should the behavior be? Perhaps (eval #[]) should evaluate to [= ]
instead of #[]?

Maybe an eassert in font_list_entities that its= vector is not a pseudo
vector couldn't hurt either?

--001a11c353ac81facb04e6d26302-- From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 20 12:13:27 2013 Received: (at 15405) by debbugs.gnu.org; 20 Sep 2013 16:13:27 +0000 Received: from localhost ([127.0.0.1]:51440 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VN3Kg-0000YF-Sh for submit@debbugs.gnu.org; Fri, 20 Sep 2013 12:13:27 -0400 Received: from mail-wg0-f44.google.com ([74.125.82.44]:56170) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VN3Ke-0000Y2-Ia for 15405@debbugs.gnu.org; Fri, 20 Sep 2013 12:13:25 -0400 Received: by mail-wg0-f44.google.com with SMTP id b13so707624wgh.11 for <15405@debbugs.gnu.org>; Fri, 20 Sep 2013 09:13:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=dl2Hwdf+QfszGOoZkPcrWRdvBqopAc7g+g80CEl7l8k=; b=0Tpt+J/WTUMONY7055i+kELZgPyk93pagyIl4cXIh2A9afeDz/O5iz6fIrknweSZtE XPzmfIzIIyJ9y4/RqAKWheWcn1fqvsjcdusdDl6LQKvFx/9geDUP7zyZZNOaDxSHbWEM S/zhMiYqpSDGfGOoDlLQuERwtDSyeo3OccX+hT2RP5oPs5ULPYXs7Z7bRLfsrqslBgOS ww1dSpVojzzzzmrM0LJdqnRN3Ds7F50nkpYkCey3QbkpVJ3/KWa8VPxRVhQDp7vzGqx+ DHWjppOT8dQbSojyyID/Zvdt5op+9aJp9ZqEnPZLICXlZ9p6NmJnsYxsTQMbAoXsyqAv Frsg== MIME-Version: 1.0 X-Received: by 10.180.11.200 with SMTP id s8mr2932331wib.26.1379693598880; Fri, 20 Sep 2013 09:13:18 -0700 (PDT) Received: by 10.194.234.234 with HTTP; Fri, 20 Sep 2013 09:13:18 -0700 (PDT) In-Reply-To: References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> <83ob7pmh28.fsf@gnu.org> Date: Fri, 20 Sep 2013 12:13:18 -0400 Message-ID: Subject: Re: bug#15405: 24.3; #[] freezes emacs From: Barry OReilly To: Eli Zaretskii Content-Type: multipart/alternative; boundary=001a11c23d04dc37ea04e6d2f29c X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15405 Cc: stephen.berman@gmx.net, 15405@debbugs.gnu.org, Leo Liu X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --001a11c23d04dc37ea04e6d2f29c Content-Type: text/plain; charset=ISO-8859-1 > Perhaps (eval #[]) should evaluate to [] instead of #[]? An alternative is to fix the counter intuitive fact that (eq [] []) is t. Doing so could break Elisp code that relies on the behavior, and possibly impact performance. --001a11c23d04dc37ea04e6d2f29c Content-Type: text/html; charset=ISO-8859-1
> Perhaps (eval #[]) should evaluate to [] instead of #[]?

An alternative is to fix the counter intuitive fact that (eq [] [])
is t. Doing so could break Elisp code that relies on the behavior, and
possibly impact performance.

--001a11c23d04dc37ea04e6d2f29c-- From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 20 12:21:40 2013 Received: (at 15405) by debbugs.gnu.org; 20 Sep 2013 16:21:40 +0000 Received: from localhost ([127.0.0.1]:51491 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VN3Sd-0000nA-BL for submit@debbugs.gnu.org; Fri, 20 Sep 2013 12:21:39 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:20936) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VN3Sa-0000mt-64 for 15405@debbugs.gnu.org; Fri, 20 Sep 2013 12:21:37 -0400 Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by userp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id r8KGLT02001832 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 20 Sep 2013 16:21:30 GMT Received: from aserz7022.oracle.com (aserz7022.oracle.com [141.146.126.231]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r8KGLSed008512 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 20 Sep 2013 16:21:29 GMT Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72]) by aserz7022.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r8KGLSU3019272; Fri, 20 Sep 2013 16:21:28 GMT MIME-Version: 1.0 Message-ID: <1842522b-7de0-4409-9cac-71b0b5916722@default> Date: Fri, 20 Sep 2013 09:21:27 -0700 (PDT) From: Drew Adams To: Barry OReilly , Eli Zaretskii Subject: RE: bug#15405: 24.3; #[] freezes emacs References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> <83ob7pmh28.fsf@gnu.org> In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6680.5000 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 15405 Cc: stephen.berman@gmx.net, 15405@debbugs.gnu.org, Leo Liu X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) >> Perhaps (eval #[]) should evaluate to [] instead of #[]? > > An alternative is to fix the counter intuitive fact that (eq [] []) > is t. Doing so could break Elisp code that relies on the behavior, and > possibly impact performance. FWIW, this behavior was introduced only recently: 24.3. It is true for only this one Emacs release (so far). It is an incompatible change from Emacs prior to 24.3, where (eq [] []) is nil. From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 20 15:10:15 2013 Received: (at 15405) by debbugs.gnu.org; 20 Sep 2013 19:10:15 +0000 Received: from localhost ([127.0.0.1]:51763 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VN65m-0006DL-OI for submit@debbugs.gnu.org; Fri, 20 Sep 2013 15:10:14 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:15445) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VN65k-0006D8-Vl for 15405@debbugs.gnu.org; Fri, 20 Sep 2013 15:10:13 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av4EABK/CFFFpY2x/2dsb2JhbABEvw4Xc4IeAQEEAVYjBQsLNBIUGA0kiB4GwS2RCgOkeoFegxM X-IPAS-Result: Av4EABK/CFFFpY2x/2dsb2JhbABEvw4Xc4IeAQEEAVYjBQsLNBIUGA0kiB4GwS2RCgOkeoFegxM X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="28492511" Received: from 69-165-141-177.dsl.teksavvy.com (HELO pastel.home) ([69.165.141.177]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 20 Sep 2013 15:06:05 -0400 Received: by pastel.home (Postfix, from userid 20848) id EB51C66A4A; Fri, 20 Sep 2013 15:09:56 -0400 (EDT) From: Stefan Monnier To: Barry OReilly Subject: Re: bug#15405: 24.3; #[] freezes emacs Message-ID: References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> <83ob7pmh28.fsf@gnu.org> Date: Fri, 20 Sep 2013 15:09:56 -0400 In-Reply-To: (Barry OReilly's message of "Fri, 20 Sep 2013 11:33:13 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 15405 Cc: Eli Zaretskii , stephen.berman@gmx.net, 15405@debbugs.gnu.org, Leo Liu X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > What should the behavior be? (eq #[] #[]) is OK. (eq [] []) is OK. (eq #[] []) is not. So we should fix the code so that there are at least "one empty vector per vector type". Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 20 15:43:37 2013 Received: (at 15405) by debbugs.gnu.org; 20 Sep 2013 19:43:37 +0000 Received: from localhost ([127.0.0.1]:51834 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VN6c4-00071L-UY for submit@debbugs.gnu.org; Fri, 20 Sep 2013 15:43:37 -0400 Received: from mail-wi0-f178.google.com ([209.85.212.178]:44742) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VN6c3-000718-Le for 15405@debbugs.gnu.org; Fri, 20 Sep 2013 15:43:36 -0400 Received: by mail-wi0-f178.google.com with SMTP id hn9so21631wib.5 for <15405@debbugs.gnu.org>; Fri, 20 Sep 2013 12:43:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=oEFSoloRwdK8qt2o2deLdBMhV184b16MMy7f7VeYYmQ=; b=eHFLt0Dicem9a2e35ktBKbtQknZHAK7/CAKzseqTe1Qh0ZDcy6LedH4sRq+QtaVQvo b5MbXgk0P+wsYtBAtUXHew1MtgHRrTwPg7Cwq7N2qKcnLWJgiA0FZpkA8hWmcT3GUqKW otpbpHItWh7y7bdvWcvZkTfUDhnsqvrxQJ8S+rijpWGzmtQdYUK3DwnjsQF7Rt01qR43 HbiJRUq/nQogIBagSmiJnGpP7du7EsNfSiBhRRwAclyqsmuYS0Si4VN9N3G0Pkntj3ze o2Ly+2z4AVPx/PKNrGnRGBX9p1QP+p8iRYlsumNNVvtf2Cu9wV9z2ii/YQwSWys/u0a1 1BYg== MIME-Version: 1.0 X-Received: by 10.194.10.193 with SMTP id k1mr2834395wjb.50.1379706209852; Fri, 20 Sep 2013 12:43:29 -0700 (PDT) Received: by 10.194.234.234 with HTTP; Fri, 20 Sep 2013 12:43:29 -0700 (PDT) In-Reply-To: References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> <83ob7pmh28.fsf@gnu.org> Date: Fri, 20 Sep 2013 15:43:29 -0400 Message-ID: Subject: Re: bug#15405: 24.3; #[] freezes emacs From: Barry OReilly To: Stefan Monnier , dmantipov@yandex.ru Content-Type: multipart/alternative; boundary=047d7b5d4f7888632104e6d5e2a4 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15405 Cc: Eli Zaretskii , stephen.berman@gmx.net, 15405@debbugs.gnu.org, Leo Liu X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --047d7b5d4f7888632104e6d5e2a4 Content-Type: text/plain; charset=ISO-8859-1 > FWIW, this behavior was introduced only recently: 24.3. It is true > for only this one Emacs release (so far). It is an incompatible > change from Emacs prior to 24.3, where (eq [] []) is nil. I found the emacs-devel thread for that: http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00112.html http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00112.html The addition of the zero_vector was tied into other changes of vector allocation, so I don't suppose there were benchmarks specifically for the zero_vector addition? > So we should fix the code so that there are at least "one empty > vector per vector type". Thanks for the allowance of "at least". It would be good to assess the performance impact of "(eq [] []) evaluates to nil". --047d7b5d4f7888632104e6d5e2a4 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
> FWIW, this behavior was introduced only recently: 24.= 3. It is true
> for only this one Emacs release (so far). It is an in= compatible
> change from Emacs prior to 24.3, where (eq [] []) is nil= .

I found the emacs-devel thread for that:
=A0 http://lists.gnu.o= rg/archive/html/emacs-devel/2011-12/msg00112.html
=A0 http://li= sts.gnu.org/archive/html/emacs-devel/2012-06/msg00112.html

The addition of the zero_vector was tied into other changes of vectorallocation, so I don't suppose there were benchmarks specifically for=
the zero_vector addition?

> So we should fix the code so that= there are at least "one empty
> vector per vector type".

Thanks for the allowance of "= ;at least". It would be good to assess the
performance impact of &q= uot;(eq [] []) evaluates to nil".

--047d7b5d4f7888632104e6d5e2a4-- From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 20 17:26:44 2013 Received: (at 15405) by debbugs.gnu.org; 20 Sep 2013 21:26:44 +0000 Received: from localhost ([127.0.0.1]:51960 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VN8Dr-00013V-NZ for submit@debbugs.gnu.org; Fri, 20 Sep 2013 17:26:43 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:38669) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VN8Dq-00013G-RT for 15405@debbugs.gnu.org; Fri, 20 Sep 2013 17:26:43 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: At0KABK/CFFFpY2x/2dsb2JhbABEvg0EAnsXc4IeAQEEAVYjBQsLNBIUGA0kiB4GwS2RCgOkeoFegxM X-IPAS-Result: At0KABK/CFFFpY2x/2dsb2JhbABEvg0EAnsXc4IeAQEEAVYjBQsLNBIUGA0kiB4GwS2RCgOkeoFegxM X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="28506642" Received: from 69-165-141-177.dsl.teksavvy.com (HELO pastel.home) ([69.165.141.177]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 20 Sep 2013 17:22:38 -0400 Received: by pastel.home (Postfix, from userid 20848) id 7F9BD66A4A; Fri, 20 Sep 2013 17:26:36 -0400 (EDT) From: Stefan Monnier To: Barry OReilly Subject: Re: bug#15405: 24.3; #[] freezes emacs Message-ID: References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> <83ob7pmh28.fsf@gnu.org> Date: Fri, 20 Sep 2013 17:26:36 -0400 In-Reply-To: (Barry OReilly's message of "Fri, 20 Sep 2013 15:43:29 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 15405 Cc: Eli Zaretskii , dmantipov@yandex.ru, 15405@debbugs.gnu.org, Leo Liu , stephen.berman@gmx.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > Thanks for the allowance of "at least". It would be good to assess the > performance impact of "(eq [] []) evaluates to nil". I don't think it has any performance impact whatsoever. Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 20 17:38:48 2013 Received: (at 15405) by debbugs.gnu.org; 20 Sep 2013 21:38:48 +0000 Received: from localhost ([127.0.0.1]:51980 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VN8PY-0002OZ-3p for submit@debbugs.gnu.org; Fri, 20 Sep 2013 17:38:48 -0400 Received: from mail-wi0-f180.google.com ([209.85.212.180]:55365) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VN8PW-0002OK-O9 for 15405@debbugs.gnu.org; Fri, 20 Sep 2013 17:38:47 -0400 Received: by mail-wi0-f180.google.com with SMTP id hj3so134089wib.7 for <15405@debbugs.gnu.org>; Fri, 20 Sep 2013 14:38:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=sjOg/R6vNHPMI3xw3jHG+tkSPnfhc/ozfJj61A3QK98=; b=ovHK+Z23jui+KGZ1p85oW3s5V+Lc3XNgwreqMXCcsgMR+TM9J4rtOpfTzQU/5UISGJ zSYWEWT5hWY7FWZ2yKupQ2GSEcBijex4S6dB7tXC2DZZP6P+djgwoKfylEyXKTkPeocY tLFFQAUbQw7v7e54k9uCAQETAseAWZL103TeW0WDhkgWqhq52zHBTGvAHdP44Metl9lq JwYEUIiRjwYNxcwPUr9JiDE1oZWaZUIC102YmPD8TkEBV085wW/7m+YcIP1U4nuItiCx OSA82ZnmePQ9+Vle0T8Y0VkzOODhdH1pk+zw0HslDB1YHNVUhmTIAEco01fTctWVAz/4 IYtA== MIME-Version: 1.0 X-Received: by 10.180.211.111 with SMTP id nb15mr4211151wic.55.1379713120803; Fri, 20 Sep 2013 14:38:40 -0700 (PDT) Received: by 10.194.234.234 with HTTP; Fri, 20 Sep 2013 14:38:40 -0700 (PDT) In-Reply-To: References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> <83ob7pmh28.fsf@gnu.org> Date: Fri, 20 Sep 2013 17:38:40 -0400 Message-ID: Subject: Re: bug#15405: 24.3; #[] freezes emacs From: Barry OReilly To: Stefan Monnier Content-Type: multipart/alternative; boundary=001a11c3485475223204e6d77e48 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15405 Cc: Eli Zaretskii , dmantipov@yandex.ru, 15405@debbugs.gnu.org, Leo Liu , stephen.berman@gmx.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --001a11c3485475223204e6d77e48 Content-Type: text/plain; charset=ISO-8859-1 > I don't think it has any performance impact whatsoever. If performance didn't motivate making a global zero_vector, what did? --001a11c3485475223204e6d77e48 Content-Type: text/html; charset=ISO-8859-1
> I don't think it has any performance impact whatsoever.

If performance didn't motivate making a global zero_vector, what did?

--001a11c3485475223204e6d77e48-- From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 20 21:29:41 2013 Received: (at 15405) by debbugs.gnu.org; 21 Sep 2013 01:29:41 +0000 Received: from localhost ([127.0.0.1]:52208 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VNC0y-0007rS-GL for submit@debbugs.gnu.org; Fri, 20 Sep 2013 21:29:40 -0400 Received: from forward2l.mail.yandex.net ([84.201.143.145]:58635) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VNC0u-0007r6-Ps for 15405@debbugs.gnu.org; Fri, 20 Sep 2013 21:29:38 -0400 Received: from smtp12.mail.yandex.net (smtp12.mail.yandex.net [95.108.131.191]) by forward2l.mail.yandex.net (Yandex) with ESMTP id 87EC91AC0D5C; Sat, 21 Sep 2013 05:29:29 +0400 (MSK) Received: from smtp12.mail.yandex.net (localhost [127.0.0.1]) by smtp12.mail.yandex.net (Yandex) with ESMTP id EAADE16A0485; Sat, 21 Sep 2013 05:29:28 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp12.mail.yandex.net (nwsmtp/Yandex) with ESMTP id lVC7Q64K89-SwSGXd7j; Sat, 21 Sep 2013 05:28:58 +0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1379726938; bh=6tB9d6WHFjzTK+ALvXMZIExR6Fs5Dob9HSY+LAuHj1w=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=b/zYMQHjS5YfaQaKxJ23ygNAjZR8ceVj+KFCyFv10Vt1a50iWUp1rb2QpllXOmnNt PHmau1FMZp+RJkZXc4bBt++CKaBuNn7ZZuPW3/4oWQ5d5EhK9eiV5SWn6Wutl0HRMy 97VC2Upxucaa05lEqdOUPdcMa7972J1vUMSfte3A= Authentication-Results: smtp12.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <523CF65A.7010607@yandex.ru> Date: Sat, 21 Sep 2013 05:28:58 +0400 From: Dmitry Antipov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0 MIME-Version: 1.0 To: Barry OReilly , Stefan Monnier Subject: Re: bug#15405: 24.3; #[] freezes emacs References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> <83ob7pmh28.fsf@gnu.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 15405 Cc: Eli Zaretskii , stephen.berman@gmx.net, 15405@debbugs.gnu.org, Leo Liu X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) On 09/21/2013 01:38 AM, Barry OReilly wrote: > If performance didn't motivate making a global zero_vector, what did? 1) Small memory saving, like with empty strings. 2) Simple implementation - (eq [] []) is trivial. BTW, I have no ideas who and why produces empty bytecode strings. Shouldn't it be disallowed/optimized away? IIUC this is the only PVEC_xxx type which can be zero-sized. Dmitry From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 20 21:39:12 2013 Received: (at 15405) by debbugs.gnu.org; 21 Sep 2013 01:39:12 +0000 Received: from localhost ([127.0.0.1]:52218 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VNCAB-000868-Fx for submit@debbugs.gnu.org; Fri, 20 Sep 2013 21:39:11 -0400 Received: from forward5l.mail.yandex.net ([84.201.143.138]:44729) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VNCA9-00085p-1j for 15405@debbugs.gnu.org; Fri, 20 Sep 2013 21:39:09 -0400 Received: from smtp12.mail.yandex.net (smtp12.mail.yandex.net [95.108.131.191]) by forward5l.mail.yandex.net (Yandex) with ESMTP id B965BC40DC8; Sat, 21 Sep 2013 05:39:01 +0400 (MSK) Received: from smtp12.mail.yandex.net (localhost [127.0.0.1]) by smtp12.mail.yandex.net (Yandex) with ESMTP id CF4AC16A0485; Sat, 21 Sep 2013 05:39:00 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp12.mail.yandex.net (nwsmtp/Yandex) with ESMTP id 22yp0Q0mob-d0SW0Gmj; Sat, 21 Sep 2013 05:39:00 +0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1379727540; bh=y3ZevnXOqBNPj3wmtutRT1F8XRm7Ix/QNZUcNPYfgnY=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=SJd1rSDlpn+rSkup5o996JGR6uabFKSwVO/ZvRiBVF3OBihuNBT4Eqp+fEC8aTAPD /4oKBNjEaIKsxOjf6cY8FCLTrHfH/ydQLFHMxoFarRxrjr7HVuc9YuV017RvsI3z0c aCaEyVVbM1jBp59ICvHcjJ5eig1TBeU/wjYWsJU8= Authentication-Results: smtp12.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <523CF8B4.2000707@yandex.ru> Date: Sat, 21 Sep 2013 05:39:00 +0400 From: Dmitry Antipov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0 MIME-Version: 1.0 To: Barry OReilly , Stefan Monnier Subject: Re: bug#15405: 24.3; #[] freezes emacs References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> <83ob7pmh28.fsf@gnu.org> <523CF65A.7010607@yandex.ru> In-Reply-To: <523CF65A.7010607@yandex.ru> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 15405 Cc: Eli Zaretskii , stephen.berman@gmx.net, 15405@debbugs.gnu.org, Leo Liu X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) On 09/21/2013 05:28 AM, Dmitry Antipov wrote: > BTW, I have no ideas who and why produces empty bytecode strings. > Shouldn't it be disallowed/optimized away? IIUC this is the > only PVEC_xxx type which can be zero-sized. I.e. if empty bytecode strings are never produced by the bytecomp and never used otherwise, shouldn't we just disallow #[] object, like we disallow an integers too large (or too small) for Lisp_Object? Dmitry From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 20 22:52:05 2013 Received: (at 15405) by debbugs.gnu.org; 21 Sep 2013 02:52:05 +0000 Received: from localhost ([127.0.0.1]:52357 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VNDIi-0001PM-TF for submit@debbugs.gnu.org; Fri, 20 Sep 2013 22:52:05 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:64039) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VNDIg-0001Or-AJ for 15405@debbugs.gnu.org; Fri, 20 Sep 2013 22:52:02 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av4EABK/CFHO+LdZ/2dsb2JhbABEvw4Xc4IeAQEEAVYjEAsOJhIUGA0kiB4GwS2RCgOkeoFegxM X-IPAS-Result: Av4EABK/CFHO+LdZ/2dsb2JhbABEvw4Xc4IeAQEEAVYjEAsOJhIUGA0kiB4GwS2RCgOkeoFegxM X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="28535761" Received: from 206-248-183-89.dsl.teksavvy.com (HELO pastel.home) ([206.248.183.89]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 20 Sep 2013 22:47:57 -0400 Received: by pastel.home (Postfix, from userid 20848) id F136962DA1; Fri, 20 Sep 2013 22:51:55 -0400 (EDT) From: Stefan Monnier To: Dmitry Antipov Subject: Re: bug#15405: 24.3; #[] freezes emacs Message-ID: References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> <83ob7pmh28.fsf@gnu.org> <523CF65A.7010607@yandex.ru> Date: Fri, 20 Sep 2013 22:51:55 -0400 In-Reply-To: <523CF65A.7010607@yandex.ru> (Dmitry Antipov's message of "Sat, 21 Sep 2013 05:28:58 +0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 15405 Cc: Eli Zaretskii , Barry OReilly , 15405@debbugs.gnu.org, Leo Liu , stephen.berman@gmx.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) >> If performance didn't motivate making a global zero_vector, what did? IIRC such small objects were too small for the memory allocation routines, so it was easier to handle them this way. Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 25 11:22:38 2013 Received: (at 15405) by debbugs.gnu.org; 25 Sep 2013 15:22:38 +0000 Received: from localhost ([127.0.0.1]:35406 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VOqvF-0002bA-RV for submit@debbugs.gnu.org; Wed, 25 Sep 2013 11:22:38 -0400 Received: from mail-wg0-f43.google.com ([74.125.82.43]:35712) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VOqvD-0002b1-2q for 15405@debbugs.gnu.org; Wed, 25 Sep 2013 11:22:35 -0400 Received: by mail-wg0-f43.google.com with SMTP id z12so6403961wgg.22 for <15405@debbugs.gnu.org>; Wed, 25 Sep 2013 08:22:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=i6/iAcL0ynhOj37O+yK8N4qcuTAQXEqTbZns/bvps5M=; b=hxqGP4Y/nEboeTo+mVc6t7cBiGko/gjVFeaakNoHgyZPhLpkG8y/b5FkzJCmqKDTX1 nGJmgysJhopp1GT67C02R+2U2NXUIRJ6EF4Dw0t9ri6HiPt+BzZ4fg5XWK88WERyltQS g2tHWXhY6kz369Hxcr7nLT2Ic01FKqJVmgvNwfl7YMTspZGvWoO0uXg/c/lXMvCyqjF3 s8efmWnxu96b8zw4rhUOlB7EtWxWRI8O/fNO+jWIAipfBpqo3DktvdmSuEi4XLeYcoBG VJf8GkFPsalvB9sKFV16ONwLjLREVzohnHSzxjD5YxWjd9aV4A007492g/twxrkm4BlH lhSg== MIME-Version: 1.0 X-Received: by 10.194.241.228 with SMTP id wl4mr27921189wjc.2.1380122554104; Wed, 25 Sep 2013 08:22:34 -0700 (PDT) Received: by 10.194.17.72 with HTTP; Wed, 25 Sep 2013 08:22:34 -0700 (PDT) In-Reply-To: References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> <83ob7pmh28.fsf@gnu.org> <523CF65A.7010607@yandex.ru> Date: Wed, 25 Sep 2013 11:22:34 -0400 Message-ID: Subject: Re: bug#15405: 24.3; #[] freezes emacs From: Barry OReilly To: Stefan Monnier Content-Type: multipart/alternative; boundary=089e01493c329582e004e736d21e X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15405 Cc: Eli Zaretskii , Dmitry Antipov , 15405@debbugs.gnu.org, Leo Liu , stephen.berman@gmx.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --089e01493c329582e004e736d21e Content-Type: text/plain; charset=ISO-8859-1 >From the code, I thought I could make the following change and have zero vectors participate in the vector_free_lists. --- a/src/alloc.c +++ b/src/alloc.c @@ -2626,7 +2626,7 @@ verify (VECTOR_BLOCK_SIZE <= (1 << PSEUDOVECTOR_SIZE_BITS)); /* Size of the minimal vector allocated from block. */ -#define VBLOCK_BYTES_MIN vroundup_ct (header_size + sizeof (Lisp_Object)) +#define VBLOCK_BYTES_MIN vroundup_ct (header_size) /* Size of the largest vector allocated from block. */ After debugging the subsequent core dumping, I found it doesn't work because Lisp_Vector is defined by: struct Lisp_Vector { struct vectorlike_header header; union { /* ...but sometimes there is also a pointer internally used in vector allocation code. Usually you don't want to touch this. */ struct Lisp_Vector *next; /* We can't use FLEXIBLE_ARRAY_MEMBER here. */ Lisp_Object contents[1]; } u; }; Without any special casing of zero vectors, the allocator calls SETUP_ON_FREE_LIST for a zero vector and sets v->u.next. But for a zero vector the allocator only allows enough memory for the header, so setting the next pointer corrupts other memory. Of course when a non zero vector is taken from the free list, the next pointer is no longer needed and can be overridden by the contents. Clever use of space. Which of these solutions would be most palatable? - Allocate zero vectors as "large_vectors", but with appropriate renaming of "large". - Allocate separately as a MEM_TYPE_VECTORLIKE, maintain a list of zero_vectors for GC - Smuggle zero vectors on the vector_free_lists with same allocation size as a 1-vector --089e01493c329582e004e736d21e Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
From the code, I thought I could make the following change= and have
zero vectors participate in the vector_free_lists.

--- = a/src/alloc.c
+++ b/src/alloc.c
@@ -2626,7 +2626,7 @@ verify (VECTOR_= BLOCK_SIZE <=3D (1 << PSEUDOVECTOR_SIZE_BITS));
=A0
=A0/* Size of the minimal vector allocated from block.=A0 */
=A0<= br>-#define VBLOCK_BYTES_MIN vroundup_ct (header_size + sizeof (Lisp_Object= ))
+#define VBLOCK_BYTES_MIN vroundup_ct (header_size)
=A0
=A0/* S= ize of the largest vector allocated from block.=A0 */

After debugging the subsequent core dumping, I found it doesn't wor= k
because Lisp_Vector is defined by:

struct Lisp_Vector
=A0 {<= br>=A0=A0=A0 struct vectorlike_header header;
=A0=A0=A0 union {
=A0= =A0=A0=A0=A0 /* ...but sometimes there is also a pointer internally used in=
=A0=A0=A0 =A0vector allocation code.=A0 Usually you don't want to touch= this.=A0 */
=A0=A0=A0=A0=A0 struct Lisp_Vector *next;
=A0=A0=A0=A0= =A0
=A0=A0=A0=A0=A0 /* We can't use FLEXIBLE_ARRAY_MEMBER here.=A0 = */
=A0=A0=A0=A0=A0 Lisp_Object contents[1];
=A0=A0=A0 } u;
=A0 };

Without any special casing of zero vectors, the allocator cal= ls
SETUP_ON_FREE_LIST for a zero vector and sets v->u.next. But for a=
zero vector the allocator only allows enough memory for the header, so<= br> setting the next pointer corrupts other memory.

Of course when a non= zero vector is taken from the free list, the next
pointer is no longer = needed and can be overridden by the contents.
Clever use of space.

Which of these solutions would be most palatable?
=A0 - Allocate zer= o vectors as "large_vectors", but with appropriate
=A0=A0=A0 r= enaming of "large".
=A0 - Allocate separately as a MEM_TYPE_VE= CTORLIKE, maintain a list of
=A0=A0=A0 zero_vectors for GC
=A0 - Smuggle zero vectors on the vector_f= ree_lists with same allocation
=A0=A0=A0 size as a 1-vector

--089e01493c329582e004e736d21e-- From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 25 12:12:42 2013 Received: (at 15405) by debbugs.gnu.org; 25 Sep 2013 16:12:42 +0000 Received: from localhost ([127.0.0.1]:35521 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VOrhi-0003o7-9A for submit@debbugs.gnu.org; Wed, 25 Sep 2013 12:12:42 -0400 Received: from forward10l.mail.yandex.net ([84.201.143.143]:37554) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VOrhf-0003ny-6y for 15405@debbugs.gnu.org; Wed, 25 Sep 2013 12:12:40 -0400 Received: from smtp7.mail.yandex.net (smtp7.mail.yandex.net [77.88.61.55]) by forward10l.mail.yandex.net (Yandex) with ESMTP id 7D389BA2192; Wed, 25 Sep 2013 20:12:37 +0400 (MSK) Received: from smtp7.mail.yandex.net (localhost [127.0.0.1]) by smtp7.mail.yandex.net (Yandex) with ESMTP id E0E1315806C9; Wed, 25 Sep 2013 20:12:36 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp7.mail.yandex.net (nwsmtp/Yandex) with ESMTP id i15TfQOevq-CaiqDT2s; Wed, 25 Sep 2013 20:12:36 +0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1380125556; bh=HpxyPimwPdUxy9ltcaPm5XQ2Nw3xu9Xzi3VPRPd0JEc=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=Wrf8HwD87DsVyxD4a0Xhi/Ip+Chp8nYDYa/msMQ1oud9+oO+IsFYkMwTTRku+K+os R2+ugyQR51yLApZxA4zdK44idGGO2o9kRb0oyU/nFMsubyTTNT8I64k8YCP6QNaJxR 1XINTZgKshigrUh9ftbO6Hw5FZybcmjN9+Dsjl8k= Authentication-Results: smtp7.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <52430B74.3080105@yandex.ru> Date: Wed, 25 Sep 2013 20:12:36 +0400 From: Dmitry Antipov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0 MIME-Version: 1.0 To: Barry OReilly , Stefan Monnier Subject: Re: bug#15405: 24.3; #[] freezes emacs References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> <83ob7pmh28.fsf@gnu.org> <523CF65A.7010607@yandex.ru> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 15405 Cc: Eli Zaretskii , stephen.berman@gmx.net, 15405@debbugs.gnu.org, Leo Liu X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) On 09/25/2013 07:22 PM, Barry OReilly wrote: > From the code, I thought I could make the following change and have > zero vectors participate in the vector_free_lists. Of course, this is technically possible. But I don't see a reason for this at all. Unlike 0 (zero) for arithmetic, "" for string operations, () (or nil) for lists, etc., #[] (empty bytecode string) makes no sense at all. Again, if bytecomp never produces such an objects and they're never used somewhere else, it should be treated as "impossible" object and error should be signaled once such an object is found. . Dmitry From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 25 13:10:33 2013 Received: (at 15405) by debbugs.gnu.org; 25 Sep 2013 17:10:33 +0000 Received: from localhost ([127.0.0.1]:35633 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VOsbh-0005Cy-AZ for submit@debbugs.gnu.org; Wed, 25 Sep 2013 13:10:33 -0400 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:47235) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VOsbe-0005Cq-RR for 15405@debbugs.gnu.org; Wed, 25 Sep 2013 13:10:31 -0400 Received: from faina.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id r8PHAUJZ021341; Wed, 25 Sep 2013 13:10:30 -0400 Received: by faina.iro.umontreal.ca (Postfix, from userid 20848) id E8837B4102; Wed, 25 Sep 2013 13:10:29 -0400 (EDT) From: Stefan Monnier To: Barry OReilly Subject: Re: bug#15405: 24.3; #[] freezes emacs Message-ID: References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> <83ob7pmh28.fsf@gnu.org> <523CF65A.7010607@yandex.ru> Date: Wed, 25 Sep 2013 13:10:29 -0400 In-Reply-To: (Barry OReilly's message of "Wed, 25 Sep 2013 11:22:34 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Level: * X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 1.5 X-NAI-Spam-Rules: 2 Rules triggered SUBJ_EMPTY_BRACKET=1.5, RV4712=0 X-NAI-Spam-Version: 2.3.0.9362 : core <4712> : inlines <101> : streams <1044651> : uri <1547297> X-Spam-Score: -3.3 (---) X-Debbugs-Envelope-To: 15405 Cc: Eli Zaretskii , Dmitry Antipov , 15405@debbugs.gnu.org, Leo Liu , stephen.berman@gmx.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Without any special casing of zero vectors, the allocator calls > SETUP_ON_FREE_LIST for a zero vector and sets v->u.next. But for a > zero vector the allocator only allows enough memory for the header, so > setting the next pointer corrupts other memory. Yes, that's why we have special cased the zero-length vectors. How many different zero vectors do we need? We at least need 2 (the [] and the #[]), but do we need others? If not, let's try and change the code so that we can have those two pre-allocated and use the right one at the right place. Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 25 13:35:41 2013 Received: (at 15405) by debbugs.gnu.org; 25 Sep 2013 17:35:41 +0000 Received: from localhost ([127.0.0.1]:35688 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VOszz-0005p6-SR for submit@debbugs.gnu.org; Wed, 25 Sep 2013 13:35:40 -0400 Received: from chene.dit.umontreal.ca ([132.204.246.20]:33719) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VOszx-0005ox-B0 for 15405@debbugs.gnu.org; Wed, 25 Sep 2013 13:35:37 -0400 Received: from faina.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id r8PHZaiu011054; Wed, 25 Sep 2013 13:35:36 -0400 Received: by faina.iro.umontreal.ca (Postfix, from userid 20848) id 84A7BB4102; Wed, 25 Sep 2013 13:35:36 -0400 (EDT) From: Stefan Monnier To: Dmitry Antipov Subject: Re: bug#15405: 24.3; #[] freezes emacs Message-ID: References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> <83ob7pmh28.fsf@gnu.org> <523CF65A.7010607@yandex.ru> <52430B74.3080105@yandex.ru> Date: Wed, 25 Sep 2013 13:35:36 -0400 In-Reply-To: <52430B74.3080105@yandex.ru> (Dmitry Antipov's message of "Wed, 25 Sep 2013 20:12:36 +0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Level: * X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 1.5 X-NAI-Spam-Rules: 2 Rules triggered SUBJ_EMPTY_BRACKET=1.5, RV4712=0 X-NAI-Spam-Version: 2.3.0.9362 : core <4712> : inlines <101> : streams <1044659> : uri <1547314> X-Spam-Score: -3.3 (---) X-Debbugs-Envelope-To: 15405 Cc: Eli Zaretskii , Barry OReilly , 15405@debbugs.gnu.org, Leo Liu , stephen.berman@gmx.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Of course, this is technically possible. But I don't see > a reason for this at all. Unlike 0 (zero) for arithmetic, "" for > string operations, () (or nil) for lists, etc., #[] (empty bytecode > string) makes no sense at all. Again, if bytecomp never produces such > an objects and they're never used somewhere else, it should be treated > as "impossible" object and error should be signaled once such an > object is found. . Indeed, we could also disallow them. If that's simpler, I'm fine with this solution. Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 25 15:09:27 2013 Received: (at 15405) by debbugs.gnu.org; 25 Sep 2013 19:09:27 +0000 Received: from localhost ([127.0.0.1]:35881 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VOuSk-00082y-W0 for submit@debbugs.gnu.org; Wed, 25 Sep 2013 15:09:27 -0400 Received: from mail-wi0-f175.google.com ([209.85.212.175]:32841) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VOuSh-00082o-1B for 15405@debbugs.gnu.org; Wed, 25 Sep 2013 15:09:23 -0400 Received: by mail-wi0-f175.google.com with SMTP id ez12so5945695wid.14 for <15405@debbugs.gnu.org>; Wed, 25 Sep 2013 12:09:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=rPkVeek0r8A0ElGUR1yJsBAzIjQM/Rdkls1w+whuzpE=; b=TkxxT3EW83HDl3vScJFK1le2pdxgHYNxF/PuSYF5WjTsIILrGfrU4t1M0rPhyak1Hx LtOYrhq+9dBzRgawywlpO31SNRtodsD9PRDayPX9MGwm33XXZVfJ7NqfJwgpeI02EJEe FuJ3RYUD30m+pOBNSVb1rVMjzLUy5MVb9YdczbLLrv3hocKnjSGDhnbmvwekq+11KLxz WGM4dPDLbgUKQLUFMms4YJWZ6seJ/6xlIkFZtFVXFhS/mEpDo02OZJrnBGyLHoFG1tvn 1TYGhqIIMCriQTm+F5ygTcQiWHOv7wQz3f66dL79xXVTICwIP4viuf0x0zxidQxJAcZG pHcA== MIME-Version: 1.0 X-Received: by 10.180.12.243 with SMTP id b19mr23940941wic.18.1380136162222; Wed, 25 Sep 2013 12:09:22 -0700 (PDT) Received: by 10.194.17.72 with HTTP; Wed, 25 Sep 2013 12:09:22 -0700 (PDT) In-Reply-To: References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> <83ob7pmh28.fsf@gnu.org> <523CF65A.7010607@yandex.ru> <52430B74.3080105@yandex.ru> Date: Wed, 25 Sep 2013 15:09:22 -0400 Message-ID: Subject: Re: bug#15405: 24.3; #[] freezes emacs From: Barry OReilly To: Stefan Monnier Content-Type: multipart/alternative; boundary=001a11c351acb0ed2704e739fd85 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 15405 Cc: Eli Zaretskii , Dmitry Antipov , 15405@debbugs.gnu.org, Leo Liu , stephen.berman@gmx.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --001a11c351acb0ed2704e739fd85 Content-Type: text/plain; charset=ISO-8859-1 How's this? Also, when I was looking over the vector alloc code, I found a case where I think int should be size_t. diff --git a/src/alloc.c b/src/alloc.c index ca21ba2..5b63383 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -2889,7 +2889,7 @@ sweep_vectors (void) free_this_block = 1; else { - int tmp; + size_t tmp; SETUP_ON_FREE_LIST (vector, total_bytes, tmp); } } @@ -3132,6 +3132,8 @@ usage: (vector &rest OBJECTS) */) void make_byte_code (struct Lisp_Vector *v) { + /* Don't allow the global zero_vector to become a byte code object. */ + eassert(v->header.size!=0); if (v->header.size > 1 && STRINGP (v->u.contents[1]) && STRING_MULTIBYTE (v->u.contents[1])) /* BYTECODE-STRING must have been produced by Emacs 20.2 or the diff --git a/src/lread.c b/src/lread.c index 017dfcb..fe2b92a 100644 --- a/src/lread.c +++ b/src/lread.c @@ -2597,7 +2597,10 @@ read1 (Lisp_Object readcharfun, int *pch, bool first_in_list) build them using function calls. */ Lisp_Object tmp; tmp = read_vector (readcharfun, 1); - make_byte_code (XVECTOR (tmp)); + struct Lisp_Vector* vec = XVECTOR (tmp); + if (vec->header.size==0) + invalid_syntax ("Empty byte-code object"); + make_byte_code (vec); return tmp; } if (c == '(') --001a11c351acb0ed2704e739fd85 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
How's this?

Also, when I was looking over the v= ector alloc code, I found a case
where I think int should be size_t.
=
diff --git a/src/alloc.c b/src/alloc.c
index ca21ba2..5b63383 100644=
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -2889,7 +2889,7 @@ sweep_vecto= rs (void)
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 free_this_block = =3D 1;
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 else
=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 {
-=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0 int tmp;
+=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 = size_t tmp;
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 SETUP_ON_FREE_LIST (vec= tor, total_bytes, tmp);
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 }<= br>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 }
@@ -3132,6 +3132,8 @@ usage: (vec= tor &rest OBJECTS)=A0 */)
=A0void
=A0make_byte_code (struct Lisp_= Vector *v)
=A0{
+=A0 /* Don't allow the global zero_vector to become a byte cod= e object. */
+=A0 eassert(v->header.size!=3D0);
=A0=A0 if (v->h= eader.size > 1 && STRINGP (v->u.contents[1])
=A0=A0=A0=A0= =A0=A0 && STRING_MULTIBYTE (v->u.contents[1]))
=A0=A0=A0=A0 /* BYTECODE-STRING must have been produced by Emacs 20.2 or th= e
diff --git a/src/lread.c b/src/lread.c
index 017dfcb..fe2b92a 10064= 4
--- a/src/lread.c
+++ b/src/lread.c
@@ -2597,7 +2597,10 @@ read1= (Lisp_Object readcharfun, int *pch, bool first_in_list)
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 build them using function calls.=A0 */=
=A0=A0=A0=A0=A0=A0=A0=A0=A0 Lisp_Object tmp;
=A0=A0=A0=A0=A0=A0=A0= =A0=A0 tmp =3D read_vector (readcharfun, 1);
-=A0=A0=A0=A0=A0=A0=A0=A0 m= ake_byte_code (XVECTOR (tmp));
+=A0=A0=A0=A0=A0=A0=A0=A0 struct Lisp_Vec= tor* vec =3D XVECTOR (tmp);
+=A0=A0=A0=A0=A0=A0=A0=A0 if (vec->header.size=3D=3D0)
+=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 invalid_syntax ("Empty byte-code object");
= +=A0=A0=A0=A0=A0=A0=A0=A0 make_byte_code (vec);
=A0=A0=A0=A0=A0=A0=A0=A0= =A0 return tmp;
=A0=A0=A0=A0=A0=A0=A0 }
=A0=A0=A0=A0=A0=A0 if (c =3D= =3D '(')

--001a11c351acb0ed2704e739fd85-- From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 25 17:50:30 2013 Received: (at 15405) by debbugs.gnu.org; 25 Sep 2013 21:50:30 +0000 Received: from localhost ([127.0.0.1]:36186 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VOwyb-0005WN-LV for submit@debbugs.gnu.org; Wed, 25 Sep 2013 17:50:30 -0400 Received: from forward10l.mail.yandex.net ([84.201.143.143]:33048) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VOwyZ-0005WE-3D for 15405@debbugs.gnu.org; Wed, 25 Sep 2013 17:50:28 -0400 Received: from smtp6.mail.yandex.net (smtp6.mail.yandex.net [77.88.61.56]) by forward10l.mail.yandex.net (Yandex) with ESMTP id 01BFEBA0D2A; Thu, 26 Sep 2013 01:50:24 +0400 (MSK) Received: from smtp6.mail.yandex.net (localhost [127.0.0.1]) by smtp6.mail.yandex.net (Yandex) with ESMTP id 68306164090D; Thu, 26 Sep 2013 01:50:24 +0400 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp6.mail.yandex.net (nwsmtp/Yandex) with ESMTP id tfdZ46jU9n-oO60QBcr; Thu, 26 Sep 2013 01:50:24 +0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1380145824; bh=W/l8RX3UeMg5J95B8kcLwoslSnvAr+4JisiJ2+/Dhkc=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=lMb8fHOoIrK1/tsYqXD6wMatTIlbC9S1n0ft0p7OEfpW/HH+PAu8ig4ixsbkMH0dh CpoAFTbU5luWwFYuixcay7ZuG4ysfMlnnX3h/r4VbLtde4tlvAqdzi9p9ykJ78vAK2 OOOiYrgi3HRK0ABm+Eb6w+yqcguNVW7bEBS9+4n8= Authentication-Results: smtp6.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <52435A9F.9020701@yandex.ru> Date: Thu, 26 Sep 2013 01:50:23 +0400 From: Dmitry Antipov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0 MIME-Version: 1.0 To: Barry OReilly , Stefan Monnier Subject: Re: bug#15405: 24.3; #[] freezes emacs References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> <83ob7pmh28.fsf@gnu.org> <523CF65A.7010607@yandex.ru> <52430B74.3080105@yandex.ru> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 15405 Cc: Eli Zaretskii , stephen.berman@gmx.net, 15405@debbugs.gnu.org, Leo Liu X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) On 09/25/2013 11:09 PM, Barry OReilly wrote: > How's this? OK for me, except... > @@ -3132,6 +3132,8 @@ usage: (vector &rest OBJECTS) */) > void > make_byte_code (struct Lisp_Vector *v) > { > + /* Don't allow the global zero_vector to become a byte code object. */ > + eassert(v->header.size!=0); Since v->header.size is signed (ptrdiff_t), I would suggest eassert (v->header.size > 0) for the better catch of bogus values. Thanks, Dmitry From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 25 21:15:39 2013 Received: (at 15405) by debbugs.gnu.org; 26 Sep 2013 01:15:39 +0000 Received: from localhost ([127.0.0.1]:36465 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VP0B5-0001rV-NJ for submit@debbugs.gnu.org; Wed, 25 Sep 2013 21:15:39 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:2227) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VP0B2-0001rL-5p for 15405@debbugs.gnu.org; Wed, 25 Sep 2013 21:15:32 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av4EABK/CFG4rw0Z/2dsb2JhbABEvw4Xc4IfAQUnLyMQCzQSFBgNJIgkwS2RCgOkeoFegxM X-IPAS-Result: Av4EABK/CFG4rw0Z/2dsb2JhbABEvw4Xc4IfAQUnLyMQCzQSFBgNJIgkwS2RCgOkeoFegxM X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="29092761" Received: from 184-175-13-25.dsl.teksavvy.com (HELO pastel.home) ([184.175.13.25]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 25 Sep 2013 21:11:11 -0400 Received: by pastel.home (Postfix, from userid 20848) id CEAEC62D6C; Wed, 25 Sep 2013 21:15:24 -0400 (EDT) From: Stefan Monnier To: Barry OReilly Subject: Re: bug#15405: 24.3; #[] freezes emacs Message-ID: References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> <83ob7pmh28.fsf@gnu.org> <523CF65A.7010607@yandex.ru> <52430B74.3080105@yandex.ru> Date: Wed, 25 Sep 2013 21:15:24 -0400 In-Reply-To: (Barry OReilly's message of "Wed, 25 Sep 2013 15:09:22 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 15405 Cc: Eli Zaretskii , Dmitry Antipov , 15405@debbugs.gnu.org, Leo Liu , stephen.berman@gmx.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > + /* Don't allow the global zero_vector to become a byte code object. */ > + eassert(v->header.size!=0); Sounds good (and Dmitry's version is even better). > - make_byte_code (XVECTOR (tmp)); > + struct Lisp_Vector* vec = XVECTOR (tmp); > + if (vec->header.size==0) > + invalid_syntax ("Empty byte-code object"); > + make_byte_code (vec); Looks good, tho please keep spaces around infix operators (like `==' above). Can someone install this? Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 25 23:51:53 2013 Received: (at 15405-done) by debbugs.gnu.org; 26 Sep 2013 03:51:53 +0000 Received: from localhost ([127.0.0.1]:36657 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VP2cL-0005bf-69 for submit@debbugs.gnu.org; Wed, 25 Sep 2013 23:51:53 -0400 Received: from mail-wi0-f171.google.com ([209.85.212.171]:48418) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VP2cI-0005bS-Gf for 15405-done@debbugs.gnu.org; Wed, 25 Sep 2013 23:51:50 -0400 Received: by mail-wi0-f171.google.com with SMTP id hm2so6413678wib.16 for <15405-done@debbugs.gnu.org>; Wed, 25 Sep 2013 20:51:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc :content-type; bh=rvxIKJhBQxeUEHprxlNFxsh+8NQaCjXboRn846L6cjc=; b=pBot3+CC88f8WISszYSojJlyKVN+ih9dYlH5GbYuh58HXqAwSBiyovPtShvPu0PixP iqI4Sq1pTrNo3CoqgDZccNP6MUoM4mVkhZae9sOdinMfHmjtyoag3uvYXAJ3hVLZc9tr z9TJrcPgxXixXOyQt0yQfsVdrNnN2vDY4SZW0Ben9N4b3aMmmpEFgFmgU/b39XoVo31P FXRZ33EKXtwOcuBFjiE9HkSTy8Cs6U5OB4Uq2kDHIsu7TZivjhPVpI8FRqYpPRvnIHWZ nAYQN3p/g4YC7XeYT82aCf048lpGUCzqOj6NEEZ7N18fGLxIO8vDKChpiUij7Vp8KPBk 8wRg== MIME-Version: 1.0 X-Received: by 10.194.20.170 with SMTP id o10mr29812254wje.4.1380167509136; Wed, 25 Sep 2013 20:51:49 -0700 (PDT) Received: by 10.194.17.72 with HTTP; Wed, 25 Sep 2013 20:51:49 -0700 (PDT) In-Reply-To: References: <8361tynp73.fsf@gnu.org> <834n9inoa0.fsf@gnu.org> <871u4mcf2h.fsf@rosalinde.fritz.box> <831u4mnlit.fsf@gnu.org> <83txhilymg.fsf@gnu.org> <83ob7pmh28.fsf@gnu.org> <523CF65A.7010607@yandex.ru> <52430B74.3080105@yandex.ru> Date: Wed, 25 Sep 2013 23:51:49 -0400 Message-ID: Subject: Re: bug#15405: 24.3; #[] freezes emacs From: Barry OReilly Content-Type: multipart/alternative; boundary=047d7b5d5c821cdc9104e7414a10 X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 15405-done Cc: 15405-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) --047d7b5d5c821cdc9104e7414a10 Content-Type: text/plain; charset=ISO-8859-1 revno: 114459 --047d7b5d5c821cdc9104e7414a10 Content-Type: text/html; charset=ISO-8859-1
revno: 114459

--047d7b5d5c821cdc9104e7414a10-- From unknown Tue Jun 17 20:27:50 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 24 Oct 2013 11:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 20 22:37:13 2014 Received: (at control) by debbugs.gnu.org; 21 Jan 2014 03:37:13 +0000 Received: from localhost ([127.0.0.1]:58850 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W5S9J-00029o-2T for submit@debbugs.gnu.org; Mon, 20 Jan 2014 22:37:13 -0500 Received: from fencepost.gnu.org ([208.118.235.10]:47085) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W5S9H-00029e-ML for control@debbugs.gnu.org; Mon, 20 Jan 2014 22:37:12 -0500 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1W5S9E-0000HP-9c for control@debbugs.gnu.org; Mon, 20 Jan 2014 22:37:08 -0500 Date: Mon, 20 Jan 2014 22:37:08 -0500 Message-Id: Subject: control message for bug 16512 To: X-Mailer: mail (GNU Mailutils 2.1) From: Glenn Morris X-Spam-Score: -5.6 (-----) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.6 (-----) unarchive 15405 fixed 16512 24.4 forcemerge 15405 16512 From unknown Tue Jun 17 20:27:50 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 18 Feb 2014 12:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator