Subject: bug#66416: 29.1; pgtk build crashes due to ftcrfont

From: Yuchen Guo <[email-masked]>
Date: Sat, 14 Oct 2023 19:14:03 +0000

I took the liberty of using a more descriptive email subject.

The build without Native Compilation also crashed, with mostly
identical causes.  This confirms the previous crashes are not one-off
events caused by M-x butterfly.

Here are the usual outputs from

      (gdb) bt full
      (gdb) fr 8
      (gdb) p cache
      (gdb) p ftcrfont_info->metrics[row]
      (gdb) p *ftcrfont_info

#0  0x000069d2a5a93a8c in __pthread_kill_implementation () from /nix/store/ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8/lib/libc.so.6
No symbol table info available.
#1  0x000069d2a5a44c86 in raise () from /nix/store/ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8/lib/libc.so.6
No symbol table info available.
#2  0x0000000000522793 in terminate_due_to_signal (sig=sig@entry=11, backtrace_limit=backtrace_limit@entry=40) at emacs.c:464
No locals.
#3  0x000000000053de25 in handle_fatal_signal (sig=sig@entry=11) at sysdep.c:1783
No locals.
#4  0x000000000053de52 in deliver_thread_signal (sig=sig@entry=11, handler=handler@entry=0x53de17 <handle_fatal_signal>) at sysdep.c:1775
        old_errno = 13
#5  0x000000000053deb6 in deliver_fatal_thread_signal (sig=sig@entry=11) at sysdep.c:1795
No locals.
#6  0x000000000053dfa5 in handle_sigsegv (sig=11, siginfo=<optimized out>, arg=<optimized out>) at sysdep.c:1888
        fatal = <optimized out>
#7  <signal handler called>
No symbol table info available.
#8  ftcrfont_glyph_extents (font=0x3fe60998, glyph=1182, metrics=metrics@entry=0x0) at ftcrfont.c:94
        ftcrfont_info = 0x3fe60998
        row = 9
        col = 30
        cache = 0x12d
#9  0x0000000000616e8e in ftcrfont_draw (s=0x77801d4f6d50, from=0, to=<optimized out>, x=427, y=427, with_background=<optimized out>) at ftcrfont.c:604
        f = 0x42a23c18
        ftcrfont_info = 0x3fe60998
        cr = 0x3f4a1280
        glyphs = 0x77801d4f68a0
        len = 1
        i = 0
#10 0x000000000063d1f9 in pgtk_draw_composite_glyph_string_foreground (s=s@entry=0x77801d4f6d50) at pgtkterm.c:1536
        xoff = <optimized out>
        yoff = <optimized out>
        wadjust = 0
        gstring = XIL(0x3fe60f2d)
        glyph = <optimized out>
        y = 431
        width = <optimized out>
        i = 0
        j = <optimized out>
        x = 426
        font = 0x3fe60998
#11 0x00000000006401c3 in pgtk_draw_glyph_string (s=0x77801d4f6d50) at pgtkterm.c:2525
        relief_drawn_p = false
        cr = 0x3f4a1280
#12 0x00000000004b3264 in draw_glyphs (w=w@entry=0x426092e0, x=483, row=0x3f3ab600, area=area@entry=TEXT_AREA, start=<optimized out>, start@entry=0, end=<optimized out>, end@entry=39, hl=<optimized out>, overlaps=<optimized out>) at xdisp.c:30636
        head = 0x77801d4f8040
        tail = 0x77801d4f69d0
        s = 0x77801d4f6d50
        clip_head = 0x0
        clip_tail = 0x0
        i = <optimized out>
        j = <optimized out>
        x_reached = <optimized out>
        last_x = <optimized out>
        area_left = <optimized out>
        f = <optimized out>
        sa_avail = 15820
        sa_count = <optimized out>
#13 0x00000000004b34f0 in gui_write_glyphs (w=0x426092e0, updated_row=<optimized out>, start=<optimized out>, updated_area=TEXT_AREA, len=39) at xdisp.c:32699
        x = <optimized out>
        hpos = 0
        chpos = 0
#14 0x0000000000466ce1 in update_text_area (w=w@entry=0x426092e0, updated_row=updated_row@entry=0x3f3ab600, vpos=vpos@entry=10, partial_p=partial_p@entry=0x77801d4f8387) at dispnew.c:4001
        current_row = 0x3f3830f0
        desired_row = 0x3f3ab600
        rif = 0xb3e360 <pgtk_redisplay_interface>
        changed_p = false
#15 0x0000000000469f48 in update_window_line (w=w@entry=0x426092e0, vpos=vpos@entry=10, mouse_face_overwritten_p=mouse_face_overwritten_p@entry=0x77801d4f8407) at dispnew.c:4259
        current_row = 0x3f3830f0
        desired_row = 0x3f3ab600
        rif = 0xb3e360 <pgtk_redisplay_interface>
        changed_p = false
        partial_p = false
        was_stipple = <optimized out>
#16 0x000000000046d5ef in update_window (w=w@entry=0x426092e0, force_p=force_p@entry=true) at dispnew.c:3731
        vpos = 10
        i = <optimized out>
        end = 0x3f3ada00
        tab_line_row = <optimized out>
        mouse_face_overwritten_p = false
        n_updated = 0
        mode_line_row = 0x3f3ada00
        changed_p = true
        invisible_rows_marked = false
        row = 0x3f3ab600
        header_line_row = <optimized out>
        yb = <optimized out>
        desired_matrix = 0x4253a6a0
        paused_p = <optimized out>
        preempt_count = <optimized out>
        rif = <optimized out>
#17 0x000000000046d991 in update_window_tree (w=w@entry=0x426092e0, force_p=force_p@entry=true) at dispnew.c:3456
        paused_p = false
#18 0x000000000046da91 in update_frame (f=f@entry=0x42a23c18, force_p=true, force_p@entry=false, inhibit_hairy_id_p=inhibit_hairy_id_p@entry=false) at dispnew.c:3291
        paused_p = <optimized out>
        root_window = 0x426092e0
#19 0x00000000004abe90 in redisplay_internal () at xdisp.c:17122
        gcscrollbars = true
        f_redisplay_flag = false
        f = 0x42a23c18
        w = 0x426092e0
        sw = <optimized out>
        fr = <optimized out>
        pending = false
        must_finish = <optimized out>
        match_p = <optimized out>
        tlbufpos = <optimized out>
        tlendpos = <optimized out>
        number_of_visible_frames = <optimized out>
        sf = <optimized out>
        polling_stopped_here = true
        tail = <optimized out>
        frame = XIL(0x42a23c1d)
        MAX_HSCROLL_RETRIES = MAX_HSCROLL_RETRIES
        hscroll_retries = <optimized out>
        MAX_GARBAGED_FRAME_RETRIES = MAX_GARBAGED_FRAME_RETRIES
        garbaged_frame_retries = 0
        consider_all_windows_p = <optimized out>
        update_miniwindow_p = <optimized out>
        count = <optimized out>
        retry_frame = <optimized out>
#20 0x00000000004ac707 in redisplay () at xdisp.c:16225
No locals.
#21 0x0000000000531938 in read_char (commandflag=1, map=map@entry=XIL(0x428bf0f3), prev_event=XIL(0), used_mouse_menu=used_mouse_menu@entry=0x77801d4f9c0b, end_time=end_time@entry=0x0) at keyboard.c:2636
        echo_current = true
        c = <optimized out>
        local_getcjmp = {{
            __jmpbuf = {0, 131392131275168, 0, 36960, 12440512, 0, 2, 3822},
            __mask_was_saved = 1072989109,
            __saved_mask = {
              __val = {5823051, 36960, 131392131275312, 2, 5940859, 1058952896, 1062107776, 1049704224, 5821465, 0, 1058952896, 1057136819, 5821812, 1057136659, 5482667, 4294967296}
            }
          }}
        save_jump = {{
            __jmpbuf = {0, 40272, 0, 0, 0, 131392131275504, 0, 1111710579},
            __mask_was_saved = 1,
            __saved_mask = {
              __val = {10518585111937802752, 1, 1116467347, 0, 10518585111937802752, 1116467427, 4294967295, 48, 5483074, 0, 0, 1053901840, 10518585111937802752, 8194, 0, 0}
            }
          }}
        tem = <optimized out>
        save = <optimized out>
        previous_echo_area_message = XIL(0)
        also_record = XIL(0)
        reread = false
        recorded = false
        polling_stopped_here = false
        orig_kboard = 0x3f225150
        jmpcount = <optimized out>
#22 0x00000000005330f1 in read_key_sequence (keybuf=keybuf@entry=0x77801d4f9d10, prompt=prompt@entry=XIL(0), dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true, fix_current_buffer=fix_current_buffer@entry=true, prevent_redisplay=prevent_redisplay@entry=false) at keyboard.c:10084
        interrupted_kboard = 0x3f225150
        interrupted_frame = 0x42a23c18
        key = <optimized out>
        used_mouse_menu = false
        echo_local_start = 0
        last_real_key_start = 0
        keys_local_start = 0
        new_binding = <optimized out>
        count = <optimized out>
        t = 0
        echo_start = 0
        keys_start = 0
        current_binding = XIL(0x428bf0f3)
        first_unbound = 31
        mock_input = 0
        used_mouse_menu_history = {false <repeats 30 times>}
        fkey = {
          parent = XIL(0x3f040773),
          map = XIL(0x3f040773),
          start = 0,
          end = 0
        }
        keytran = {
          parent = XIL(0x69d29fddb043),
          map = XIL(0x69d29fddb043),
          start = 0,
          end = 0
        }
        indec = {
          parent = XIL(0x3f0407c3),
          map = XIL(0x3f0407c3),
          start = 0,
          end = 0
        }
        shift_translated = false
        delayed_switch_frame = XIL(0)
        original_uppercase = XIL(0x9060)
        original_uppercase_position = -1
        dummyflag = false
        starting_buffer = 0x3ff483b0
        fake_prefixed_keys = XIL(0)
        first_event = XIL(0)
        second_event = <optimized out>
#23 0x0000000000534557 in command_loop_1 () at keyboard.c:1384
        cmd = <optimized out>
        keybuf = {make_fixnum(8), make_fixnum(104), XIL(0xa0), XIL(0x77801d4f9d80), make_fixnum(0), XIL(0x30), XIL(0), XIL(0x59cb1d), XIL(0x34e0), XIL(0x60), XIL(0), XIL(0), XIL(0), XIL(0x59df58), XIL(0xb), XIL(0xed90), XIL(0x30), XIL(0x3ff483b5), XIL(0), XIL(0x91f9856df0c3e200), XIL(0xbd1480), XIL(0x429b3943), XIL(0x60), XIL(0x529bcb), XIL(0), XIL(0x69d29f4a770d), XIL(0xbd1480), XIL(0x91f9856df0c3e200), XIL(0x60), XIL(0x69d29f76f0db)}
        i = <optimized out>
        prev_modiff = 24
        prev_buffer = 0x69d29f4a7708
#24 0x000000000059d1ac in internal_condition_case (bfun=bfun@entry=0x53431d <command_loop_1>, handlers=handlers@entry=XIL(0x90), hfun=hfun@entry=0x529a60 <cmd_error>) at eval.c:1474
        val = <optimized out>
        c = 0x3e3dcfe0
#25 0x0000000000524551 in command_loop_2 (handlers=handlers@entry=XIL(0x90)) at keyboard.c:1133
        val = <optimized out>
#26 0x000000000059d11a in internal_catch (tag=tag@entry=XIL(0xfc90), func=func@entry=0x524537 <command_loop_2>, arg=arg@entry=XIL(0x90)) at eval.c:1197
        val = <optimized out>
        c = 0x3e3f9630
#27 0x000000000052450e in command_loop () at keyboard.c:1111
No locals.
#28 0x000000000052960a in recursive_edit_1 () at keyboard.c:720
        count = <optimized out>
        val = <optimized out>
#29 0x0000000000529959 in Frecursive_edit () at keyboard.c:803
        count = <optimized out>
        buffer = <optimized out>
#30 0x0000000000523a4c in main (argc=2, argv=<optimized out>) at emacs.c:2521
        stack_bottom_variable = 0x69d2a24c9da0 <(anonymous namespace)::moneypunct_cache_ct>
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = <optimized out>
        dump_mode = <optimized out>
        skip_args = 1
        temacs = 0x0
        attempt_load_pdump = <optimized out>
        only_version = false
        rlim = {
          rlim_cur = 10022912,
          rlim_max = 18446744073709551615
        }
        lc_all = <optimized out>
        sockfd = -1
        module_assertions = <optimized out>
You can't do that without a process to debug.
#8  ftcrfont_glyph_extents (font=0x3fe60998, glyph=1182, metrics=metrics@entry=0x0) at ftcrfont.c:94
warning: Source file is more recent than executable.
94	  if (METRICS_STATUS (cache) == METRICS_INVALID)
$1 = (struct font_metrics *) 0x12d
$2 = (struct font_metrics *) 0x1
$3 = {
  font = {
    header = {
      size = 4611686018997895185
    },
    props = {XIL(0x7c50), XIL(0x3e581280), XIL(0x41493ef0), XIL(0), XIL(0x9870), make_fixnum(20544), make_fixnum(25632), make_fixnum(25664), make_fixnum(27), XIL(0), XIL(0), make_fixnum(0), XIL(0x42277373), XIL(0), XIL(0x40229f14), XIL(0x40229ef4), XIL(0x402299a4)},
    min_width = 8,
    max_width = 29,
    pixel_size = 27,
    height = 39,
    space_width = 10,
    average_width = 15,
    ascent = 31,
    descent = 8,
    underline_thickness = 0,
    underline_position = 3,
    vertical_centering = false,
    baseline_offset = 0,
    relative_compose = 0,
    default_ascent = 0,
    encoding_charset = -1,
    repertory_charset = -1,
    driver = 0xc0ece0 <ftcrhbfont_driver>
  },
  ft_size = 0x0,
  index = 1072040480,
  matrix = {
    xx = 0,
    xy = 1109821571,
    yx = 5,
    yy = 0
  },
  hb_font = 0x0,
  cr_scaled_font = 0x4211a9e0,
  bitmap_position_unit = 0,
  metrics = 0x41412720,
  metrics_nrows = 10
}
quit
#0  0x00006e1dcf955a8c in __pthread_kill_implementation () from /nix/store/ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8/lib/libc.so.6
No symbol table info available.
#1  0x00006e1dcf906c86 in raise () from /nix/store/ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8/lib/libc.so.6
No symbol table info available.
#2  0x0000000000520389 in terminate_due_to_signal (sig=sig@entry=11, backtrace_limit=backtrace_limit@entry=40) at emacs.c:464
No locals.
#3  0x000000000053b9c3 in handle_fatal_signal (sig=sig@entry=11) at sysdep.c:1783
No locals.
#4  0x000000000053b9f0 in deliver_thread_signal (sig=sig@entry=11, handler=handler@entry=0x53b9b5 <handle_fatal_signal>) at sysdep.c:1775
        old_errno = 11
#5  0x000000000053ba54 in deliver_fatal_thread_signal (sig=sig@entry=11) at sysdep.c:1795
No locals.
#6  0x000000000053bb43 in handle_sigsegv (sig=11, siginfo=<optimized out>, arg=<optimized out>) at sysdep.c:1888
        fatal = <optimized out>
#7  <signal handler called>
No symbol table info available.
#8  ftcrfont_glyph_extents (font=0x20a9e158, glyph=1177, metrics=metrics@entry=0x0) at ftcrfont.c:94
        ftcrfont_info = 0x20a9e158
        row = 9
        col = 25
        cache = 0x1000100000000fa
#9  0x000000000060a433 in ftcrfont_draw (s=0x78f5309c62d0, from=0, to=<optimized out>, x=163, y=810, with_background=<optimized out>) at ftcrfont.c:604
        f = 0x2f2eec08
        ftcrfont_info = 0x20a9e158
        cr = 0x2f9c4350
        glyphs = 0x78f5309c5740
        len = 1
        i = 0
#10 0x000000000063079e in pgtk_draw_composite_glyph_string_foreground (s=s@entry=0x78f5309c62d0) at pgtkterm.c:1536
        xoff = <optimized out>
        yoff = <optimized out>
        wadjust = 0
        gstring = XIL(0x2fa14bb5)
        glyph = <optimized out>
        y = 810
        width = <optimized out>
        i = 0
        j = <optimized out>
        x = 148
        font = 0x20a9e158
#11 0x0000000000633768 in pgtk_draw_glyph_string (s=0x78f5309c62d0) at pgtkterm.c:2525
        relief_drawn_p = false
        cr = 0x2f9c4350
#12 0x00000000004b0e64 in draw_glyphs (w=w@entry=0x2f2eee50, x=677, row=0x2f1a1400, area=area@entry=TEXT_AREA, start=<optimized out>, start@entry=0, end=<optimized out>, end@entry=20, hl=<optimized out>, overlaps=<optimized out>) at xdisp.c:30636
        head = 0x78f5309c6590
        tail = 0x78f5309c5870
        s = 0x78f5309c62d0
        clip_head = 0x0
        clip_tail = 0x0
        i = <optimized out>
        j = <optimized out>
        x_reached = <optimized out>
        last_x = <optimized out>
        area_left = <optimized out>
        f = <optimized out>
        sa_avail = 16148
        sa_count = <optimized out>
#13 0x00000000004b10f0 in gui_write_glyphs (w=0x2f2eee50, updated_row=<optimized out>, start=<optimized out>, updated_area=TEXT_AREA, len=20) at xdisp.c:32699
        x = <optimized out>
        hpos = 0
        chpos = 0
#14 0x00000000004648e1 in update_text_area (w=w@entry=0x2f2eee50, updated_row=updated_row@entry=0x2f1a1400, vpos=vpos@entry=20, partial_p=partial_p@entry=0x78f5309c68d7) at dispnew.c:4001
        current_row = 0x351f5410
        desired_row = 0x2f1a1400
        rif = 0xb2d320 <pgtk_redisplay_interface>
        changed_p = false
#15 0x0000000000467b48 in update_window_line (w=w@entry=0x2f2eee50, vpos=vpos@entry=20, mouse_face_overwritten_p=mouse_face_overwritten_p@entry=0x78f5309c6957) at dispnew.c:4259
        current_row = 0x351f5410
        desired_row = 0x2f1a1400
        rif = 0xb2d320 <pgtk_redisplay_interface>
        changed_p = false
        partial_p = false
        was_stipple = <optimized out>
#16 0x000000000046b1ef in update_window (w=w@entry=0x2f2eee50, force_p=force_p@entry=true) at dispnew.c:3731
        vpos = 20
        i = <optimized out>
        end = 0x2f1a2e00
        tab_line_row = <optimized out>
        mouse_face_overwritten_p = false
        n_updated = 0
        mode_line_row = 0x2f1a2e00
        changed_p = true
        invisible_rows_marked = false
        row = 0x2f1a1400
        header_line_row = <optimized out>
        yb = <optimized out>
        desired_matrix = 0x2f28b710
        paused_p = <optimized out>
        preempt_count = <optimized out>
        rif = <optimized out>
#17 0x000000000046b591 in update_window_tree (w=w@entry=0x2f2eee50, force_p=force_p@entry=true) at dispnew.c:3456
        paused_p = false
#18 0x000000000046b691 in update_frame (f=f@entry=0x2f2eec08, force_p=true, force_p@entry=false, inhibit_hairy_id_p=inhibit_hairy_id_p@entry=false) at dispnew.c:3291
        paused_p = <optimized out>
        root_window = 0x2f2eee50
#19 0x00000000004a9e8c in redisplay_internal () at xdisp.c:17225
        mini_window = <optimized out>
        mini_frame = <optimized out>
        w = 0x2f2eee50
        sw = <optimized out>
        fr = <optimized out>
        pending = false
        must_finish = <optimized out>
        match_p = <optimized out>
        tlbufpos = <error reading variable tlbufpos (DWARF-2 expression error: DW_OP_GNU_uninit must always be the very last op.)>
        tlendpos = <optimized out>
        number_of_visible_frames = 2
        sf = <optimized out>
        polling_stopped_here = true
        tail = <optimized out>
        frame = <optimized out>
        MAX_HSCROLL_RETRIES = MAX_HSCROLL_RETRIES
        hscroll_retries = <optimized out>
        MAX_GARBAGED_FRAME_RETRIES = MAX_GARBAGED_FRAME_RETRIES
        garbaged_frame_retries = <optimized out>
        consider_all_windows_p = <optimized out>
        update_miniwindow_p = <optimized out>
        count = <optimized out>
        retry_frame = <optimized out>
#20 0x00000000004aa307 in redisplay () at xdisp.c:16225
No locals.
#21 0x000000000052f4d6 in read_char (commandflag=1, map=map@entry=XIL(0x25eaf2d3), prev_event=XIL(0), used_mouse_menu=used_mouse_menu@entry=0x78f5309c815b, end_time=end_time@entry=0x0) at keyboard.c:2636
        echo_current = true
        c = <optimized out>
        local_getcjmp = {{
            __jmpbuf = {2, 976, 563247573, 36960, 12323008, 0, 2, 6170},
            __mask_was_saved = 563247573,
            __saved_mask = {
              __val = {5811199, 36960, 132994477883264, 2, 0, 0, 5872571, 490317408, 96, 0, 545277696, 537969459, 5809960, 537969475, 5473353, 4294967296}
            }
          }}
        save_jump = {{
            __jmpbuf = {0, 40272, 0, 0, 0, 132994477883456, 0, 691299971},
            __mask_was_saved = 1,
            __saved_mask = {
              __val = {7914867513802438656, 1541, 636154787, 0, 7914867513802438656, 636154627, 4294967295, 48, 5473760, 0, 0, 484746464, 7914867513802438656, 6166, 0, 0}
            }
          }}
        tem = <optimized out>
        save = <optimized out>
        previous_echo_area_message = XIL(0)
        also_record = XIL(0)
        reread = false
        recorded = false
        polling_stopped_here = false
        orig_kboard = 0x1d0744c0
        jmpcount = <optimized out>
#22 0x0000000000530c8f in read_key_sequence (keybuf=keybuf@entry=0x78f5309c8260, prompt=prompt@entry=XIL(0), dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true, fix_current_buffer=fix_current_buffer@entry=true, prevent_redisplay=prevent_redisplay@entry=false) at keyboard.c:10084
        interrupted_kboard = 0x1d0744c0
        interrupted_frame = 0x2f2eec08
        key = <optimized out>
        used_mouse_menu = false
        echo_local_start = 0
        last_real_key_start = 0
        keys_local_start = 0
        new_binding = <optimized out>
        count = <optimized out>
        t = 0
        echo_start = 0
        keys_start = 0
        current_binding = XIL(0x25eaf2d3)
        first_unbound = 31
        mock_input = 0
        used_mouse_menu_history = {false <repeats 30 times>}
        fkey = {
          parent = XIL(0x1ceebe33),
          map = XIL(0x1ceebe33),
          start = 0,
          end = 0
        }
        keytran = {
          parent = XIL(0x6e1dca15dd7b),
          map = XIL(0x6e1dca15dd7b),
          start = 0,
          end = 0
        }
        indec = {
          parent = XIL(0x1ceebed3),
          map = XIL(0x1ceebed3),
          start = 0,
          end = 0
        }
        shift_translated = false
        delayed_switch_frame = XIL(0)
        original_uppercase = XIL(0)
        original_uppercase_position = -1
        dummyflag = false
        starting_buffer = 0x219279d0
        fake_prefixed_keys = XIL(0)
        first_event = XIL(0)
        second_event = <optimized out>
#23 0x00000000005320f5 in command_loop_1 () at keyboard.c:1384
        cmd = <optimized out>
        keybuf = {make_fixnum(22), make_fixnum(104), XIL(0x3), XIL(0x78f5309c82d0), make_fixnum(0), XIL(0x30), XIL(0), XIL(0x599bbb), XIL(0x63f0), XIL(0x60), XIL(0), XIL(0), XIL(0), make_fixnum(1469437), XIL(0xb), XIL(0xed90), XIL(0x30), XIL(0x204c923d), XIL(0), XIL(0x6dd74211ac793800), XIL(0xbb49a0), XIL(0x26034ee3), XIL(0x60), XIL(0x527769), XIL(0), XIL(0x6e1dc99eb70d), XIL(0xbb49a0), XIL(0x6dd74211ac793800), XIL(0x60), XIL(0x6e1dca167b2b)}
        i = <optimized out>
        prev_modiff = 669
        prev_buffer = 0x219279d0
#24 0x000000000059a24a in internal_condition_case (bfun=bfun@entry=0x531ebb <command_loop_1>, handlers=handlers@entry=XIL(0x90), hfun=hfun@entry=0x5275fe <cmd_error>) at eval.c:1474
        val = <optimized out>
        c = 0x1c6b4d00
#25 0x00000000005220ef in command_loop_2 (handlers=handlers@entry=XIL(0x90)) at keyboard.c:1133
        val = <optimized out>
#26 0x000000000059a1b8 in internal_catch (tag=tag@entry=XIL(0xfc90), func=func@entry=0x5220d5 <command_loop_2>, arg=arg@entry=XIL(0x90)) at eval.c:1197
        val = <optimized out>
        c = 0x1c6743c0
#27 0x00000000005220ac in command_loop () at keyboard.c:1111
No locals.
#28 0x00000000005271a8 in recursive_edit_1 () at keyboard.c:720
        count = <optimized out>
        val = <optimized out>
#29 0x00000000005274f7 in Frecursive_edit () at keyboard.c:803
        count = <optimized out>
        buffer = <optimized out>
#30 0x0000000000521642 in main (argc=2, argv=0x78f5309c8618) at emacs.c:2521
        stack_bottom_variable = 0x6e1dcbef0da0 <(anonymous namespace)::moneypunct_cache_ct>
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = <optimized out>
        dump_mode = <optimized out>
        skip_args = 1
        temacs = 0x0
        attempt_load_pdump = <optimized out>
        only_version = false
        rlim = {
          rlim_cur = 10022912,
          rlim_max = 18446744073709551615
        }
        lc_all = <optimized out>
        sockfd = -1
        module_assertions = <optimized out>
You can't do that without a process to debug.
#8  ftcrfont_glyph_extents (font=0x20a9e158, glyph=1177, metrics=metrics@entry=0x0) at ftcrfont.c:94
warning: Source file is more recent than executable.
94	  if (METRICS_STATUS (cache) == METRICS_INVALID)
$1 = (struct font_metrics *) 0x1000100000000fa
$2 = (struct font_metrics *) 0x100010000000000
$3 = {
  font = {
    header = {
      size = 4611686018997895185
    },
    props = {XIL(0x7c50), XIL(0x1c4b3380), XIL(0x1cccc130), XIL(0), XIL(0x9870), make_fixnum(20544), make_fixnum(25632), make_fixnum(25664), make_fixnum(27), XIL(0), XIL(0), make_fixnum(0), XIL(0x2938b6a3), XIL(0), XIL(0x2f874854), XIL(0x2f874874), XIL(0x2f0a7034)},
    min_width = 8,
    max_width = 29,
    pixel_size = 27,
    height = 39,
    space_width = 10,
    average_width = 15,
    ascent = 31,
    descent = 8,
    underline_thickness = 0,
    underline_position = 3,
    vertical_centering = false,
    baseline_offset = 0,
    relative_compose = 0,
    default_ascent = 0,
    encoding_charset = -1,
    repertory_charset = -1,
    driver = 0xbded80 <ftcrhbfont_driver>
  },
  ft_size = 0x0,
  index = 1,
  matrix = {
    xx = 0,
    xy = 1,
    yx = 1,
    yy = 0
  },
  hb_font = 0x0,
  cr_scaled_font = 0x2f0c5b30,
  bitmap_position_unit = 0,
  metrics = 0x206b8c60,
  metrics_nrows = 10
}
quit