From unknown Mon Aug 18 00:06:30 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#78654 <78654@debbugs.gnu.org> To: bug#78654 <78654@debbugs.gnu.org> Subject: Status: NS Emacs crashing (since stipples?) Reply-To: bug#78654 <78654@debbugs.gnu.org> Date: Mon, 18 Aug 2025 07:06:30 +0000 retitle 78654 NS Emacs crashing (since stipples?) reassign 78654 emacs submitter 78654 Ship Mints severity 78654 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sat May 31 17:46:38 2025 Received: (at submit) by debbugs.gnu.org; 31 May 2025 21:46:38 +0000 Received: from localhost ([127.0.0.1]:60837 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uLU2G-0002bd-CB for submit@debbugs.gnu.org; Sat, 31 May 2025 17:46:38 -0400 Received: from lists.gnu.org ([2001:470:142::17]:50126) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uLU2C-0002b4-Kt for submit@debbugs.gnu.org; Sat, 31 May 2025 17:46:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uLU25-0001QA-G9 for bug-gnu-emacs@gnu.org; Sat, 31 May 2025 17:46:25 -0400 Received: from mail-vk1-xa32.google.com ([2607:f8b0:4864:20::a32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uLU23-0003Ye-CT for bug-gnu-emacs@gnu.org; Sat, 31 May 2025 17:46:25 -0400 Received: by mail-vk1-xa32.google.com with SMTP id 71dfb90a1353d-51eb1a714bfso2122262e0c.3 for ; Sat, 31 May 2025 14:46:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748727982; x=1749332782; darn=gnu.org; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=FTw0tcDiNDMcWm29d+LB9mjZiHIQfa8opCBn4XZwhrQ=; b=Hw+9eETo53hT5ItU13q6Kib5RQ8GX+Z/MKoaeMQFX+LlT70IhMLzB7C33P1OW+auPd wRa9n4aLVQ56ZgjGy77yQ7BUgvZO7djJ3IC558BBKgM3y8Jmg9BOt4h1vk/GbPhkTrJA qLxLNJW+L+ATgBNXpruASpJklN1uPgRjt1vY573i2ay+m+QhYM0Vubkmjaw2kwIJ+p81 vsqe9f9HmMbkS2Er4mBoRAfl3tQNko5qQ/w7baxOEXw0joaY9vS9GJ0fymdwFFqghR7P CmTYn1jTvVogOW4zku/kxQmex8wUjXUA/MahFc1crFFPMr9MqPi+moen3jywbwpmPKZ0 lHtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748727982; x=1749332782; h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=FTw0tcDiNDMcWm29d+LB9mjZiHIQfa8opCBn4XZwhrQ=; b=gAQzcbjASVgFShertf5EBzryYRWNskX3mDMXStL6Hxa2hzgQ516c1sEAyTcuienjXb vJf6OgKkosGeIGtIRzAsCMqXGFFX419QHsey2mXMEvAN3ciKLbgv1KYtSS+YmFsS1lXB EyhKyRNsk4/jcyOq4vNALomE1QkUOSbFEDJ7RRMvEs3LWshJrnX0x4kdPM6KgnUaTTTT cWkWfUmrJq+Yip6bjysn4OkPqgnMbDRy3SyIuYvYHd7HCLXj+rh1tBhMfj2sBcMnJg+9 5Wmjr6r478NE+nfEv7y52ic5zARZo16Ssb5C6FrscTDH3YhQkYBDJnDfyXE1b3RfwjIg +SPA== X-Gm-Message-State: AOJu0Yzy5D60k6oJCexsdnryVkj12zmnF1YsSHT3R4kRK3Wr0MMmIn80 myRAld/U06KUrvIi8pDbyxLu7B3/nP5xLnuGZSDvfgSIW8lcoicG59+mIfB9o71IuthxErbjMnm ocgggELBWmOJ99KJhUKHqIoEkRMH8MFuYxFJi X-Gm-Gg: ASbGncvMsWn7rbS8bmM6Xel0eklfMHL9lc+PvqGNOaOR9qjlYRHuROtk8YEPqvxyY3E 964bRJ6bKiiF3T4WchgU+FBHCgjgRAsykGLWN8146QrWpASbnsD/n6U81+RfTI5maqQKPXqGpNC WpXXuE4hT1c0+mE0qIIQu0Sh+w1xmre6QflGM= X-Google-Smtp-Source: AGHT+IGMmKu1SlukOjlDvXQ1yO26Ib3D2PHLXso/XTT7AMh2XCEs1ra0RXCL5rGUe7h0+GnM5Bc4ytMoqF6O0DLNQp0= X-Received: by 2002:a05:6122:790:b0:530:2c65:5bb9 with SMTP id 71dfb90a1353d-53081106f5bmr6711023e0c.8.1748727981986; Sat, 31 May 2025 14:46:21 -0700 (PDT) MIME-Version: 1.0 From: Ship Mints Date: Sat, 31 May 2025 17:46:11 -0400 X-Gm-Features: AX0GCFvmX5K16ca0kmoD3AxnzhOe-K-Jp8I9dH4dCydROa1oQgkM3Ic8t1iv9uw Message-ID: Subject: NS Emacs crashing (since stipples?) To: bug-gnu-emacs@gnu.org Content-Type: multipart/alternative; boundary="0000000000002cda5c0636757657" Received-SPF: pass client-ip=2607:f8b0:4864:20::a32; envelope-from=shipmints@gmail.com; helo=mail-vk1-xa32.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit Cc: ben@bensimms.moe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --0000000000002cda5c0636757657 Content-Type: text/plain; charset="UTF-8" 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 -Stephane --0000000000002cda5c0636757657 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I'm thinking it might have been this (I cc'd Ben) commit=C2=A09c= bbdcee132588a11dc03c3da371176aaa13927c it's the only one that looks rel= evant.=C2=A0 That said, it is possible I'm tickling a bug that's be= en there longer.

I pulled a master today and recompiled from clean and it still happens.= =C2=A0 It's a bit spurious, but regular over the last few days.=C2=A0 T= here are no stipples used in the buffer in question, so this looks like a s= ide effect of that change, I'm guessing.=C2=A0 There are specified spac= es in the body of the buffer and also in the header-line that are "str= etch" glyphs.

This comes up as I go through a battery of tests for the revised vtab= le that has image content=C2=A0in a test jig and with multiple vtables shar= ing the same buffer (I doubt that has any bearing).

I will try to see if I can reproduce= without images if that indicates anything.=C2=A0=C2=A0

$ unam= e -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

* threa= d #1, queue =3D 'com.apple.main-thread', stop reason =3D EXC_BAD_AC= CESS (code=3D1, address=3D0xa8)
=C2=A0 * frame #0: 0x00000001000e79bb em= acs`prepare_face_for_display(f=3D0x0000000102f41b70, face=3D0x0000000000000= 000) at xfaces.c:4657:16 [opt]
=C2=A0 =C2=A0 frame #1: 0x000000010025d59= 9 emacs`ns_draw_stretch_glyph_string(s=3D0x00007ff7bfef9eb0) at nsterm.m:41= 76:8 [opt]
=C2=A0 =C2=A0 frame #2: 0x000000010025a532 emacs`ns_draw_glyp= h_string(s=3D0x00007ff7bfef9eb0) at nsterm.m:4571:7 [opt]
=C2=A0 =C2=A0 = frame #3: 0x000000010004bab4 emacs`draw_glyphs(w=3D0x0000000112f01140, x=3D= 917, row=3D<unavailable>, area=3DTEXT_AREA, start=3D<unavailable&g= t;, end=3D<unavailable>, hl=3DDRAW_CURSOR, overlaps=3D0) at xdisp.c:3= 1666:5 [opt]
=C2=A0 =C2=A0 frame #4: 0x00000001000501d1 emacs`draw_phys_= cursor_glyph(w=3D0x0000000112f01140, row=3D0x0000000181f1e100, hl=3DDRAW_CU= RSOR) at xdisp.c:34369:12 [opt]
=C2=A0 =C2=A0 frame #5: 0x000000010025c0= 91 emacs`ns_draw_window_cursor(w=3D0x0000000112f01140, glyph_row=3D0x000000= 0181f1e100, x=3D<unavailable>, y=3D<unavailable>, cursor_type= =3D<unavailable>, cursor_width=3D<unavailable>, on_p=3D<unav= ailable>, active_p=3Dtrue) at nsterm.m:3126:7 [opt]
=C2=A0 =C2=A0 fra= me #6: 0x0000000100050d78 emacs`display_and_set_cursor(w=3D0x0000000112f011= 40, on=3Dtrue, hpos=3D0, vpos=3D1, x=3D0, y=3D21) at xdisp.c:34637:5 [opt]<= br>=C2=A0 =C2=A0 frame #7: 0x000000010000b71b emacs`gui_update_window_end(w= =3D0x0000000112f01140, cursor_on_p=3Dtrue, mouse_face_overwritten_p=3Dtrue)= at dispnew.c:4653:2 [opt]
=C2=A0 =C2=A0 frame #8: 0x000000010000a931 em= acs`update_window(w=3D<unavailable>) at dispnew.c:4587:3 [opt]
=C2= =A0 =C2=A0 frame #9: 0x000000010000effc emacs`update_window_tree(w=3D0x0000= 000112f01140) at dispnew.c:4234:2 [opt]
=C2=A0 =C2=A0 frame #10: 0x00000= 0010000efbe emacs`update_window_tree(w=3D0x0000000113224260) at dispnew.c:4= 232:2 [opt]
=C2=A0 =C2=A0 frame #11: 0x0000000100009257 emacs`update_fra= me [inlined] update_window_frame(f=3D0x0000000102f41b70) at dispnew.c:3866:= 3 [opt]
=C2=A0 =C2=A0 frame #12: 0x00000001000091e3 emacs`update_frame(f= =3D0x0000000102f41b70, inhibit_scrolling=3D<unavailable>) at dispnew.= c:4118:5 [opt]
=C2=A0 =C2=A0 frame #13: 0x0000000100037573 emacs`redispl= ay_internal at xdisp.c:17736:5 [opt]
=C2=A0 =C2=A0 frame #14: 0x00000001= 0003d0b6 emacs`redisplay_preserve_echo_area(from_where=3D9) at xdisp.c:1800= 1:5 [opt]
=C2=A0 =C2=A0 frame #15: 0x00000001001eed97 emacs`wait_reading= _process_output(time_limit=3D<unavailable>, nsecs=3D0, read_kbd=3D<= ;unavailable>, do_display=3Dtrue, wait_for_cell=3D0x0000000000000000, wa= it_proc=3D0x0000000000000000, just_wait_proc=3D0) at process.c:5457:3 [opt]=
=C2=A0 =C2=A0 frame #16: 0x000000010000ca35 emacs`sit_for(timeout=3D<= ;unavailable>, reading=3Dtrue, display_option=3D1) at dispnew.c:6979:7 [= opt]
=C2=A0 =C2=A0 frame #17: 0x00000001000fefd1 emacs`read_char(command= flag=3D1, map=3D0x000000010f3b77c3, prev_event=3D0x0000000000000000, used_m= ouse_menu=3D0x00007ff7bfefc46f, end_time=3D0x0000000000000000) at keyboard.= c:2925:11 [opt]
=C2=A0 =C2=A0 frame #18: 0x00000001000fb4b4 emacs`read_k= ey_sequence(keybuf=3D0x00007ff7bfefc560, prompt=3D<unavailable>, dont= _downcase_last=3Dfalse, can_return_switch_frame=3Dtrue, fix_current_buffer= =3Dtrue, prevent_redisplay=3D<unavailable>, disable_text_conversion_p= =3D<unavailable>) at keyboard.c:10848:12 [opt]
=C2=A0 =C2=A0 frame= #19: 0x00000001000f9529 emacs`command_loop_1 at keyboard.c:1424:15 [opt]=C2=A0 =C2=A0 frame #20: 0x000000010019197b emacs`internal_condition_case= (bfun=3D(emacs`command_loop_1 at keyboard.c:1319), handlers=3D0x00000000000= 00090, hfun=3D(emacs`cmd_error at keyboard.c:965)) at eval.c:1684:25 [opt]<= br>=C2=A0 =C2=A0 frame #21: 0x00000001000f915e emacs`command_loop_2(handler= s=3D0x0000000000000090) at keyboard.c:1163:11 [opt]
=C2=A0 =C2=A0 frame = #22: 0x0000000100190e4f emacs`internal_catch(tag=3D0x0000000000011ac0, func= =3D(emacs`command_loop_2 at keyboard.c:1159), arg=3D0x0000000000000090) at = eval.c:1364:25 [opt]
=C2=A0 =C2=A0 frame #23: 0x0000000100288a58 emacs`c= ommand_loop.cold.1 at keyboard.c:1141:2 [opt]
=C2=A0 =C2=A0 frame #24: 0= x00000001000f89d4 emacs`command_loop at keyboard.c:1138:5 [opt]
=C2=A0 = =C2=A0 frame #25: 0x00000001000f889f emacs`recursive_edit_1 at keyboard.c:7= 49:9 [opt]
=C2=A0 =C2=A0 frame #26: 0x00000001000f8b40 emacs`Frecursive_= edit at keyboard.c:832:3 [opt]
=C2=A0 =C2=A0 frame #27: 0x00000001000f79= dd emacs`main(argc=3D<unavailable>, argv=3D0x00007ff7bfefcae0) at ema= cs.c:2582:3 [opt]
=C2=A0 =C2=A0 frame #28: 0x00000001004d152e dyld`start= + 462

-S= tephane
--0000000000002cda5c0636757657-- From debbugs-submit-bounces@debbugs.gnu.org Sat May 31 17:54:03 2025 Received: (at 78654) by debbugs.gnu.org; 31 May 2025 21:54:04 +0000 Received: from localhost ([127.0.0.1]:60883 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uLU9S-0003Af-6M for submit@debbugs.gnu.org; Sat, 31 May 2025 17:54:03 -0400 Received: from mail-vk1-xa2a.google.com ([2607:f8b0:4864:20::a2a]:52563) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uLU9P-00039Z-0o for 78654@debbugs.gnu.org; Sat, 31 May 2025 17:54:00 -0400 Received: by mail-vk1-xa2a.google.com with SMTP id 71dfb90a1353d-5242f137a1eso1046069e0c.1 for <78654@debbugs.gnu.org>; Sat, 31 May 2025 14:53:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748728433; x=1749333233; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=k9qF3Ef7IqAVpvS6SnRnNrrdzu4rORN9V3ux9NHKwNw=; b=UnJ1+s0FqeTErDSiMTQSQb0mUkgZz7ZJikaMMJYmMwae81tOU2Olbg4ygLTm4YfIcS b8N7X+Zmjo/4y9/IxZhaEHDBhiW7emeK9h3m8QcFOzYj16J1oJrfEn97GVoWdVl09Q1e mEH6NJUjU00naS4f8VIdZgCtfu6R1npvArn8bz7uI8RUpJcp8EqUf9E0Q2eMiLZg4g50 NvqRRXe/Qe/xPcB/xDzGfkZ3E9YvcCIrzWHJ+Qthw+n5rVfSo9/X6k3plE3bUTeTv3kK 4v8tSU8ZsIWRjmTHn1lGDVyP7+Qa3ST0YX5DnkRycEOGyU5Gt0qo5V9g7HWVcXxusWMR CEeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748728433; x=1749333233; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=k9qF3Ef7IqAVpvS6SnRnNrrdzu4rORN9V3ux9NHKwNw=; b=NtzFbDn3IZEBsLOYGc/Iy4W46tSJSCCHLkPjt/SMmUYrLogCssN+irGO6movaiVi+z Kghceo54NPyUd++Ukg73k43EiS43nmLkqhwNpHDWKsLBiu0zzlxhD1tna/LrKZgbcXOJ CAbEEgqE1vLD2TckH91jjsCz8uJ/DCmq7vSbfIAzP2vwVr4cR6f9kg0xXBrWSVBTPbsd 8iKf7/GME8prDv26yNeFWUttjg7dywhOp0618DzHBwVgyyZfgwk4ygNaIIfmDG8rbSWG AgaSIFzYZxL89KbvSOdHjpK69SRFOmq81Ca13PE54nRyl05ZtulGU8/LTF/8Y/ZXJlKV bexw== X-Gm-Message-State: AOJu0YxBWdxhl1LJhafPZ51iLYnAP+PLJ8H+RV44OopLNuQ1co2fOB0C xMTfInRHgjch4lidhhKWWtRBR8aJP8731L2AtJMebbtkCHMtVK9Hy+fZO301AaulCD3oWNrDjJf gxt+XiNwh0xGd5Gr/IGmqgUwdd0PYQ9mbUA== X-Gm-Gg: ASbGncvUArA2w74Ta7vKOg3tuOnfKAfM5Rs2zOQYeRBimDba9+iK3vSCL4KmuZ8PE8F cLQy7g2HGvLdGWcd6Mg7XFEa2SLA42UP3ChkBskLd3TSJRDexlweuyyi56o1i64VPuJX3R5ApUX W7j2Xa9CvibCKOD0q3TKPece4CBj6NL3TmChk= X-Google-Smtp-Source: AGHT+IH0ZbkwhN5gXZZ7BaSkyBDSMMwjvrFsf1RnTG659si3sblcsopHpJ2cPajjT7S2TUFGoRekW6frYD6RbBAOsjw= X-Received: by 2002:a05:6122:130d:b0:530:5996:63a2 with SMTP id 71dfb90a1353d-53084c53cf9mr5955383e0c.7.1748728433075; Sat, 31 May 2025 14:53:53 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Ship Mints Date: Sat, 31 May 2025 17:53:41 -0400 X-Gm-Features: AX0GCFvm9Qf8ZkpH_epVVLVtUUZNWgwyWdbm4uoaH8f8PxBIQD3-QYy9pTOoQXI Message-ID: Subject: Re: bug#78654: NS Emacs crashing (since stipples?) To: 78654@debbugs.gnu.org Content-Type: multipart/alternative; boundary="0000000000000fece806367591ac" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78654 Cc: ben@bensimms.moe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0000000000000fece806367591ac Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, May 31, 2025 at 5:47=E2=80=AFPM Ship Mints wr= ote: > 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 th= e > 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:1= 0 > PDT 2024; root:xnu-8020.240.18.709.2~1/RELEASE_X86_64 x86_64 > > * thread #1, queue =3D 'com.apple.main-thread', stop reason =3D EXC_BAD_A= CCESS > (code=3D1, address=3D0xa8) > * frame #0: 0x00000001000e79bb > emacs`prepare_face_for_display(f=3D0x0000000102f41b70, > face=3D0x0000000000000000) at xfaces.c:4657:16 [opt] > frame #1: 0x000000010025d599 > emacs`ns_draw_stretch_glyph_string(s=3D0x00007ff7bfef9eb0) at nsterm.m:41= 76:8 > [opt] > frame #2: 0x000000010025a532 > emacs`ns_draw_glyph_string(s=3D0x00007ff7bfef9eb0) at nsterm.m:4571:7 [op= t] > frame #3: 0x000000010004bab4 emacs`draw_glyphs(w=3D0x0000000112f01140= , > x=3D917, row=3D, area=3DTEXT_AREA, start=3D, > end=3D, hl=3DDRAW_CURSOR, overlaps=3D0) at xdisp.c:31666:5 [= opt] > frame #4: 0x00000001000501d1 > emacs`draw_phys_cursor_glyph(w=3D0x0000000112f01140, row=3D0x0000000181f1= e100, > hl=3DDRAW_CURSOR) at xdisp.c:34369:12 [opt] > frame #5: 0x000000010025c091 > emacs`ns_draw_window_cursor(w=3D0x0000000112f01140, > glyph_row=3D0x0000000181f1e100, x=3D, y=3D, > cursor_type=3D, cursor_width=3D, on_p=3D, > active_p=3Dtrue) at nsterm.m:3126:7 [opt] > frame #6: 0x0000000100050d78 > emacs`display_and_set_cursor(w=3D0x0000000112f01140, on=3Dtrue, hpos=3D0,= vpos=3D1, > x=3D0, y=3D21) at xdisp.c:34637:5 [opt] > frame #7: 0x000000010000b71b > emacs`gui_update_window_end(w=3D0x0000000112f01140, cursor_on_p=3Dtrue, > mouse_face_overwritten_p=3Dtrue) at dispnew.c:4653:2 [opt] > frame #8: 0x000000010000a931 emacs`update_window(w=3D) a= t > dispnew.c:4587:3 [opt] > frame #9: 0x000000010000effc > emacs`update_window_tree(w=3D0x0000000112f01140) at dispnew.c:4234:2 [opt= ] > frame #10: 0x000000010000efbe > emacs`update_window_tree(w=3D0x0000000113224260) at dispnew.c:4232:2 [opt= ] > frame #11: 0x0000000100009257 emacs`update_frame [inlined] > update_window_frame(f=3D0x0000000102f41b70) at dispnew.c:3866:3 [opt] > frame #12: 0x00000001000091e3 emacs`update_frame(f=3D0x0000000102f41b= 70, > inhibit_scrolling=3D) 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=3D9) at xdisp.c:18001:5 [op= t] > frame #15: 0x00000001001eed97 > emacs`wait_reading_process_output(time_limit=3D, nsecs=3D0, > read_kbd=3D, do_display=3Dtrue, wait_for_cell=3D0x0000000000= 000000, > wait_proc=3D0x0000000000000000, just_wait_proc=3D0) at process.c:5457:3 [= opt] > frame #16: 0x000000010000ca35 emacs`sit_for(timeout=3D, > reading=3Dtrue, display_option=3D1) at dispnew.c:6979:7 [opt] > frame #17: 0x00000001000fefd1 emacs`read_char(commandflag=3D1, > map=3D0x000000010f3b77c3, prev_event=3D0x0000000000000000, > used_mouse_menu=3D0x00007ff7bfefc46f, end_time=3D0x0000000000000000) at > keyboard.c:2925:11 [opt] > frame #18: 0x00000001000fb4b4 > emacs`read_key_sequence(keybuf=3D0x00007ff7bfefc560, prompt=3D, > dont_downcase_last=3Dfalse, can_return_switch_frame=3Dtrue, > fix_current_buffer=3Dtrue, prevent_redisplay=3D, > disable_text_conversion_p=3D) 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=3D(emacs`command_loop_1 at > keyboard.c:1319), handlers=3D0x0000000000000090, hfun=3D(emacs`cmd_error = at > keyboard.c:965)) at eval.c:1684:25 [opt] > frame #21: 0x00000001000f915e > emacs`command_loop_2(handlers=3D0x0000000000000090) at keyboard.c:1163:11 > [opt] > frame #22: 0x0000000100190e4f > emacs`internal_catch(tag=3D0x0000000000011ac0, func=3D(emacs`command_loop= _2 at > keyboard.c:1159), arg=3D0x0000000000000090) 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=3D, > argv=3D0x00007ff7bfefcae0) 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. --0000000000000fece806367591ac Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Sat, May 31, 2025 at 5:47=E2=80=AFPM Ship Mints <shipmints@gmail.com> wrote:
= I'm thinking it might have been this (I cc'd Ben) commit=C2=A09cbbd= cee132588a11dc03c3da371176aaa13927c it's the only one that looks releva= nt.=C2=A0 That said, it is possible I'm tickling a bug that's been = there longer.

I pulled a master today and recompiled from cle= an and it still happens.=C2=A0 It's a bit spurious, but regular over th= e last few days.=C2=A0 There are no stipples used in the buffer in question= , so this looks like a side effect of that change, I'm guessing.=C2=A0 = 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 conten= t=C2=A0in a test jig and with multiple vtables sharing the same buffer (I d= oubt that has any bearing).

<= /div>
I will try to see if I can reprod= uce without images if that indicates anything.=C2=A0=C2=A0

$ uname -a

Darwin host.local 21.6.0 Darwin Kernel Version 21.6.0: Mon Jun 24 0= 0:56:10 PDT 2024; root:xnu-8020.240.18.709.2~1/RELEASE_X86_64 x86_64=


* thread #1, queue =3D 'com.apple.main-thread', = stop reason =3D EXC_BAD_ACCESS (code=3D1, address=3D0xa8)
=C2=A0 * frame= #0: 0x00000001000e79bb emacs`prepare_face_for_display(f=3D0x0000000102f41b= 70, face=3D0x0000000000000000) at xfaces.c:4657:16 [opt]
=C2=A0 =C2=A0 f= rame #1: 0x000000010025d599 emacs`ns_draw_stretch_glyph_string(s=3D0x00007f= f7bfef9eb0) at nsterm.m:4176:8 [opt]
=C2=A0 =C2=A0 frame #2: 0x000000010= 025a532 emacs`ns_draw_glyph_string(s=3D0x00007ff7bfef9eb0) at nsterm.m:4571= :7 [opt]
=C2=A0 =C2=A0 frame #3: 0x000000010004bab4 emacs`draw_glyphs(w= =3D0x0000000112f01140, x=3D917, row=3D<unavailable>, area=3DTEXT_AREA= , start=3D<unavailable>, end=3D<unavailable>, hl=3DDRAW_CURSOR,= overlaps=3D0) at xdisp.c:31666:5 [opt]
=C2=A0 =C2=A0 frame #4: 0x000000= 01000501d1 emacs`draw_phys_cursor_glyph(w=3D0x0000000112f01140, row=3D0x000= 0000181f1e100, hl=3DDRAW_CURSOR) at xdisp.c:34369:12 [opt]
=C2=A0 =C2=A0= frame #5: 0x000000010025c091 emacs`ns_draw_window_cursor(w=3D0x0000000112f= 01140, glyph_row=3D0x0000000181f1e100, x=3D<unavailable>, y=3D<una= vailable>, cursor_type=3D<unavailable>, cursor_width=3D<unavail= able>, on_p=3D<unavailable>, active_p=3Dtrue) at nsterm.m:3126:7 [= opt]
=C2=A0 =C2=A0 frame #6: 0x0000000100050d78 emacs`display_and_set_cu= rsor(w=3D0x0000000112f01140, on=3Dtrue, hpos=3D0, vpos=3D1, x=3D0, y=3D21) = at xdisp.c:34637:5 [opt]
=C2=A0 =C2=A0 frame #7: 0x000000010000b71b emac= s`gui_update_window_end(w=3D0x0000000112f01140, cursor_on_p=3Dtrue, mouse_f= ace_overwritten_p=3Dtrue) at dispnew.c:4653:2 [opt]
=C2=A0 =C2=A0 frame = #8: 0x000000010000a931 emacs`update_window(w=3D<unavailable>) at disp= new.c:4587:3 [opt]
=C2=A0 =C2=A0 frame #9: 0x000000010000effc emacs`upda= te_window_tree(w=3D0x0000000112f01140) at dispnew.c:4234:2 [opt]
=C2=A0 = =C2=A0 frame #10: 0x000000010000efbe emacs`update_window_tree(w=3D0x0000000= 113224260) at dispnew.c:4232:2 [opt]
=C2=A0 =C2=A0 frame #11: 0x00000001= 00009257 emacs`update_frame [inlined] update_window_frame(f=3D0x0000000102f= 41b70) at dispnew.c:3866:3 [opt]
=C2=A0 =C2=A0 frame #12: 0x000000010000= 91e3 emacs`update_frame(f=3D0x0000000102f41b70, inhibit_scrolling=3D<una= vailable>) at dispnew.c:4118:5 [opt]
=C2=A0 =C2=A0 frame #13: 0x00000= 00100037573 emacs`redisplay_internal at xdisp.c:17736:5 [opt]
=C2=A0 =C2= =A0 frame #14: 0x000000010003d0b6 emacs`redisplay_preserve_echo_area(from_w= here=3D9) at xdisp.c:18001:5 [opt]
=C2=A0 =C2=A0 frame #15: 0x0000000100= 1eed97 emacs`wait_reading_process_output(time_limit=3D<unavailable>, = nsecs=3D0, read_kbd=3D<unavailable>, do_display=3Dtrue, wait_for_cell= =3D0x0000000000000000, wait_proc=3D0x0000000000000000, just_wait_proc=3D0) = at process.c:5457:3 [opt]
=C2=A0 =C2=A0 frame #16: 0x000000010000ca35 em= acs`sit_for(timeout=3D<unavailable>, reading=3Dtrue, display_option= =3D1) at dispnew.c:6979:7 [opt]
=C2=A0 =C2=A0 frame #17: 0x00000001000fe= fd1 emacs`read_char(commandflag=3D1, map=3D0x000000010f3b77c3, prev_event= =3D0x0000000000000000, used_mouse_menu=3D0x00007ff7bfefc46f, end_time=3D0x0= 000000000000000) at keyboard.c:2925:11 [opt]
=C2=A0 =C2=A0 frame #18: 0x= 00000001000fb4b4 emacs`read_key_sequence(keybuf=3D0x00007ff7bfefc560, promp= t=3D<unavailable>, dont_downcase_last=3Dfalse, can_return_switch_fram= e=3Dtrue, fix_current_buffer=3Dtrue, prevent_redisplay=3D<unavailable>= ;, disable_text_conversion_p=3D<unavailable>) at keyboard.c:10848:12 = [opt]
=C2=A0 =C2=A0 frame #19: 0x00000001000f9529 emacs`command_loop_1 a= t keyboard.c:1424:15 [opt]
=C2=A0 =C2=A0 frame #20: 0x000000010019197b e= macs`internal_condition_case(bfun=3D(emacs`command_loop_1 at keyboard.c:131= 9), handlers=3D0x0000000000000090, hfun=3D(emacs`cmd_error at keyboard.c:96= 5)) at eval.c:1684:25 [opt]
=C2=A0 =C2=A0 frame #21: 0x00000001000f915e = emacs`command_loop_2(handlers=3D0x0000000000000090) at keyboard.c:1163:11 [= opt]
=C2=A0 =C2=A0 frame #22: 0x0000000100190e4f emacs`internal_catch(ta= g=3D0x0000000000011ac0, func=3D(emacs`command_loop_2 at keyboard.c:1159), a= rg=3D0x0000000000000090) at eval.c:1364:25 [opt]
=C2=A0 =C2=A0 frame #23= : 0x0000000100288a58 emacs`command_loop.cold.1 at keyboard.c:1141:2 [opt]=C2=A0 =C2=A0 frame #24: 0x00000001000f89d4 emacs`command_loop at keyboar= d.c:1138:5 [opt]
=C2=A0 =C2=A0 frame #25: 0x00000001000f889f emacs`recur= sive_edit_1 at keyboard.c:749:9 [opt]
=C2=A0 =C2=A0 frame #26: 0x0000000= 1000f8b40 emacs`Frecursive_edit at keyboard.c:832:3 [opt]
=C2=A0 =C2=A0 = frame #27: 0x00000001000f79dd emacs`main(argc=3D<unavailable>, argv= =3D0x00007ff7bfefcae0) at emacs.c:2582:3 [opt]
=C2=A0 =C2=A0 frame #28: = 0x00000001004d152e dyld`start + 462

Same = result without images so it's not that.=C2=A0 I'll see if I can nar= row this down more.

--0000000000000fece806367591ac-- From debbugs-submit-bounces@debbugs.gnu.org Sat May 31 18:00:42 2025 Received: (at 78654) by debbugs.gnu.org; 31 May 2025 22:00:43 +0000 Received: from localhost ([127.0.0.1]:60940 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uLUFt-0003qf-GN for submit@debbugs.gnu.org; Sat, 31 May 2025 18:00:42 -0400 Received: from mail-ua1-x92c.google.com ([2607:f8b0:4864:20::92c]:47167) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uLUFq-0003qH-Pu for 78654@debbugs.gnu.org; Sat, 31 May 2025 18:00:39 -0400 Received: by mail-ua1-x92c.google.com with SMTP id a1e0cc1a2514c-87e0ce80ed4so1583658241.2 for <78654@debbugs.gnu.org>; Sat, 31 May 2025 15:00:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748728833; x=1749333633; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=3qnJmBIkW06f2NYlDghN2JxdcZHI6OnLgLQ1bxvkgNs=; b=jChpRUl4C9i8pB1x48ctBpXIPprrxeUECwBXPmLZFX185su9o6b8cNIBl+JTUB55Oa /gH5rmgI4bGdqULAD8Q+/9Ye/K+V2pfaQfzWx2spj+ECFTEj5V9IPbmb+a/4AhMgFdTR FToBEqVZkxf2JdZkXtSPuLM1p02+Cjb79Zq4kJnUegLNXQUMjSCFS6fBe5zedNwypOYa QwmzSsvcDrAmqq2TrRwh9h6JPekUa3iSN2zDQ447PZls1gkfLVgwVm+eicCI166JMq5/ cHUVKx05FbY9B30kN8vILtCAd/SiWTHDJkBVRRQeFhOdg/nblO17WI8Hgh/se23GhNSs Y0Hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748728833; x=1749333633; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=3qnJmBIkW06f2NYlDghN2JxdcZHI6OnLgLQ1bxvkgNs=; b=XxYZrZ6WWBo9TjZCJHqw+tP/JS2kdXSOVtkw4w4bcEsIsulJnR7liZzU+NyPiLy1NQ 4nYHwzoK6O0PWNFa8P8FToq1SN6IrouClPpOa/aPzHYYnPUWwSGTGXLLy2UYyExAGZmk /TGD/HXmeSitj8Pm+eL0J05yugYdRG46+uInfgeTljd568eIc8TN5gnOGb/BI/0qAqSL 5OtO1Ahb3mn/n9auu0A8lf9bjw+VeJVGSFEx0hOYPXJhzAgcHAyWPtHG2tevC+fwKLoB D24j6QJ1hxMwWx4jW24pViph9gefEEQVd1XMfiYEFAwCUruhihKI5y0a3nPjxLATrkKF F6YQ== X-Gm-Message-State: AOJu0YwWWwnoekmvXUdRq9ePm3AXBpHkg+y5kwiS/6aQyVpUu6SVQfgw 4YP3HKU1Ng23fqzknQETHbAEEEwwy88JoPhNrVKTKjtDJPpELE5FqUF+WjZbc72h4p3fhP4I4Vo CJPehv6U8TGSDwliPcSSV2GGHbWIGvDArOo/Q X-Gm-Gg: ASbGncsEVcAPpuhapAiu+r0ceINsZEMbVK6uVu7y3ZvnwPmEl4W35S6z78WyO4oHqMy T5a0BTJ0+azqEuxKdZ5qyylj4VSSTsxJefCZr6J15OjUMq2TmqFqFUdxb6RNXlu6WpRE2oplTEh TbvwvphDy3hQvJAew5z9nxXHOTr34bDWkLQX4= X-Google-Smtp-Source: AGHT+IHwu9xiRtd7HZL5Pb32AZcuAmRgDr9EihzmGHvXMHxWkaLhmrFzyd4jG4KTUV3vB82ipZK7qae/g4V7WEZTBIk= X-Received: by 2002:a05:6102:c8a:b0:4df:9635:210d with SMTP id ada2fe7eead31-4e6e41db7c6mr7954837137.23.1748728832843; Sat, 31 May 2025 15:00:32 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Ship Mints Date: Sat, 31 May 2025 18:00:20 -0400 X-Gm-Features: AX0GCFthvbvuwRflSmuJTlFyvGThShMgc2RuGCyApJd3BDPsfUcpw8ud1c32RQo Message-ID: Subject: Re: bug#78654: NS Emacs crashing (since stipples?) To: 78654@debbugs.gnu.org Content-Type: multipart/alternative; boundary="000000000000e3e366063675a838" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78654 Cc: ben@bensimms.moe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000e3e366063675a838 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, May 31, 2025 at 5:53=E2=80=AFPM Ship Mints wr= ote: > On Sat, May 31, 2025 at 5:47=E2=80=AFPM 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 bee= n >> 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 effec= t >> 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 t= he >> 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 =3D 'com.apple.main-thread', stop reason =3D >> EXC_BAD_ACCESS (code=3D1, address=3D0xa8) >> * frame #0: 0x00000001000e79bb >> emacs`prepare_face_for_display(f=3D0x0000000102f41b70, >> face=3D0x0000000000000000) at xfaces.c:4657:16 [opt] >> frame #1: 0x000000010025d599 >> emacs`ns_draw_stretch_glyph_string(s=3D0x00007ff7bfef9eb0) at nsterm.m:4= 176:8 >> [opt] >> frame #2: 0x000000010025a532 >> emacs`ns_draw_glyph_string(s=3D0x00007ff7bfef9eb0) at nsterm.m:4571:7 [o= pt] >> frame #3: 0x000000010004bab4 emacs`draw_glyphs(w=3D0x0000000112f0114= 0, >> x=3D917, row=3D, area=3DTEXT_AREA, start=3D, >> end=3D, hl=3DDRAW_CURSOR, overlaps=3D0) at xdisp.c:31666:5 = [opt] >> frame #4: 0x00000001000501d1 >> emacs`draw_phys_cursor_glyph(w=3D0x0000000112f01140, row=3D0x0000000181f= 1e100, >> hl=3DDRAW_CURSOR) at xdisp.c:34369:12 [opt] >> frame #5: 0x000000010025c091 >> emacs`ns_draw_window_cursor(w=3D0x0000000112f01140, >> glyph_row=3D0x0000000181f1e100, x=3D, y=3D, >> cursor_type=3D, cursor_width=3D, on_p=3D, >> active_p=3Dtrue) at nsterm.m:3126:7 [opt] >> frame #6: 0x0000000100050d78 >> emacs`display_and_set_cursor(w=3D0x0000000112f01140, on=3Dtrue, hpos=3D0= , vpos=3D1, >> x=3D0, y=3D21) at xdisp.c:34637:5 [opt] >> frame #7: 0x000000010000b71b >> emacs`gui_update_window_end(w=3D0x0000000112f01140, cursor_on_p=3Dtrue, >> mouse_face_overwritten_p=3Dtrue) at dispnew.c:4653:2 [opt] >> frame #8: 0x000000010000a931 emacs`update_window(w=3D) = at >> dispnew.c:4587:3 [opt] >> frame #9: 0x000000010000effc >> emacs`update_window_tree(w=3D0x0000000112f01140) at dispnew.c:4234:2 [op= t] >> frame #10: 0x000000010000efbe >> emacs`update_window_tree(w=3D0x0000000113224260) at dispnew.c:4232:2 [op= t] >> frame #11: 0x0000000100009257 emacs`update_frame [inlined] >> update_window_frame(f=3D0x0000000102f41b70) at dispnew.c:3866:3 [opt] >> frame #12: 0x00000001000091e3 >> emacs`update_frame(f=3D0x0000000102f41b70, inhibit_scrolling=3D) >> 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=3D9) at xdisp.c:18001:5 [o= pt] >> frame #15: 0x00000001001eed97 >> emacs`wait_reading_process_output(time_limit=3D, nsecs=3D0, >> read_kbd=3D, do_display=3Dtrue, wait_for_cell=3D0x000000000= 0000000, >> wait_proc=3D0x0000000000000000, just_wait_proc=3D0) at process.c:5457:3 = [opt] >> frame #16: 0x000000010000ca35 emacs`sit_for(timeout=3D, >> reading=3Dtrue, display_option=3D1) at dispnew.c:6979:7 [opt] >> frame #17: 0x00000001000fefd1 emacs`read_char(commandflag=3D1, >> map=3D0x000000010f3b77c3, prev_event=3D0x0000000000000000, >> used_mouse_menu=3D0x00007ff7bfefc46f, end_time=3D0x0000000000000000) at >> keyboard.c:2925:11 [opt] >> frame #18: 0x00000001000fb4b4 >> emacs`read_key_sequence(keybuf=3D0x00007ff7bfefc560, prompt=3D, >> dont_downcase_last=3Dfalse, can_return_switch_frame=3Dtrue, >> fix_current_buffer=3Dtrue, prevent_redisplay=3D, >> disable_text_conversion_p=3D) 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=3D(emacs`command_loop_1 at >> keyboard.c:1319), handlers=3D0x0000000000000090, hfun=3D(emacs`cmd_error= at >> keyboard.c:965)) at eval.c:1684:25 [opt] >> frame #21: 0x00000001000f915e >> emacs`command_loop_2(handlers=3D0x0000000000000090) at keyboard.c:1163:1= 1 >> [opt] >> frame #22: 0x0000000100190e4f >> emacs`internal_catch(tag=3D0x0000000000011ac0, func=3D(emacs`command_loo= p_2 at >> keyboard.c:1159), arg=3D0x0000000000000090) 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=3D, >> argv=3D0x00007ff7bfefcae0) 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. > Adding the line in question, according to lldb (this is not a debug build, I guess I'll rebuild with debug next): * thread #1, queue =3D 'com.apple.main-thread', stop reason =3D EXC_BAD_ACC= ESS (code=3D1, address=3D0xa8) frame #0: 0x00000001000e79bb emacs`prepare_face_for_display(f=3D0x0000000103566770, face=3D0x0000000000000000) at xfaces.c:4657:16 [opt] 4654 4655 eassert (FRAME_WINDOW_P (f)); 4656 -> 4657 if (face->gc =3D=3D 0) 4658 { 4659 mask =3D GCForeground | GCBackground | GCGraphicsExposures; 4660 --000000000000e3e366063675a838 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Sat, May 31, 2025 at 5:53=E2=80=AFPM Ship Mints <shipmints@gmail.com> wrote:
On = Sat, May 31, 2025 at 5:47=E2=80=AFPM Ship Mints <shipmints@gmail.com> wrote:=
I'm= thinking it might have been this (I cc'd Ben) commit=C2=A09cbbdcee1325= 88a11dc03c3da371176aaa13927c it's the only one that looks relevant.=C2= =A0 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.=C2=A0 It's a bit spurious, but regular over the last= few days.=C2=A0 There are no stipples used in the buffer in question, so t= his looks like a side effect of that change, I'm guessing.=C2=A0 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 th= rough a battery of tests for the revised vtable that has image content=C2= =A0in 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.=C2=A0=C2=A0

$ uname -a

Darwin host.local 21.6.0 Darwin Kernel Version 21.6.0: Mon Jun 24 0= 0:56:10 PDT 2024; root:xnu-8020.240.18.709.2~1/RELEASE_X86_64 x86_64=


* thread #1, queue =3D 'com.apple.main-thread', = stop reason =3D EXC_BAD_ACCESS (code=3D1, address=3D0xa8)
=C2=A0 * frame= #0: 0x00000001000e79bb emacs`prepare_face_for_display(f=3D0x0000000102f41b= 70, face=3D0x0000000000000000) at xfaces.c:4657:16 [opt]
=C2=A0 =C2=A0 f= rame #1: 0x000000010025d599 emacs`ns_draw_stretch_glyph_string(s=3D0x00007f= f7bfef9eb0) at nsterm.m:4176:8 [opt]
=C2=A0 =C2=A0 frame #2: 0x000000010= 025a532 emacs`ns_draw_glyph_string(s=3D0x00007ff7bfef9eb0) at nsterm.m:4571= :7 [opt]
=C2=A0 =C2=A0 frame #3: 0x000000010004bab4 emacs`draw_glyphs(w= =3D0x0000000112f01140, x=3D917, row=3D<unavailable>, area=3DTEXT_AREA= , start=3D<unavailable>, end=3D<unavailable>, hl=3DDRAW_CURSOR,= overlaps=3D0) at xdisp.c:31666:5 [opt]
=C2=A0 =C2=A0 frame #4: 0x000000= 01000501d1 emacs`draw_phys_cursor_glyph(w=3D0x0000000112f01140, row=3D0x000= 0000181f1e100, hl=3DDRAW_CURSOR) at xdisp.c:34369:12 [opt]
=C2=A0 =C2=A0= frame #5: 0x000000010025c091 emacs`ns_draw_window_cursor(w=3D0x0000000112f= 01140, glyph_row=3D0x0000000181f1e100, x=3D<unavailable>, y=3D<una= vailable>, cursor_type=3D<unavailable>, cursor_width=3D<unavail= able>, on_p=3D<unavailable>, active_p=3Dtrue) at nsterm.m:3126:7 [= opt]
=C2=A0 =C2=A0 frame #6: 0x0000000100050d78 emacs`display_and_set_cu= rsor(w=3D0x0000000112f01140, on=3Dtrue, hpos=3D0, vpos=3D1, x=3D0, y=3D21) = at xdisp.c:34637:5 [opt]
=C2=A0 =C2=A0 frame #7: 0x000000010000b71b emac= s`gui_update_window_end(w=3D0x0000000112f01140, cursor_on_p=3Dtrue, mouse_f= ace_overwritten_p=3Dtrue) at dispnew.c:4653:2 [opt]
=C2=A0 =C2=A0 frame = #8: 0x000000010000a931 emacs`update_window(w=3D<unavailable>) at disp= new.c:4587:3 [opt]
=C2=A0 =C2=A0 frame #9: 0x000000010000effc emacs`upda= te_window_tree(w=3D0x0000000112f01140) at dispnew.c:4234:2 [opt]
=C2=A0 = =C2=A0 frame #10: 0x000000010000efbe emacs`update_window_tree(w=3D0x0000000= 113224260) at dispnew.c:4232:2 [opt]
=C2=A0 =C2=A0 frame #11: 0x00000001= 00009257 emacs`update_frame [inlined] update_window_frame(f=3D0x0000000102f= 41b70) at dispnew.c:3866:3 [opt]
=C2=A0 =C2=A0 frame #12: 0x000000010000= 91e3 emacs`update_frame(f=3D0x0000000102f41b70, inhibit_scrolling=3D<una= vailable>) at dispnew.c:4118:5 [opt]
=C2=A0 =C2=A0 frame #13: 0x00000= 00100037573 emacs`redisplay_internal at xdisp.c:17736:5 [opt]
=C2=A0 =C2= =A0 frame #14: 0x000000010003d0b6 emacs`redisplay_preserve_echo_area(from_w= here=3D9) at xdisp.c:18001:5 [opt]
=C2=A0 =C2=A0 frame #15: 0x0000000100= 1eed97 emacs`wait_reading_process_output(time_limit=3D<unavailable>, = nsecs=3D0, read_kbd=3D<unavailable>, do_display=3Dtrue, wait_for_cell= =3D0x0000000000000000, wait_proc=3D0x0000000000000000, just_wait_proc=3D0) = at process.c:5457:3 [opt]
=C2=A0 =C2=A0 frame #16: 0x000000010000ca35 em= acs`sit_for(timeout=3D<unavailable>, reading=3Dtrue, display_option= =3D1) at dispnew.c:6979:7 [opt]
=C2=A0 =C2=A0 frame #17: 0x00000001000fe= fd1 emacs`read_char(commandflag=3D1, map=3D0x000000010f3b77c3, prev_event= =3D0x0000000000000000, used_mouse_menu=3D0x00007ff7bfefc46f, end_time=3D0x0= 000000000000000) at keyboard.c:2925:11 [opt]
=C2=A0 =C2=A0 frame #18: 0x= 00000001000fb4b4 emacs`read_key_sequence(keybuf=3D0x00007ff7bfefc560, promp= t=3D<unavailable>, dont_downcase_last=3Dfalse, can_return_switch_fram= e=3Dtrue, fix_current_buffer=3Dtrue, prevent_redisplay=3D<unavailable>= ;, disable_text_conversion_p=3D<unavailable>) at keyboard.c:10848:12 = [opt]
=C2=A0 =C2=A0 frame #19: 0x00000001000f9529 emacs`command_loop_1 a= t keyboard.c:1424:15 [opt]
=C2=A0 =C2=A0 frame #20: 0x000000010019197b e= macs`internal_condition_case(bfun=3D(emacs`command_loop_1 at keyboard.c:131= 9), handlers=3D0x0000000000000090, hfun=3D(emacs`cmd_error at keyboard.c:96= 5)) at eval.c:1684:25 [opt]
=C2=A0 =C2=A0 frame #21: 0x00000001000f915e = emacs`command_loop_2(handlers=3D0x0000000000000090) at keyboard.c:1163:11 [= opt]
=C2=A0 =C2=A0 frame #22: 0x0000000100190e4f emacs`internal_catch(ta= g=3D0x0000000000011ac0, func=3D(emacs`command_loop_2 at keyboard.c:1159), a= rg=3D0x0000000000000090) at eval.c:1364:25 [opt]
=C2=A0 =C2=A0 frame #23= : 0x0000000100288a58 emacs`command_loop.cold.1 at keyboard.c:1141:2 [opt]=C2=A0 =C2=A0 frame #24: 0x00000001000f89d4 emacs`command_loop at keyboar= d.c:1138:5 [opt]
=C2=A0 =C2=A0 frame #25: 0x00000001000f889f emacs`recur= sive_edit_1 at keyboard.c:749:9 [opt]
=C2=A0 =C2=A0 frame #26: 0x0000000= 1000f8b40 emacs`Frecursive_edit at keyboard.c:832:3 [opt]
=C2=A0 =C2=A0 = frame #27: 0x00000001000f79dd emacs`main(argc=3D<unavailable>, argv= =3D0x00007ff7bfefcae0) at emacs.c:2582:3 [opt]
=C2=A0 =C2=A0 frame #28: = 0x00000001004d152e dyld`start + 462

Same result without images so= it's not that.=C2=A0 I'll see if I can narrow this down more.

Adding the line in question, according to = lldb (this is not a debug build, I guess I'll rebuild with debug next):=

* thre= ad #1, queue =3D 'com.apple.main-thread&= #39;, stop reason =3D EXC_BAD_ACCE= SS (code=3D1, address=3D0xa8)

=C2=A0 =C2=A0 frame #0: 0x00000001000e79bb emacs`prepare_face_f= or_display(f=3D0x0000000103566770, face=3D0x0000000000000000) at xfaces.c:46= 57:16 [opt]

=C2=A0=C2=A0 4654

=C2=A0=C2=A0 4655 =C2=A0 ea= ssert (FRAME_WINDOW_P (f));

=C2=A0=C2=A0 4656

-> 4657 =C2=A0 if (face->gc =3D=3D 0)

=C2=A0=C2=A0 4658 =C2=A0 =C2=A0 {

=C2=A0=C2=A0 4659 =C2=A0 =C2=A0 = =C2=A0 mask =3D GCForeground | GCBackground | GCGraphicsExposures;

=C2=A0=C2=A0 4660

--000000000000e3e366063675a838-- From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 01 01:27:16 2025 Received: (at 78654) by debbugs.gnu.org; 1 Jun 2025 05:27:17 +0000 Received: from localhost ([127.0.0.1]:35292 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uLbE4-0007en-37 for submit@debbugs.gnu.org; Sun, 01 Jun 2025 01:27:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42434) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uLbE1-0007eR-Ja for 78654@debbugs.gnu.org; Sun, 01 Jun 2025 01:27:14 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uLbDv-0005Rl-NT; Sun, 01 Jun 2025 01:27:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=/VjhPwn1lfg3FA1bugkty5stCXaYDDAZn+L7nOnf+v8=; b=a01wQbitB/U2 cqS6Wgc0LHieGH83ZnQlBqXhx4ZWCWjKMfu8HNbOj/saiSDG04rKY8b5aqEdHpZQ8E4KvzdWGsUBI IKOJ3y16cf7IlZDHWYCqW8n4UppKHQq+RlgZ7BqbSjJl1zk2VSJZfgnOdJAc5ON50CdPRPCVRb3sv HvD4fbjyb/aNSjEKmtuQorVn8xZwcN965rtULuXCVJOov6ubbpcYfjMHvgDBfN7yyc/hTMhCqwntZ sh0mS2CdeZrbNhQ1xzLM7/TPE4pxnR/jHF/Tybx4eJQqBMecIlkZBif+uXAnkJyTvC2w4tZpJ3cax mVsMU5slXX/mNAk8AUrRtA==; Date: Sun, 01 Jun 2025 08:27:05 +0300 Message-Id: <86h610qbfa.fsf@gnu.org> From: Eli Zaretskii To: Ship Mints In-Reply-To: (message from Ship Mints on Sat, 31 May 2025 17:46:11 -0400) Subject: Re: bug#78654: NS Emacs crashing (since stipples?) References: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78654 Cc: 78654@debbugs.gnu.org, ben@bensimms.moe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: ben@bensimms.moe > From: Ship Mints > Date: Sat, 31 May 2025 17:46:11 -0400 > > 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] This code: if (s->row->mouse_face_p && cursor_in_mouse_face_p (s->w)) { face = FACE_FROM_ID_OR_NULL (s->f, MOUSE_HL_INFO (s->f)->mouse_face_face_id); if (!s->face) face = FACE_FROM_ID (s->f, MOUSE_FACE_ID); prepare_face_for_display (s->f, face); seems to have a thinko: it should say this instead: if (s->row->mouse_face_p && cursor_in_mouse_face_p (s->w)) { face = FACE_FROM_ID_OR_NULL (s->f, MOUSE_HL_INFO (s->f)->mouse_face_face_id); if (!face) <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< face = FACE_FROM_ID (s->f, MOUSE_FACE_ID); prepare_face_for_display (s->f, face); Can you try that change? From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 01 06:06:27 2025 Received: (at 78654) by debbugs.gnu.org; 1 Jun 2025 10:06:27 +0000 Received: from localhost ([127.0.0.1]:36857 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uLfaE-0001ze-Jm for submit@debbugs.gnu.org; Sun, 01 Jun 2025 06:06:27 -0400 Received: from mail-vs1-xe2f.google.com ([2607:f8b0:4864:20::e2f]:48513) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uLfaA-0001yz-An for 78654@debbugs.gnu.org; Sun, 01 Jun 2025 06:06:25 -0400 Received: by mail-vs1-xe2f.google.com with SMTP id ada2fe7eead31-4e58ad70536so1194124137.1 for <78654@debbugs.gnu.org>; Sun, 01 Jun 2025 03:06:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748772376; x=1749377176; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=PbxQbOGO/jPgbGl1TKzFyAoYjX3b8fwppJB4lobYXRU=; b=HtPUGVmqkpFwSyMl3S81mqfjvTcgaDo9pWwhnskklsNXjG6w0xV5pi2GaRrJciaULm IuYc2hp0d/nC9j2IsI1phEmuf7T5Jndntw4yo5pdBQMWfURaYT9deJcddU5CmcwOq3o1 RzNrZmCpldGTWW11pU9qTuvfn1jhv1brXXglsgtkaKztzGpwq5vHIQVO3vp/mydWKLCa s0GsRHcdZcx2+jWcG6rCEZ7bMch5cjf41rvEHrEKD37YHu7gQOMudWVxJ2qerkQQELLu wGwzzcL6InE1kHDiBjFZLF85NshElw7SKEmr17wbvIMoXhCL/kRl/sZJrCUaFxAPUkcQ utCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748772376; x=1749377176; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=PbxQbOGO/jPgbGl1TKzFyAoYjX3b8fwppJB4lobYXRU=; b=DyYfc0sY5av7hxz4nliKyF7XMv3DFatKgVpyBC+aVuO78qXb/eXh5B4n5X+znNnkTB ndG8uizx1KxruVSy1fdYTt/2YeUd6NTD4F6u5IFcIZF8MAijiq/3EbICGTyr8pQebaJG lbTt+Y8X6bP5OAmf7+xn03QyDRKFU45Vtedx5GKoGid5B7xvj4kmsjx1GRRorTpN+aVU koc4M5/J1nx27XHcH24nVaHPcHudJ9wHVUSFDoemX5sx2rsUiCEV1Z6Qm3Dmw0ibR/5+ UkiLfpCxn2n2ym7wud+MmorSjCMh+K/ciOu8dL1UVKIF5+YPqklLieLf5UWrwDr3bC0G LGlg== X-Gm-Message-State: AOJu0YxLljJFlaplgISzE4U/L3OslLErXEd3wHDFuYdhnDbPG7xDCYFZ kSdiOHcr31yuP8fmvJDZz4I9KZEzLWjqPynMgcxW/gvF1M9xbkhPb1CJd9EzEcCJp//XkLCPY8f 3KM3ppY7APq8f0j+4N18T6vRRRysCtlY= X-Gm-Gg: ASbGnctJIxxbMdAamW4H5ONQV+yQD5wFFcz5ZQQxXLRhHDI2aq/CB7M0SaJ4pcP9sjy PxDdmGpQdjQ0XzZcDNC9fc8bIEY64dw3Ek+AIhrNUCK832j4qd/JHKpLy4qsLLOLl7Ei/e45cl1 jvzzCqDz9ttcsGxbFREKu8FKZy/jEL6M52uJITapHFp+Q0Cg== X-Google-Smtp-Source: AGHT+IE3CWzobmMsZyWtKyvSa6fOIiE/kPN04TLrhFMBjy7I3UlUzJ8tRufIburN6LMPbZivN2/c3APW1cvo0jZo8G0= X-Received: by 2002:a05:6102:32d6:b0:4de:81a:7d42 with SMTP id ada2fe7eead31-4e6e40d85admr7671483137.1.1748772376570; Sun, 01 Jun 2025 03:06:16 -0700 (PDT) MIME-Version: 1.0 References: <86h610qbfa.fsf@gnu.org> In-Reply-To: <86h610qbfa.fsf@gnu.org> From: Ship Mints Date: Sun, 1 Jun 2025 06:06:05 -0400 X-Gm-Features: AX0GCFuBVAW_0lEzIA7-ZScuBF2oNgN4kkCSQ8WumPlv8QbU8H99lJYn8P2Fs1c Message-ID: Subject: Re: bug#78654: NS Emacs crashing (since stipples?) To: Eli Zaretskii Content-Type: multipart/alternative; boundary="0000000000004c6fd406367fccaf" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78654 Cc: 78654@debbugs.gnu.org, ben@bensimms.moe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0000000000004c6fd406367fccaf Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sun, Jun 1, 2025 at 1:27=E2=80=AFAM Eli Zaretskii wrote: > > Cc: ben@bensimms.moe > > From: Ship Mints > > Date: Sat, 31 May 2025 17:46:11 -0400 > > > > 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 =3D 'com.apple.main-thread', stop reason =3D > EXC_BAD_ACCESS (code=3D1, address=3D0xa8) > > * frame #0: 0x00000001000e79bb > emacs`prepare_face_for_display(f=3D0x0000000102f41b70, > > face=3D0x0000000000000000) at xfaces.c:4657:16 [opt] > > frame #1: 0x000000010025d599 > emacs`ns_draw_stretch_glyph_string(s=3D0x00007ff7bfef9eb0) at > > nsterm.m:4176:8 [opt] > > frame #2: 0x000000010025a532 > emacs`ns_draw_glyph_string(s=3D0x00007ff7bfef9eb0) at > > nsterm.m:4571:7 [opt] > > This code: > > if (s->row->mouse_face_p > && cursor_in_mouse_face_p (s->w)) > { > face =3D FACE_FROM_ID_OR_NULL (s->f, > MOUSE_HL_INFO > (s->f)->mouse_face_face_id); > > if (!s->face) > face =3D FACE_FROM_ID (s->f, MOUSE_FACE_ID); > prepare_face_for_display (s->f, face); > > seems to have a thinko: it should say this instead: > > if (s->row->mouse_face_p > && cursor_in_mouse_face_p (s->w)) > { > face =3D FACE_FROM_ID_OR_NULL (s->f, > MOUSE_HL_INFO > (s->f)->mouse_face_face_id); > > if (!face) <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< > face =3D FACE_FROM_ID (s->f, MOUSE_FACE_ID); > prepare_face_for_display (s->f, face); > > Can you try that change? > Making a normal build now. Will test today/tomorrow. --0000000000004c6fd406367fccaf Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Sun, Jun 1, 2025 at 1:27=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
> Cc: ben@bensimms.moe
> From: Ship Mints <shipmints@gmail.com>
> Date: Sat, 31 May 2025 17:46:11 -0400
>
> I'm thinking it might have been this (I cc'd Ben) commit 9cbbd= cee132588a11dc03c3da371176aaa13927c it's
> the only one that looks relevant.=C2=A0 That said, it is possible I= 9;m tickling a bug that's been there longer.
>
> I pulled a master today and recompiled from clean and it still happens= .=C2=A0 It's a bit spurious, but regular over
> the last few days.=C2=A0 There are no stipples used in the buffer in q= uestion, so this looks like a side effect of that
> change, I'm guessing.=C2=A0 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 vtabl= e that has image content in a test jig
> and with multiple vtables sharing the same buffer (I doubt that has an= y bearing).
>
> I will try to see if I can reproduce without images if that indicates = anything.=C2=A0
>
> $ uname -a
>
> Darwin host.local 21.6.0 Darwin Kernel Version 21.6.0: Mon Jun 24 00:5= 6:10 PDT 2024;
> root:xnu-8020.240.18.709.2~1/RELEASE_X86_64 x86_64
>
> * thread #1, queue =3D 'com.apple.main-thread', stop reason = =3D EXC_BAD_ACCESS (code=3D1, address=3D0xa8)
>=C2=A0 =C2=A0* frame #0: 0x00000001000e79bb emacs`prepare_face_for_disp= lay(f=3D0x0000000102f41b70,
> face=3D0x0000000000000000) at xfaces.c:4657:16 [opt]
>=C2=A0 =C2=A0 =C2=A0frame #1: 0x000000010025d599 emacs`ns_draw_stretch_= glyph_string(s=3D0x00007ff7bfef9eb0) at
> nsterm.m:4176:8 [opt]
>=C2=A0 =C2=A0 =C2=A0frame #2: 0x000000010025a532 emacs`ns_draw_glyph_st= ring(s=3D0x00007ff7bfef9eb0) at
> nsterm.m:4571:7 [opt]

This code:

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (s->row->mouse_face_p
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 && cursor_in_mouse= _face_p (s->w))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 face =3D FACE_FROM_ID_OR_N= ULL (s->f,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0MOUSE_HL_INFO (s->f)->mouse_face_face_id);

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (!s->face)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 face =3D FACE_FROM_= ID (s->f, MOUSE_FACE_ID);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 prepare_face_for_display (= s->f, face);

seems to have a thinko: it should say this instead:

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (s->row->mouse_face_p
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 && cursor_in_mouse= _face_p (s->w))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 face =3D FACE_FROM_ID_OR_N= ULL (s->f,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0MOUSE_HL_INFO (s->f)->mouse_face_face_id);

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (!face)=C2=A0 <<&= lt;<<<<<<<<<<<<<<<<<<= <<<<<<<<<<<<<<<<<
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 face =3D FACE_FROM_= ID (s->f, MOUSE_FACE_ID);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 prepare_face_for_display (= s->f, face);

Can you try that change?

Making a normal build now.=C2=A0 = Will test today/tomorrow.
--0000000000004c6fd406367fccaf-- From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 01 10:40:58 2025 Received: (at 78654) by debbugs.gnu.org; 1 Jun 2025 14:40:58 +0000 Received: from localhost ([127.0.0.1]:40233 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uLjro-0003xe-0H for submit@debbugs.gnu.org; Sun, 01 Jun 2025 10:40:57 -0400 Received: from mail-vk1-xa32.google.com ([2607:f8b0:4864:20::a32]:57797) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uLjrg-0003vd-KK for 78654@debbugs.gnu.org; Sun, 01 Jun 2025 10:40:47 -0400 Received: by mail-vk1-xa32.google.com with SMTP id 71dfb90a1353d-52f298abd9eso2409191e0c.3 for <78654@debbugs.gnu.org>; Sun, 01 Jun 2025 07:40:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748788838; x=1749393638; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=u8IyU2S96F0bZBnFIaWb43MJqh4kf/eNzCIFYpwvMBA=; b=P+ifWYEaoUJDgSkI3ohKZiOPIR2gZ0OwhrJJyPhO/D1fYd0rhbiyIBvGpJW8sJUb2p GPWc6V6YWRvH/2yxf4DVL0aQS+ImrHTaZ5w2bUtVFFhOROYAuy2ZGI5wUaAA7AGl135N 9pJq8AeREtOsmy+t0sILlOdgD2MTXt9X0goqNS9ew8Sj7uTlSaDlzhuY14YgnfqyEQ5X wDhhr2ySan9P11nl0QyUxewGavQZ3PNaEjRkPHROOTC8p95SU3nowClKq0H0IPiBImGx 5b/rOfC/xm4ZHmEYpuODKwR5rH60Gfad9dutoasLymoLjHmqWYn7fJXk3G0cGEZtNW61 InTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748788838; x=1749393638; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=u8IyU2S96F0bZBnFIaWb43MJqh4kf/eNzCIFYpwvMBA=; b=AVOUhfxg8GEjKBzCSI8LsjfEqeA7SZX6NW1JKhyKrM6IU9JWNFLqNryJRRpgfeRVv7 jrUDwzBKKOf3ty6biPHrrBNuGjZjcEuDuUAwJ3zR6jSn8eS/JwEWCRn/oxpLmMrVJvEP Do/glW370vtBIUZySyLIIHmkQPsmcx/ub2CIQ9StVJYbH7GmkD6OfBijPddxsZKPBuDJ 0eXVoR30rqIY6op/nmK4+JhprNyGQw0aIMmZIdXOSPh8MsaVeTZhTQsigRasgX7b/hZq gqvZ3R7SBqzCDUeI/ZIxPTMsfbqSkN96gEqSyUWhD3kUz9EKPJ6bvR35cHBJ6f0e4+7+ bGDA== X-Gm-Message-State: AOJu0YxzYZHcMuoi6CFDDxHux4GalNJMSoHlWBJ2bdb0/VPCFD/En3bQ 7dNvLkf6IK+UqgIBj9lCTePmjQfbTdWvatSh1xLqcE1clhq5HDH7R0Fe3Oa9s7+BpzXdclSIWqc DmBlhWH0MaJkfW71Una7bp3TrgGyd933ycQ== X-Gm-Gg: ASbGnctJTKCUk7GPDdoy2lVcIs9WXp8X6HHQREKzMNMioE6DfCL7EKO3xcwlKpHzDZ2 5yLgkDTr3j+WORyJBxIPOM1jTYBhPl+KXKFMCm4+c6PheLdjP/qpFK4YLuP5AcPaZXkxs7VY2Bk hgj1uNoX63yYDq25byl0K0GyTZj2nn2Nk2TRw= X-Google-Smtp-Source: AGHT+IHZlunFeUmNdBJweJmgDbitnOIBy2LH8cz4oFeKw0blBZvusd3Kqa9OFUyn4jPS+VDdoTJtFAwbwgtHhd5tRXg= X-Received: by 2002:a05:6122:4595:b0:530:5308:42ec with SMTP id 71dfb90a1353d-5309378e719mr2942710e0c.8.1748788838427; Sun, 01 Jun 2025 07:40:38 -0700 (PDT) MIME-Version: 1.0 References: <86h610qbfa.fsf@gnu.org> In-Reply-To: From: Ship Mints Date: Sun, 1 Jun 2025 10:40:27 -0400 X-Gm-Features: AX0GCFspup58sITCB9Hkx-IHKxXWYEdCxJJN8qggcR-_-7vHWTSuRODJ4J5kDc4 Message-ID: Subject: Re: bug#78654: NS Emacs crashing (since stipples?) To: Eli Zaretskii Content-Type: multipart/alternative; boundary="0000000000008071a5063683a197" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78654 Cc: 78654@debbugs.gnu.org, ben@bensimms.moe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0000000000008071a5063683a197 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sun, Jun 1, 2025 at 6:06=E2=80=AFAM Ship Mints wro= te: > On Sun, Jun 1, 2025 at 1:27=E2=80=AFAM Eli Zaretskii wrote= : > >> > Cc: ben@bensimms.moe >> > From: Ship Mints >> > Date: Sat, 31 May 2025 17:46:11 -0400 >> > >> > 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 vtabl= e >> that has image content in a test jig >> > and with multiple vtables sharing the same buffer (I doubt that has an= y >> 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 =3D 'com.apple.main-thread', stop reason =3D >> EXC_BAD_ACCESS (code=3D1, address=3D0xa8) >> > * frame #0: 0x00000001000e79bb >> emacs`prepare_face_for_display(f=3D0x0000000102f41b70, >> > face=3D0x0000000000000000) at xfaces.c:4657:16 [opt] >> > frame #1: 0x000000010025d599 >> emacs`ns_draw_stretch_glyph_string(s=3D0x00007ff7bfef9eb0) at >> > nsterm.m:4176:8 [opt] >> > frame #2: 0x000000010025a532 >> emacs`ns_draw_glyph_string(s=3D0x00007ff7bfef9eb0) at >> > nsterm.m:4571:7 [opt] >> >> This code: >> >> if (s->row->mouse_face_p >> && cursor_in_mouse_face_p (s->w)) >> { >> face =3D FACE_FROM_ID_OR_NULL (s->f, >> MOUSE_HL_INFO >> (s->f)->mouse_face_face_id); >> >> if (!s->face) >> face =3D FACE_FROM_ID (s->f, MOUSE_FACE_ID); >> prepare_face_for_display (s->f, face); >> >> seems to have a thinko: it should say this instead: >> >> if (s->row->mouse_face_p >> && cursor_in_mouse_face_p (s->w)) >> { >> face =3D FACE_FROM_ID_OR_NULL (s->f, >> MOUSE_HL_INFO >> (s->f)->mouse_face_face_id); >> >> if (!face) <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >> face =3D FACE_FROM_ID (s->f, MOUSE_FACE_ID); >> prepare_face_for_display (s->f, face); >> >> Can you try that change? >> > > Making a normal build now. Will test today/tomorrow. > So far, so good. I'll give it more time before declaring success. Thank you for the fast patch. -Stephane --0000000000008071a5063683a197 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Sun, Jun 1, 2025 at 6:06=E2=80=AFAM Ship Mints <shipmints@gmail.com> wrote:
On S= un, Jun 1, 2025 at 1:27=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
<= div class=3D"gmail_quote">
> Cc: ben@bensimms.moe
> From: Ship Mints <shipmints@gmail.com>
> Date: Sat, 31 May 2025 17:46:11 -0400
>
> I'm thinking it might have been this (I cc'd Ben) commit 9cbbd= cee132588a11dc03c3da371176aaa13927c it's
> the only one that looks relevant.=C2=A0 That said, it is possible I= 9;m tickling a bug that's been there longer.
>
> I pulled a master today and recompiled from clean and it still happens= .=C2=A0 It's a bit spurious, but regular over
> the last few days.=C2=A0 There are no stipples used in the buffer in q= uestion, so this looks like a side effect of that
> change, I'm guessing.=C2=A0 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 vtabl= e that has image content in a test jig
> and with multiple vtables sharing the same buffer (I doubt that has an= y bearing).
>
> I will try to see if I can reproduce without images if that indicates = anything.=C2=A0
>
> $ uname -a
>
> Darwin host.local 21.6.0 Darwin Kernel Version 21.6.0: Mon Jun 24 00:5= 6:10 PDT 2024;
> root:xnu-8020.240.18.709.2~1/RELEASE_X86_64 x86_64
>
> * thread #1, queue =3D 'com.apple.main-thread', stop reason = =3D EXC_BAD_ACCESS (code=3D1, address=3D0xa8)
>=C2=A0 =C2=A0* frame #0: 0x00000001000e79bb emacs`prepare_face_for_disp= lay(f=3D0x0000000102f41b70,
> face=3D0x0000000000000000) at xfaces.c:4657:16 [opt]
>=C2=A0 =C2=A0 =C2=A0frame #1: 0x000000010025d599 emacs`ns_draw_stretch_= glyph_string(s=3D0x00007ff7bfef9eb0) at
> nsterm.m:4176:8 [opt]
>=C2=A0 =C2=A0 =C2=A0frame #2: 0x000000010025a532 emacs`ns_draw_glyph_st= ring(s=3D0x00007ff7bfef9eb0) at
> nsterm.m:4571:7 [opt]

This code:

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (s->row->mouse_face_p
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 && cursor_in_mouse= _face_p (s->w))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 face =3D FACE_FROM_ID_OR_N= ULL (s->f,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0MOUSE_HL_INFO (s->f)->mouse_face_face_id);

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (!s->face)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 face =3D FACE_FROM_= ID (s->f, MOUSE_FACE_ID);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 prepare_face_for_display (= s->f, face);

seems to have a thinko: it should say this instead:

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (s->row->mouse_face_p
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 && cursor_in_mouse= _face_p (s->w))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 face =3D FACE_FROM_ID_OR_N= ULL (s->f,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0MOUSE_HL_INFO (s->f)->mouse_face_face_id);

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (!face)=C2=A0 <<&= lt;<<<<<<<<<<<<<<<<<<= <<<<<<<<<<<<<<<<<
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 face =3D FACE_FROM_= ID (s->f, MOUSE_FACE_ID);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 prepare_face_for_display (= s->f, face);

Can you try that change?

Making a normal build now.=C2=A0 Will test today/tomorrow= .

So far, so good.=C2=A0 I'll give it mo= re time before declaring success.=C2=A0 Thank you for the fast patch.
=

-Stephane --0000000000008071a5063683a197-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 04 12:34:52 2025 Received: (at 78654) by debbugs.gnu.org; 4 Jun 2025 16:34:52 +0000 Received: from localhost ([127.0.0.1]:51472 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMr4l-0004c7-ED for submit@debbugs.gnu.org; Wed, 04 Jun 2025 12:34:52 -0400 Received: from mail-ua1-x92b.google.com ([2607:f8b0:4864:20::92b]:61576) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uMr4b-0004b3-Hw for 78654@debbugs.gnu.org; Wed, 04 Jun 2025 12:34:46 -0400 Received: by mail-ua1-x92b.google.com with SMTP id a1e0cc1a2514c-86fbb48fc7fso13265241.2 for <78654@debbugs.gnu.org>; Wed, 04 Jun 2025 09:34:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749054875; x=1749659675; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=QuK0Hm5kYB/Pf7GVeTrtH3fDVbRt9Di502utV8gs91A=; b=R/ItltKwqYO5I6y0OLu//oxS/2bAtDck83OS/dMGOaK5tXxcb6ZfGpl0H3vAEB43QC S3WZSRDMt4YEZySdgBNnxPQnsmHdhdnZKK0aKl0m6hLsEOok8YPzHHiluZJChxFGaB00 Nu4GI3Xz0jdjGMdOqoVG+T5Z6IVjCEN5dW3ODEbmXmav9Cmi/5KcCfL0IOONlhTideRU i8Y8y074546CpzTLkNpBoqVyBOWgvO0QNyJLWW+5whHjtt8rCqaXp1OQjk6qpkR3vc1b W42u0VGXzPhR78eSt3mKgTY2wbd1IZN26J6SDOHVAyKJVEueVQg55K4zudDdcLmYpHvW tF6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749054875; x=1749659675; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=QuK0Hm5kYB/Pf7GVeTrtH3fDVbRt9Di502utV8gs91A=; b=QFX1ALIhcve7vYzY4bcSvq85HKI4AggT27ybiGV4vA6n7tjS2/w/KUPA9WDR8ZP97b IRedsZ/Og7cE5GEtdQnpadNvXHXyKGVH3xxnHTeLhhvMgYkkKCl1dgDgDAPVvVm1e1it ZhQm7iXlkPkUBYnZ+kPfBRZsx7aZQJJK+l57yAmKSzacmCKOktCVcJLgQGn2mZNoqjlF /0+vVCgX88QzIq4XiN7u3v6fM6T1lLlmFc3e2kvoKOcFEfYr9CBa8Cy+nJwS3zqwpri+ ismIWiyC+a1S3nbriWyI3vFp9vF1mW3W0fI62xRFVwMq+rPkUBIimWgQu1rEY7GiKQAG 20Rw== X-Gm-Message-State: AOJu0YyaKbPFnRl8rG/Xk6RKKzq+0aptlmKH8uJRV7i+RRb5eLlemnQr iC2m3bmo1/36w3IAHe5rQqZ8kDL37EqSblr+CElEQ9QHsc3ljxb5yt2zCaD8CR+H+zgrZUUadrB sHsnOtGgiUEjcnKJxhz9wogiSpZeL+vA= X-Gm-Gg: ASbGncv2xQB/E9TT/IZCe7DydbZdLqCHuxjwr9xIz8DIn/qiP2ALH/znSorUhlvxXJ0 5Jno9WNquh0u/XbevPUAohB8ocMQa7vEYWGuAjR3kc3Dcfk1BbiBelrAu2QVY/t3J54euBEZO2c T2sEKoE5arTTyEW0C+qsmq52zYnpmqSdfM X-Google-Smtp-Source: AGHT+IFDbthbJKA8mKoxq7gnI0OamIll5yl5n58A0ka/u6SHa71z/KFMYsw/ERK4y3V2xJ+MyQRRA+omY+YHiJCvsP4= X-Received: by 2002:a05:6122:641b:10b0:530:7ab8:49ab with SMTP id 71dfb90a1353d-530c70c1586mr2138757e0c.0.1749054875581; Wed, 04 Jun 2025 09:34:35 -0700 (PDT) MIME-Version: 1.0 References: <86h610qbfa.fsf@gnu.org> In-Reply-To: From: =?UTF-8?Q?St=C3=A9phane_Marks?= Date: Wed, 4 Jun 2025 12:34:24 -0400 X-Gm-Features: AX0GCFsqt0kZMViMf-MCBcibUevs_McLrrkNIkF604uZuD4-G5xFZnQUYjEhPP4 Message-ID: Subject: Re: bug#78654: NS Emacs crashing (since stipples?) To: Eli Zaretskii Content-Type: multipart/alternative; boundary="0000000000008d41b00636c19291" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78654 Cc: 78654@debbugs.gnu.org, ben@bensimms.moe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0000000000008d41b00636c19291 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sun, Jun 1, 2025 at 10:40=E2=80=AFAM Ship Mints wr= ote: > On Sun, Jun 1, 2025 at 6:06=E2=80=AFAM Ship Mints w= rote: > >> On Sun, Jun 1, 2025 at 1:27=E2=80=AFAM Eli Zaretskii wrot= e: >> >>> > Cc: ben@bensimms.moe >>> > From: Ship Mints >>> > Date: Sat, 31 May 2025 17:46:11 -0400 >>> > >>> > 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 =3D 'com.apple.main-thread', stop reason =3D >>> EXC_BAD_ACCESS (code=3D1, address=3D0xa8) >>> > * frame #0: 0x00000001000e79bb >>> emacs`prepare_face_for_display(f=3D0x0000000102f41b70, >>> > face=3D0x0000000000000000) at xfaces.c:4657:16 [opt] >>> > frame #1: 0x000000010025d599 >>> emacs`ns_draw_stretch_glyph_string(s=3D0x00007ff7bfef9eb0) at >>> > nsterm.m:4176:8 [opt] >>> > frame #2: 0x000000010025a532 >>> emacs`ns_draw_glyph_string(s=3D0x00007ff7bfef9eb0) at >>> > nsterm.m:4571:7 [opt] >>> >>> This code: >>> >>> if (s->row->mouse_face_p >>> && cursor_in_mouse_face_p (s->w)) >>> { >>> face =3D FACE_FROM_ID_OR_NULL (s->f, >>> MOUSE_HL_INFO >>> (s->f)->mouse_face_face_id); >>> >>> if (!s->face) >>> face =3D FACE_FROM_ID (s->f, MOUSE_FACE_ID); >>> prepare_face_for_display (s->f, face); >>> >>> seems to have a thinko: it should say this instead: >>> >>> if (s->row->mouse_face_p >>> && cursor_in_mouse_face_p (s->w)) >>> { >>> face =3D FACE_FROM_ID_OR_NULL (s->f, >>> MOUSE_HL_INFO >>> (s->f)->mouse_face_face_id); >>> >>> if (!face) <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>> face =3D FACE_FROM_ID (s->f, MOUSE_FACE_ID); >>> prepare_face_for_display (s->f, face); >>> >>> Can you try that change? >>> >> >> Making a normal build now. Will test today/tomorrow. >> > > So far, so good. I'll give it more time before declaring success. Thank > you for the fast patch. > I have not seen this recur. Would you prefer I submit a patch for this or would you handle this? -St=C3=A9phane --0000000000008d41b00636c19291 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Sun, Jun 1, 2025 at 10:40=E2=80=AFAM Ship Mints <shipmints@gmail.com> wrote:
On = Sun, Jun 1, 2025 at 6:06=E2=80=AFAM Ship Mints <shipmints@gmail.com> wrote:<= /div>
On Sun, Jun= 1, 2025 at 1:27=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
> C= c: ben@bensimms.moe
> From: Ship Mints <shipmints@gmail.com>
> Date: Sat, 31 May 2025 17:46:11 -0400
>
> I'm thinking it might have been this (I cc'd Ben) commit 9cbbd= cee132588a11dc03c3da371176aaa13927c it's
> the only one that looks relevant.=C2=A0 That said, it is possible I= 9;m tickling a bug that's been there longer.
>
> I pulled a master today and recompiled from clean and it still happens= .=C2=A0 It's a bit spurious, but regular over
> the last few days.=C2=A0 There are no stipples used in the buffer in q= uestion, so this looks like a side effect of that
> change, I'm guessing.=C2=A0 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 vtabl= e that has image content in a test jig
> and with multiple vtables sharing the same buffer (I doubt that has an= y bearing).
>
> I will try to see if I can reproduce without images if that indicates = anything.=C2=A0
>
> $ uname -a
>
> Darwin host.local 21.6.0 Darwin Kernel Version 21.6.0: Mon Jun 24 00:5= 6:10 PDT 2024;
> root:xnu-8020.240.18.709.2~1/RELEASE_X86_64 x86_64
>
> * thread #1, queue =3D 'com.apple.main-thread', stop reason = =3D EXC_BAD_ACCESS (code=3D1, address=3D0xa8)
>=C2=A0 =C2=A0* frame #0: 0x00000001000e79bb emacs`prepare_face_for_disp= lay(f=3D0x0000000102f41b70,
> face=3D0x0000000000000000) at xfaces.c:4657:16 [opt]
>=C2=A0 =C2=A0 =C2=A0frame #1: 0x000000010025d599 emacs`ns_draw_stretch_= glyph_string(s=3D0x00007ff7bfef9eb0) at
> nsterm.m:4176:8 [opt]
>=C2=A0 =C2=A0 =C2=A0frame #2: 0x000000010025a532 emacs`ns_draw_glyph_st= ring(s=3D0x00007ff7bfef9eb0) at
> nsterm.m:4571:7 [opt]

This code:

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (s->row->mouse_face_p
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 && cursor_in_mouse= _face_p (s->w))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 face =3D FACE_FROM_ID_OR_N= ULL (s->f,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0MOUSE_HL_INFO (s->f)->mouse_face_face_id);

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (!s->face)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 face =3D FACE_FROM_= ID (s->f, MOUSE_FACE_ID);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 prepare_face_for_display (= s->f, face);

seems to have a thinko: it should say this instead:

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (s->row->mouse_face_p
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 && cursor_in_mouse= _face_p (s->w))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 face =3D FACE_FROM_ID_OR_N= ULL (s->f,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0MOUSE_HL_INFO (s->f)->mouse_face_face_id);

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (!face)=C2=A0 <<&= lt;<<<<<<<<<<<<<<<<<<= <<<<<<<<<<<<<<<<<
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 face =3D FACE_FROM_= ID (s->f, MOUSE_FACE_ID);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 prepare_face_for_display (= s->f, face);

Can you try that change?

Making a normal build now.=C2=A0 Will test today/tomorrow= .

So far, so good.=C2=A0 I'll give it more time before declaring= success.=C2=A0 Thank you for the fast patch.

I have not seen this recur.=C2=A0 Would you prefer I submit a patch f= or this or would you handle this?

-St=C3=A9phane
--0000000000008d41b00636c19291-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 04 12:58:32 2025 Received: (at 78654-done) by debbugs.gnu.org; 4 Jun 2025 16:58:32 +0000 Received: from localhost ([127.0.0.1]:51623 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMrRg-0007Ky-40 for submit@debbugs.gnu.org; Wed, 04 Jun 2025 12:58:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55400) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uMrRc-0007KT-EW for 78654-done@debbugs.gnu.org; Wed, 04 Jun 2025 12:58:29 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMrRV-0001M2-Nb; Wed, 04 Jun 2025 12:58:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=yZH/oykCHg48LEYtbIW+0j3ayc/bda9RlA1xCDdcgUg=; b=GnwuBJhPsqGqBcOJfd86 ns/GDvvW5G7OEp/homv7QjjRrnX3dJm/Asx3BbidWohmQMxIpiF55ddoJl77Y1Hq+pnfL101YUh/N gTtlRvlfzqf5xEMycF/OAFM9AccII26Ka9xhXdanR6F65ibRe+euh10uM7K6kHT+mKqpVUH6l9+Da 4/3WsT9lq7kgN2BBMtu8NlWwiYXR3s1wX8b23K8xG2b4ttmN9ojIrm8rf/pgQwlsga/2WQDHSnrZT RxvIkUylUrJJrGtCJoDynSJZQBEQAJ/cOsh2LxtlY4dJ6xM5eJ9rb8+67Ltmp8dloUGFFTksJX5A8 WVJdpqb5oCnsJQ==; Date: Wed, 04 Jun 2025 19:58:18 +0300 Message-Id: <86zfenmok5.fsf@gnu.org> From: Eli Zaretskii To: =?utf-8?Q?St=C3=A9phane?= Marks In-Reply-To: (message from =?utf-8?Q?St=C3=A9phane?= Marks on Wed, 4 Jun 2025 12:34:24 -0400) Subject: Re: bug#78654: NS Emacs crashing (since stipples?) References: <86h610qbfa.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78654-done Cc: ben@bensimms.moe, 78654-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Stéphane Marks > Date: Wed, 4 Jun 2025 12:34:24 -0400 > Cc: 78654@debbugs.gnu.org, ben@bensimms.moe > > seems to have a thinko: it should say this instead: > > if (s->row->mouse_face_p > && cursor_in_mouse_face_p (s->w)) > { > face = FACE_FROM_ID_OR_NULL (s->f, > MOUSE_HL_INFO (s->f)->mouse_face_face_id); > > if (!face) <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< > face = FACE_FROM_ID (s->f, MOUSE_FACE_ID); > prepare_face_for_display (s->f, face); > > Can you try that change? > > Making a normal build now. Will test today/tomorrow. > > So far, so good. I'll give it more time before declaring success. Thank you for the fast patch. > > I have not seen this recur. Would you prefer I submit a patch for this or would you handle this? Thanks, I've now installed this on the master branch, and I'm closing this bug. From unknown Mon Aug 18 00:06:30 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 03 Jul 2025 11:24:09 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator