Subject: bug#22818: 25.1.1 Emacs.app crash ns_compute_glyph_string_overhangs

From: Alan Third <[email-masked]>
Date: Sat, 19 Nov 2016 11:18:23 +0000

On Sat, Nov 19, 2016 at 12:27:27PM +0200, Eli Zaretskii wrote:
> So the question now becomes: how did that glyph_string got a NULL
> font?  The answer is somewhere in the code that generates glyph
> strings as part of the call to BUILD_GLYPH_STRINGS.  Can you try
> figuring out why does that happen, by stepping through the code in
> BUILD_GLYPH_STRINGS?

I’m trying to work out how to do this, but in the mean‐time here’s s->face:

(lldb) fr v *s->face
(face) *s->face = {
  lface = {
    [0] = 17952
    [1] = 4311871236
    [2] = 4298401388
    [3] = 32304
    [4] = 482
    [5] = 32304
    [6] = 32304
    [7] = 0
    [8] = 0
    [9] = 4313454388
    [10] = 4313454420
    [11] = 0
    [12] = 0
    [13] = 0
    [14] = 0
    [15] = 4356698701
    [16] = 0
    [17] = 4313448132
    [18] = 44496
  }
  id = 19
  gc = 0x0000000000000000
  stipple = 0
  foreground = 2
  background = 1
  underline_color = 0
  overline_color = 0
  strike_through_color = 0
  box_color = 0
  font = 0x0000000000000000
  fontset = 3
  box_line_width = 0
  box = FACE_NO_BOX
  underline_type = FACE_UNDER_LINE
  use_box_color_for_shadows_p = false
  underline_p = false
  overline_p = false
  strike_through_p = false
  foreground_defaulted_p = false
  background_defaulted_p = false
  underline_defaulted_p = false
  overline_color_defaulted_p = false
  strike_through_color_defaulted_p = false
  box_color_defaulted_p = false
  tty_bold_p = false
  tty_italic_p = false
  tty_underline_p = false
  tty_reverse_p = false
  colors_copied_bitwise_p = true
  overstrike = false
  synth_ital = false
  hash = 7029
  next = 0x000000010fd7e5d0
  prev = 0x000000010c5eda00
  ascii_face = 0x00000001011afac0
}

I don’t know if that tells you anything useful.
-- 
Alan Third