From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 24 02:25:19 2014 Received: (at submit) by debbugs.gnu.org; 24 Dec 2014 07:25:19 +0000 Received: from localhost ([127.0.0.1]:56158 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y3gJr-0004GU-44 for submit@debbugs.gnu.org; Wed, 24 Dec 2014 02:25:19 -0500 Received: from fely.am-1.org ([78.47.74.50]:45997) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y3gJo-0004GJ-6f for submit@debbugs.gnu.org; Wed, 24 Dec 2014 02:25:17 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=siamics.net; s=a2013295; h=Content-Type:MIME-Version:Message-ID:Date:Sender:Subject:To:From; bh=WNfbMC9e88cCwtWrfK6Ggj7m+YkteH0U8mhUOVTQ208=; b=KkZUvJoaVYLJZfrXUXaYWFqUJj8HmOW3IFHHfEtjXgyAEjaps4QEuKp4aDbDYceOLOLwP6+DKqm4JUM2sH1jJ1fndvPAbypu4vyC13sVsF5NDlALV8S9gOverz+HhfoiISvP8llsqe3RcVeVdDg2W0WuqY3oguIx+efuBCff23w=; Received: from [2a02:2560:6d4:26ca::1:1d] (helo=violet.siamics.net) by fely.am-1.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1Y3gJk-0006Xo-Ql for submit@debbugs.gnu.org; Wed, 24 Dec 2014 07:25:13 +0000 Received: from localhost ([::1] helo=violet.siamics.net) by violet.siamics.net with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1Y3gJd-0004zS-BO for submit@debbugs.gnu.org; Wed, 24 Dec 2014 14:25:05 +0700 From: Ivan Shmakov To: submit@debbugs.gnu.org Subject: SIGSEGV in PSEUDOVECTOR_TYPEP when using find-file on a RTL filename Date: Wed, 24 Dec 2014 07:25:04 +0000 Message-ID: <87mw6dfr1r.fsf@violet.siamics.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.7 (/) 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: 0.7 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Package: emacs As of 36c43e95de5e (2014-12-18 16:44:11 +0000), Emacs segfaults when trying to use find-file on "\u062f\u0646\u06cc" (encoded as a ASCII-safe Emacs string literal here.) Strangely enough, $ emacs -Q handles that filename just fine. The backtrace is MIMEd. --=20 FSF associate member #7257 http://boycottsystemd.org/ =E2=80=A6 3013 B6A0= 230E 334A --=-=-= Content-Type: text/plain Content-Disposition: inline Program received signal SIGSEGV, Segmentation fault. 0x0000000000477d60 in PSEUDOVECTOR_TYPEP (code=14, a=0x400000000d000040) at lisp.h:2400 2400 return ((a->size & (PSEUDOVECTOR_FLAG | PVEC_TYPE_MASK)) (gdb) bt #0 0x0000000000477d60 in PSEUDOVECTOR_TYPEP (code=14, a=0x400000000d000040) at lisp.h:2400 #1 PSEUDOVECTORP (code=14, a=4611686018645491781) at lisp.h:2414 #2 SUB_CHAR_TABLE_P (a=4611686018645491781) at lisp.h:2472 #3 char_table_ref (table=, c=c@entry=4195206) at chartab.c:245 #4 0x000000000055ab5f in CHAR_TABLE_REF (idx=4195206, ct=) at lisp.h:1480 #5 composition_compute_stop_pos (cmp_it=cmp_it@entry=0x7fffffff7f48, charpos=6, bytepos=, endpos=12, string=13239761) at composite.c:1016 #6 0x000000000042543c in set_iterator_to_next (it=0x7fffffff76f0, reseat_p=) at xdisp.c:7620 #7 0x0000000000428793 in display_string (string=0xb58af5 "", lisp_string=4195206, face_string=4611686019484352512, face_string_pos=11897584, start=15, it=0x7fffffff76f0, field_width=12, precision=-13, max_x=0, multibyte=1) at xdisp.c:23793 #8 0x000000000042945a in display_mode_element (it=0xb58af5, depth=4195206, field_width=1056964608, precision=11897584, elt=4611686018645491781, props=5, risky=0) at xdisp.c:22432 #9 0x000000000042a806 in display_mode_element (it=0xb58af5, depth=4195206, field_width=1056964608, precision=11897584, elt=4611686018645491781, props=5, risky=0) at xdisp.c:22604 #10 0x000000000042a806 in display_mode_element (it=0xb58af5, it@entry=0x7fffffff76f0, depth=4195206, depth@entry=0, field_width=1056964608, field_width@entry=0, precision=11897584, precision@entry=0, elt=4611686018645491781, props=5, risky=0) at xdisp.c:22604 #11 0x000000000042b1ab in display_mode_line (w=w@entry=0xb4c630, face_id=MODE_LINE_FACE_ID, format=15192342) at xdisp.c:22121 #12 0x000000000042b488 in display_mode_lines (w=0xb4c630) at xdisp.c:22064 #13 0x00000000004398e6 in redisplay_window (window=11847221, just_this_one_p=114) at xdisp.c:16853 #14 0x000000000043c6c3 in redisplay_window_0 (window=window@entry=11847221) at xdisp.c:14325 #15 0x000000000050374b in internal_condition_case_1 ( bfun=bfun@entry=0x43c690 , arg=11847221, handlers=, hfun=hfun@entry=0x417e20 ) at eval.c:1369 #16 0x000000000041c51e in redisplay_windows (window=11847221) at xdisp.c:14305 #17 0x0000000000435851 in redisplay_internal () at xdisp.c:13901 #18 0x000000000049af1b in read_char (commandflag=11897589, map=4195206, map@entry=21366390, prev_event=4611686019484352512, used_mouse_menu=0xb58af0, used_mouse_menu@entry=0x7fffffffdd4b, end_time=0x2, end_time@entry=0x0) at keyboard.c:2643 #19 0x000000000049d36e in read_key_sequence ( keybuf=keybuf@entry=0x7fffffffde20, prompt=11765618, dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true, fix_current_buffer=fix_current_buffer@entry=true, prevent_redisplay=prevent_redisplay@entry=false, bufsize=30) at keyboard.c:9257 #20 0x000000000049f060 in command_loop_1 () at keyboard.c:1510 #21 0x0000000000503627 in internal_condition_case ( bfun=bfun@entry=0x49ee70 , handlers=, hfun=hfun@entry=0x496630 ) at eval.c:1345 #22 0x000000000049201e in command_loop_2 (ignore=ignore@entry=11765618) at keyboard.c:1245 #23 0x000000000050350b in internal_catch (tag=11813186, func=func@entry=0x492000 , arg=11765618) at eval.c:1106 #24 0x0000000000491fdb in command_loop () at keyboard.c:1224 #25 0x000000000049622a in recursive_edit_1 () at keyboard.c:834 #26 0x0000000000496560 in Frecursive_edit () at keyboard.c:905 #27 0x00000000004084fb in main (argc=1, argv=0x7fffffffe198) at emacs.c:1619 (gdb) --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 24 03:36:51 2014 Received: (at 19435) by debbugs.gnu.org; 24 Dec 2014 08:36:51 +0000 Received: from localhost ([127.0.0.1]:56196 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y3hR4-00066J-MI for submit@debbugs.gnu.org; Wed, 24 Dec 2014 03:36:50 -0500 Received: from forward7l.mail.yandex.net ([84.201.143.140]:37681) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y3hR2-000669-2L for 19435@debbugs.gnu.org; Wed, 24 Dec 2014 03:36:49 -0500 Received: from smtp4h.mail.yandex.net (smtp4h.mail.yandex.net [84.201.186.21]) by forward7l.mail.yandex.net (Yandex) with ESMTP id E8992BC1657; Wed, 24 Dec 2014 11:36:43 +0300 (MSK) Received: from smtp4h.mail.yandex.net (localhost [127.0.0.1]) by smtp4h.mail.yandex.net (Yandex) with ESMTP id 278612C5C52; Wed, 24 Dec 2014 11:36:43 +0300 (MSK) Received: from unknown (unknown [37.139.80.10]) by smtp4h.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id FBdNPDueUb-agYCCcfj; Wed, 24 Dec 2014 11:36:42 +0300 (using TLSv1.2 with cipher AES128-SHA (128/128 bits)) (Client certificate not present) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1419410202; bh=qYiRthM4jW5OjcJbuldhcpUoKRpGgEbBgKlxg1gxfPs=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=N9+zaGI5VQO86drwvupbsQx/4vAaD7xwGZCZrBEgnFvSq2Nd33q0t8NtRw/eQY7Qy qODSeWdVa32XTcG/EM52B089wsOuFL633faD8q2/GwAv5cTHH5jhoN4hFPummLYdS3 /HXIkzk19Nz1VuVUk7qm2iW0Msas7UwXArFMxjdI= Authentication-Results: smtp4h.mail.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <549A7B1A.5070304@yandex.ru> Date: Wed, 24 Dec 2014 11:36:42 +0300 From: Dmitry Antipov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: 19435@debbugs.gnu.org Subject: Re: bug#19435: SIGSEGV in PSEUDOVECTOR_TYPEP when using find-file on a RTL filename References: <87mw6dfr1r.fsf@violet.siamics.net> In-Reply-To: <87mw6dfr1r.fsf@violet.siamics.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 19435 Cc: Eli Zaretskii , Ivan Shmakov 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 12/24/2014 10:25 AM, Ivan Shmakov wrote: > As of 36c43e95de5e (2014-12-18 16:44:11 +0000), Emacs segfaults > when trying to use find-file on "\u062f\u0646\u06cc" (encoded as > a ASCII-safe Emacs string literal here.) > > Strangely enough, $ emacs -Q handles that filename just fine. > > The backtrace is MIMEd. Reproduced. This seems to be a redisplay glitch since composition_compute_stop_pos makes an attempt to move CMP_IT beyond STRING's boundaries, as handled by the following extra eassert: diff --git a/src/composite.c b/src/composite.c index 8982c90..fa60cc0 100644 --- a/src/composite.c +++ b/src/composite.c @@ -1005,7 +1005,10 @@ composition_compute_stop_pos (struct composition_it *cmp_it, ptrdiff_t charpos, while (charpos < endpos) { if (STRINGP (string)) - FETCH_STRING_CHAR_ADVANCE (c, string, charpos, bytepos); + { + eassert (charpos < SCHARS (string) && bytepos < SBYTES (string)); + FETCH_STRING_CHAR_ADVANCE (c, string, charpos, bytepos); + } else FETCH_CHAR_ADVANCE (c, charpos, bytepos); if (c == '\n') Dmitry From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 25 10:43:02 2014 Received: (at 19435-done) by debbugs.gnu.org; 25 Dec 2014 15:43:02 +0000 Received: from localhost ([127.0.0.1]:57471 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y4AZ3-000158-Ll for submit@debbugs.gnu.org; Thu, 25 Dec 2014 10:43:02 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:60120) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y4AZ0-00014s-9Z for 19435-done@debbugs.gnu.org; Thu, 25 Dec 2014 10:43:00 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0NH500900A5SFU00@a-mtaout22.012.net.il> for 19435-done@debbugs.gnu.org; Thu, 25 Dec 2014 17:41:58 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NH5008NGA9XVOA0@a-mtaout22.012.net.il>; Thu, 25 Dec 2014 17:41:58 +0200 (IST) Date: Thu, 25 Dec 2014 17:41:53 +0200 From: Eli Zaretskii Subject: Re: bug#19435: SIGSEGV in PSEUDOVECTOR_TYPEP when using find-file on a RTL filename In-reply-to: <549A7B1A.5070304@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Antipov Message-id: <83tx0jn3cu.fsf@gnu.org> References: <87mw6dfr1r.fsf@violet.siamics.net> <549A7B1A.5070304@yandex.ru> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 19435-done Cc: ivan@siamics.net, 19435-done@debbugs.gnu.org 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, 24 Dec 2014 11:36:42 +0300 > From: Dmitry Antipov > CC: Ivan Shmakov , Eli Zaretskii > > On 12/24/2014 10:25 AM, Ivan Shmakov wrote: > > > As of 36c43e95de5e (2014-12-18 16:44:11 +0000), Emacs segfaults > > when trying to use find-file on "\u062f\u0646\u06cc" (encoded as > > a ASCII-safe Emacs string literal here.) > > > > Strangely enough, $ emacs -Q handles that filename just fine. > > > > The backtrace is MIMEd. > > Reproduced. This seems to be a redisplay glitch since composition_compute_stop_pos > makes an attempt to move CMP_IT beyond STRING's boundaries, as handled by the > following extra eassert: Thanks. This was a very old bug, it was introduced more than 4 years ago (as part of solution of another bug). Now fixed by a41d07b on the emacs-24 branch. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 29 04:01:04 2014 Received: (at control) by debbugs.gnu.org; 29 Dec 2014 09:01:04 +0000 Received: from localhost ([127.0.0.1]:60183 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y5WCG-00050s-FI for submit@debbugs.gnu.org; Mon, 29 Dec 2014 04:01:04 -0500 Received: from fely.am-1.org ([78.47.74.50]:46761) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y5WCD-00050J-N4 for control@debbugs.gnu.org; Mon, 29 Dec 2014 04:01:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=siamics.net; s=a2013295; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:Date:Sender:Subject:To:From; bh=1siiA8qGfEwATDrcsznszeE9vWtzeRu014lFZeJpj0g=; b=GmLdqCa0w0aOvakXKbvs4MxSN0dDhn7hxIlqeS6ccdqmj+pOMa2DyVv52l8oD1hKIjF9iKJ9Y+yJIzRsjkushh3MZiTeOUs2y9XC9rWB1AwRX6jPo99KYsnAqq2lIuadXaTLItpr7F+muFU4INZUzlT8+kjb4nbgcXbsyFfjEIE=; Received: from [2a02:2560:6d4:26ca::1:1d] (helo=violet.siamics.net) by fely.am-1.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1Y5WCC-0005wY-9p for control@debbugs.gnu.org; Mon, 29 Dec 2014 09:01:00 +0000 Received: from localhost ([::1] helo=violet.siamics.net) by violet.siamics.net with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1Y5WC4-0001Tq-8x for control@debbugs.gnu.org; Mon, 29 Dec 2014 16:00:52 +0700 From: Ivan Shmakov To: control@debbugs.gnu.org Subject: tweaking bugs Mail-Followup-To: emacs-devel@gnu.org Date: Mon, 29 Dec 2014 09:00:51 +0000 Message-ID: <87a926bzjw.fsf@violet.siamics.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.7 (/) 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: 0.7 (/) tags 19462 + patch tags 19274 + patch tags 19140 + patch tags 16002 + patch fixed 19435 24.5 thanks The code suggested in #16002 already works; it=E2=80=99s only the matter of where to put it in. (Or not.) --=20 FSF associate member #7257 http://boycottsystemd.org/ =E2=80=A6 3013 B6A0= 230E 334A From unknown Fri Sep 05 11:01:51 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 26 Jan 2015 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