On Sat, May 31, 2025 at 5:47 PM Ship Mints wrote: > I'm thinking it might have been this (I cc'd Ben) > commit 9cbbdcee132588a11dc03c3da371176aaa13927c it's the only one that > looks relevant. That said, it is possible I'm tickling a bug that's been > there longer. > > I pulled a master today and recompiled from clean and it still happens. > It's a bit spurious, but regular over the last few days. There are no > stipples used in the buffer in question, so this looks like a side effect > of that change, I'm guessing. There are specified spaces in the body of > the buffer and also in the header-line that are "stretch" glyphs. > > This comes up as I go through a battery of tests for the revised vtable > that has image content in a test jig and with multiple vtables sharing the > same buffer (I doubt that has any bearing). > > I will try to see if I can reproduce without images if that indicates > anything. > > $ uname -a > > Darwin host.local 21.6.0 Darwin Kernel Version 21.6.0: Mon Jun 24 00:56:10 > PDT 2024; root:xnu-8020.240.18.709.2~1/RELEASE_X86_64 x86_64 > > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS > (code=1, address=0xa8) > * frame #0: 0x00000001000e79bb > emacs`prepare_face_for_display(f=0x0000000102f41b70, > face=0x0000000000000000) at xfaces.c:4657:16 [opt] > frame #1: 0x000000010025d599 > emacs`ns_draw_stretch_glyph_string(s=0x00007ff7bfef9eb0) at nsterm.m:4176:8 > [opt] > frame #2: 0x000000010025a532 > emacs`ns_draw_glyph_string(s=0x00007ff7bfef9eb0) at nsterm.m:4571:7 [opt] > frame #3: 0x000000010004bab4 emacs`draw_glyphs(w=0x0000000112f01140, > x=917, row=, area=TEXT_AREA, start=, > end=, hl=DRAW_CURSOR, overlaps=0) at xdisp.c:31666:5 [opt] > frame #4: 0x00000001000501d1 > emacs`draw_phys_cursor_glyph(w=0x0000000112f01140, row=0x0000000181f1e100, > hl=DRAW_CURSOR) at xdisp.c:34369:12 [opt] > frame #5: 0x000000010025c091 > emacs`ns_draw_window_cursor(w=0x0000000112f01140, > glyph_row=0x0000000181f1e100, x=, y=, > cursor_type=, cursor_width=, on_p=, > active_p=true) at nsterm.m:3126:7 [opt] > frame #6: 0x0000000100050d78 > emacs`display_and_set_cursor(w=0x0000000112f01140, on=true, hpos=0, vpos=1, > x=0, y=21) at xdisp.c:34637:5 [opt] > frame #7: 0x000000010000b71b > emacs`gui_update_window_end(w=0x0000000112f01140, cursor_on_p=true, > mouse_face_overwritten_p=true) at dispnew.c:4653:2 [opt] > frame #8: 0x000000010000a931 emacs`update_window(w=) at > dispnew.c:4587:3 [opt] > frame #9: 0x000000010000effc > emacs`update_window_tree(w=0x0000000112f01140) at dispnew.c:4234:2 [opt] > frame #10: 0x000000010000efbe > emacs`update_window_tree(w=0x0000000113224260) at dispnew.c:4232:2 [opt] > frame #11: 0x0000000100009257 emacs`update_frame [inlined] > update_window_frame(f=0x0000000102f41b70) at dispnew.c:3866:3 [opt] > frame #12: 0x00000001000091e3 emacs`update_frame(f=0x0000000102f41b70, > inhibit_scrolling=) at dispnew.c:4118:5 [opt] > frame #13: 0x0000000100037573 emacs`redisplay_internal at > xdisp.c:17736:5 [opt] > frame #14: 0x000000010003d0b6 > emacs`redisplay_preserve_echo_area(from_where=9) at xdisp.c:18001:5 [opt] > frame #15: 0x00000001001eed97 > emacs`wait_reading_process_output(time_limit=, nsecs=0, > read_kbd=, do_display=true, wait_for_cell=0x0000000000000000, > wait_proc=0x0000000000000000, just_wait_proc=0) at process.c:5457:3 [opt] > frame #16: 0x000000010000ca35 emacs`sit_for(timeout=, > reading=true, display_option=1) at dispnew.c:6979:7 [opt] > frame #17: 0x00000001000fefd1 emacs`read_char(commandflag=1, > map=0x000000010f3b77c3, prev_event=0x0000000000000000, > used_mouse_menu=0x00007ff7bfefc46f, end_time=0x0000000000000000) at > keyboard.c:2925:11 [opt] > frame #18: 0x00000001000fb4b4 > emacs`read_key_sequence(keybuf=0x00007ff7bfefc560, prompt=, > dont_downcase_last=false, can_return_switch_frame=true, > fix_current_buffer=true, prevent_redisplay=, > disable_text_conversion_p=) at keyboard.c:10848:12 [opt] > frame #19: 0x00000001000f9529 emacs`command_loop_1 at > keyboard.c:1424:15 [opt] > frame #20: 0x000000010019197b > emacs`internal_condition_case(bfun=(emacs`command_loop_1 at > keyboard.c:1319), handlers=0x0000000000000090, hfun=(emacs`cmd_error at > keyboard.c:965)) at eval.c:1684:25 [opt] > frame #21: 0x00000001000f915e > emacs`command_loop_2(handlers=0x0000000000000090) at keyboard.c:1163:11 > [opt] > frame #22: 0x0000000100190e4f > emacs`internal_catch(tag=0x0000000000011ac0, func=(emacs`command_loop_2 at > keyboard.c:1159), arg=0x0000000000000090) at eval.c:1364:25 [opt] > frame #23: 0x0000000100288a58 emacs`command_loop.cold.1 at > keyboard.c:1141:2 [opt] > frame #24: 0x00000001000f89d4 emacs`command_loop at keyboard.c:1138:5 > [opt] > frame #25: 0x00000001000f889f emacs`recursive_edit_1 at > keyboard.c:749:9 [opt] > frame #26: 0x00000001000f8b40 emacs`Frecursive_edit at > keyboard.c:832:3 [opt] > frame #27: 0x00000001000f79dd emacs`main(argc=, > argv=0x00007ff7bfefcae0) at emacs.c:2582:3 [opt] > frame #28: 0x00000001004d152e dyld`start + 462 > Same result without images so it's not that. I'll see if I can narrow this down more.