Subject: bug#23522: 25.0.93; SEGFAULT when displaying HELLO

From: Michael Welsh Duggan <[email-masked]>
Date: Fri, 13 May 2016 14:06:28 -0400

Eli Zaretskii <[email-masked]> writes:

>> From: Michael Welsh Duggan <[email-masked]>
>> Cc: [email-masked], Kenichi Handa <[email-masked]>, [email-masked],
>> [email-masked]
>> Date: Fri, 13 May 2016 10:52:31 -0400
>> 
>> > 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.
>
> Which means either a bug in the library or a bad font.

That's my belief as well.

>> >>   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.
>
> OK, but are both fonts installed on both systems?

Not as far as I can determine.

>> > Are both fonts installed on both systems?  Is Lohit
>> > Gujarati a bad font, by any chance?
>> 
>> No idea.  How can I find out?
>
> Install the latest version of it?

Difficult in this instance.  I'll see if it is possible.

>> > Also, do both systems have the same version of libm17n-flt and m17n-db
>> > libraries?
>> 
>> Almost certainly not.
>
> Then perhaps using a newer version will help?
>
> Anyway, this sounds more and more like a bug in one of the libraries
> Emacs uses, so I hope Handa-san will be able to chime in, since he is
> one of the maintainers of those libraries.

Quite possible.  The most important thing, in my mind, is to prevent the
crash if at all possible.  That could be done either by writing code to
catch this type of error, or by blacklisting in configure certain
versions of the library (assuming that this is reasonable, or possible,
or a real solution at all).

-- 
Michael Welsh Duggan
([email-masked])