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

From: Eli Zaretskii <[email-masked]>
Date: Sat, 19 Nov 2016 09:07:50 +0200

> From: Josh Berdine <[email-masked]>
> Date: Fri, 18 Nov 2016 21:31:49 +0000
> 
> (lldb) c
> Process 42346 resuming
> Process 42346 stopped
> * thread #1: tid = 0x449aca, 0x00000001001b5767 Emacs-x86_64-10_9`ns_compute_glyph_string_overhangs + 119, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xd0)
>     frame #0: 0x00000001001b5767 Emacs-x86_64-10_9`ns_compute_glyph_string_overhangs + 119
> Emacs-x86_64-10_9`ns_compute_glyph_string_overhangs:
> ->  0x1001b5767 <+119>: movq   0xd0(%rdi), %rax
>     0x1001b576e <+126>: cmpq   $0x7e00, (%rax)           ; imm = 0x7E00
>     0x1001b5775 <+133>: jne    0x1001b579b               ; <+171>
>     0x1001b5777 <+135>: xorl   %eax, %eax
> (lldb) bt
> * thread #1: tid = 0x449aca, 0x00000001001b5767 Emacs-x86_64-10_9`ns_compute_glyph_string_overhangs + 119, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xd0)
>   * frame #0: 0x00000001001b5767 Emacs-x86_64-10_9`ns_compute_glyph_string_overhangs + 119
>     frame #1: 0x00000001000379d7 Emacs-x86_64-10_9`draw_glyphs + 3415
>     frame #2: 0x0000000100036c16 Emacs-x86_64-10_9`x_write_glyphs + 166
>     frame #3: 0x0000000100009e3e Emacs-x86_64-10_9`update_window_line + 670
>     frame #4: 0x0000000100005edc Emacs-x86_64-10_9`update_window + 4588
>     frame #5: 0x00000001000046a4 Emacs-x86_64-10_9`update_window_tree + 116
>     frame #6: 0x00000001000044e7 Emacs-x86_64-10_9`update_frame + 135

Can you convert the address in frame #0 into line numbers?  Judging by
the faulting address, 0xd0, some pointer in
ns_compute_glyph_string_overhangs is a null pointer, but it's hard to
tell which one without the line number information.