unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
To: Simon Leinen <simon.leinen@switch.ch>
Cc: 36758@debbugs.gnu.org
Subject: bug#36758: 27.0.50; Mac OS/Lucid/X11: crash with libharfbuzz
Date: Mon, 22 Jul 2019 18:58:59 +0900	[thread overview]
Message-ID: <wlef2imluk.wl-mituharu@math.s.chiba-u.ac.jp> (raw)
In-Reply-To: <aa4l3empet.fsf@switch.ch>

On Mon, 22 Jul 2019 17:42:02 +0900,
Simon Leinen wrote:
> 
> Dear Mitshuaru,
> 
> thank you for your prompt reply and clear instructions - this is very
> helpful for me as I don't have any experience with lldb!
> 
> > Could you try the following instructions?
> 
> >   1. recompile Emacs with CFLAGS="-O0 -g3"
> >   2. run it under lldb.
> >   3. run GNUS and wait for crash happens.
> >   4. repeat lldb "up" command until it reaches emacs`ftfont_list
> >      (frame #12 in the original stack trace)
> >   5. run "p file" under lldb.
> 
> (lldb) p file
> (FcChar8 *) $0 = 0x00000001071522e0 "/System/Library/Fonts/ArabicUIDisplay.ttc"
> 
> The file exists
> 
> : leinen@macsl[leinen]; ls -l /System/Library/Fonts/ArabicUIDisplay.ttc
> -rw-r--r--  1 root  wheel  983632 Aug 18  2018 /System/Library/Fonts/ArabicUIDisplay.ttc
> 
> Maybe the code has issue with right-to-left scripts?

Thanks.  I rather suspect it has something to do with the versions of
Harbuzz.  Could you try to see if the following test program crash on
your side?

/* cc -g hb-ot-test.c `pkg-config freetype2 harfbuzz --cflags --libs` */
#include <stdio.h>
#include <ft2build.h>
#include <freetype/freetype.h>
#include <hb.h>
#include <hb-ft.h>
#include <hb-ot.h>

int
main ()
{
  printf ("HarfBuzz Version: %s\n", hb_version_string ());

  static FT_Library ft_library;
  FT_Init_FreeType (&ft_library);

  FT_Face ft_face;
  FT_New_Face (ft_library, "/System/Library/Fonts/ArabicUIDisplay.ttc", 0,
	       &ft_face);

  hb_face_t *face = hb_ft_face_create_referenced (ft_face);
  FT_Done_Face (ft_face);

  unsigned int script_count
    = hb_ot_layout_table_get_script_tags (face, HB_OT_TAG_GSUB, 0, NULL, NULL);
  printf ("GSUB script_count = %d\n", script_count);
  script_count
    = hb_ot_layout_table_get_script_tags (face, HB_OT_TAG_GPOS, 0, NULL, NULL);
  printf ("GPOS script_count = %d\n", script_count);
}


On macOS 10.14.6 Beta, I could successfully run it with the following
output:

HarfBuzz Version: 2.5.3
GSUB script_count = 1
GPOS script_count = 1

				     YAMAMOTO Mitsuharu
				mituharu@math.s.chiba-u.ac.jp





  reply	other threads:[~2019-07-22  9:58 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-22  7:09 bug#36758: 27.0.50; Mac OS/Lucid/X11: crash with libharfbuzz Simon Leinen
2019-07-22  8:15 ` YAMAMOTO Mitsuharu
2019-07-22  8:42   ` Simon Leinen
2019-07-22  9:58     ` YAMAMOTO Mitsuharu [this message]
2019-07-22 10:52       ` Simon Leinen
2019-07-22 11:13         ` YAMAMOTO Mitsuharu
2019-07-22 11:19           ` Simon Leinen
2019-07-22 17:20             ` Simon Leinen
2019-07-30  0:03               ` YAMAMOTO Mitsuharu

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=wlef2imluk.wl-mituharu@math.s.chiba-u.ac.jp \
    --to=mituharu@math.s.chiba-u.ac.jp \
    --cc=36758@debbugs.gnu.org \
    --cc=simon.leinen@switch.ch \
    /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).