unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Michael Welsh Duggan <mwd@md5i.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: mwd@md5i.com, mwd@cert.org, 23522@debbugs.gnu.org
Subject: bug#23522: 25.0.93; SEGFAULT when displaying HELLO
Date: Fri, 13 May 2016 10:52:31 -0400	[thread overview]
Message-ID: <877feyau34.fsf@md5i.com> (raw)
In-Reply-To: <8337pm9z8j.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 13 May 2016 10:46:36 +0300")

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Michael Welsh Duggan <mwd@md5i.com>
>> Cc: Michael Welsh Duggan <mwd@cert.org>, <rgm@gnu.org>,
>> <23522@debbugs.gnu.org>
>> Date: Thu, 12 May 2016 16:49:15 -0400
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> >> From: Michael Welsh Duggan <mwd@cert.org>
>> >> Cc: <rgm@gnu.org>, <23522@debbugs.gnu.org>
>> >> Date: Thu, 12 May 2016 15:58:43 -0400
>> >> 
>> >> (gdb) up
>> >> #4  0x00000000006b47e2 in ftfont_shape_by_flt (lgstring=14496901, 
>> >>     font=0x17b3660, ft_face=0x1739f10, otf=0x16df8d0, matrix=0x17b3758)
>> >>     at ../../../git/emacs/src/ftfont.c:2655
>> >> (gdb) pp lgstring
>> >> [[#<font-object "-unknown-Lohit
>> >> Gujarati-normal-normal-normal-*-13-*-*-*-*-0-iso10646-1"> 2744 2765
>> >> 2724 2759] nil [0 0 2744 98 10 0 9 8 0 nil] [1 1 2765 115 0 -4 3 0 4
>> >> nil] [2 2 2724 81 9 0 8 8 0 nil] [3 3 2759 110 0 -7 -1 12 -7 nil]
>> >> nil nil nil nil]
>> >> (gdb) 
>> >
>> > In the above stack frame, what is the value of g->g (it's a
>> > structure)?
>> 
>> (gdb) p g->g
>> $3 = {
>>   c = 0, 
>>   code = 175, 
>>   from = 0, 
>>   to = 115, <<<<<<<<<<<<<<<<<<<<<<
>
> This value of 'to' looks bogus (too large) to me.  The line that
> segfaults is
>
>       g->g.to = LGLYPH_TO (LGSTRING_GLYPH (lgstring, g->g.to));
>
> and the LGSTRING_GLYPH macro expands to AREF (lgstring, g->g.to+2), so
> we are indexing an lgstring with an index that's 117, too large.  The
> value of lgstring shown above has only 10 elements, which is
> consistent with the definition of an lgstring (see composite.h, around
> line 270).
>
> So the question becomes: where did that value of 'to' come from, and
> how come its value is bogus?  Can you look at the code before the
> faulting line and figure that out?

It's being filled in by mflt_run() at ftfont.c:2646.

> I'm CC'ing Handa-san, who might have insight for this problem.
>
>> > The crash seems to happen when Emacs tries to display line #10 of
>> > HELLO, which begins with " South Asia:".  The first word after that is
>> > the one that causes the crash.  Can you look at another system, where
>> > there's no crash, and tell which font is used for that word?
>> 
>> Looking at previous frames, it looks like the character is char 383:
>
> That's right.
>
>>              position: 383 of 3322 (11%), column: 16
>>             character: સ (displayed as સ) (codepoint 2744, #o5270, #xab8)
>>     preferred charset: mule-unicode-0100-24ff (Unicode characters of the range U+0100..U+24FF.)
>> code point in charset: 0x3978
>>                script: gujarati
>>                syntax: w 	which means: word
>>              category: .:Base, L:Left-to-right (strong)
>>              to input: type "C-x 8 RET ab8" or "C-x 8 RET GUJARATI LETTER SA"
>>           buffer code: #xE0 #xAA #xB8
>>             file code: ESC #x24 #x2C #x31 #x39 #x78 (encoded by coding system iso-2022-7bit-unix)
>>               display: composed to form "સ્તે" (see below)
>> 
>> Composed with the following character(s) "્તે" using this font:
>>   xft:-unknown-FreeSerif-normal-normal-normal-*-15-*-*-*-*-0-iso10646-1
>> by these glyphs:
>>   [0 3 0 10195 9 0 10 10 0 nil]
>>   [0 3 2724 2103 10 1 10 10 1 nil]
>>   [0 3 2759 2132 0 -8 -2 13 -10 [-1 0 0]]
>
> So why does Emacs use FreeSerif on this system and Lohit Gujarati on
> the faulting one? 

The two systems I have access to are running completely different
distributions of Linux.  I don't have much control over the packages
installed on the system on which Emacs breaks.

> Are both fonts installed on both systems?  Is Lohit
> Gujarati a bad font, by any chance?

No idea.  How can I find out?  The font comes from
/usr/share/fonts/lohit-gujarati/Lohit-Gujarati.ttf .

> Also, do both systems have the same version of libm17n-flt and m17n-db
> libraries?

Almost certainly not.

-- 
Michael Welsh Duggan
(md5i@md5i.com)





  reply	other threads:[~2016-05-13 14:52 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-12 13:05 bug#23522: 25.0.93; SEGFAULT when displaying HELLO Michael Welsh Duggan
2016-05-12 16:40 ` Glenn Morris
2016-05-12 17:23   ` Michael Welsh Duggan
2016-05-12 19:16     ` Eli Zaretskii
2016-05-12 19:58       ` Michael Welsh Duggan
2016-05-12 20:28         ` Eli Zaretskii
2016-05-12 20:49           ` Michael Welsh Duggan
2016-05-13  7:46             ` Eli Zaretskii
2016-05-13 14:52               ` Michael Welsh Duggan [this message]
2016-05-13 15:14                 ` Eli Zaretskii
2016-05-13 18:06                   ` Michael Welsh Duggan
2016-05-13 18:53                     ` Eli Zaretskii
2016-05-13 19:17                       ` Michael Welsh Duggan
2019-11-08  4:22                         ` Stefan Kangas
2019-11-08 10:30                           ` Eli Zaretskii
2019-11-08 15:16                             ` Michael Welsh Duggan
2019-11-09  7:45                               ` Stefan Kangas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877feyau34.fsf@md5i.com \
    --to=mwd@md5i.com \
    --cc=23522@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=mwd@cert.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).