From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Building the igc branch on MS-Windows Date: Fri, 26 Apr 2024 18:39:32 +0300 Message-ID: <86sez8xhe3.fsf@gnu.org> References: <86il063imh.fsf@gnu.org> <87ttjqghyd.fsf@gmail.com> <86zfti101u.fsf@gnu.org> <87pluegd4z.fsf@gmail.com> <86ttjp20je.fsf@gnu.org> <87y191fwnd.fsf@gmail.com> <87cyqcfv6k.fsf@gmail.com> <86o79wzi31.fsf@gnu.org> <86mspgza23.fsf@gnu.org> <867cgkz7e2.fsf@gnu.org> <87r0esdv7o.fsf@gmail.com> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14779"; mail-complaints-to="usenet@ciao.gmane.io" Cc: gerd.moellmann@gmail.com, emacs-devel@gnu.org To: Helmut Eller Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Apr 26 17:40:23 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1s0NgU-0003an-LN for ged-emacs-devel@m.gmane-mx.org; Fri, 26 Apr 2024 17:40:22 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s0Nfk-0001lf-5s; Fri, 26 Apr 2024 11:39:36 -0400 Original-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 1s0Nfj-0001lW-1q for emacs-devel@gnu.org; Fri, 26 Apr 2024 11:39:35 -0400 Original-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 1s0Nfi-0003mi-Lf; Fri, 26 Apr 2024 11:39:34 -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=yI54jSZj7Xe1/mwPp1c3SYCs6/OLlEb6xAbB5/DYpcc=; b=g9dRxjO0S2Bg O8SaJgAmehPvZj3C3gKyVS20K5pZeP4QsVA70EFyXr1V2fFgnSKgT0I+zGiCXKCIuHT4l7h9yEYGJ QUMUJ/YFhVmInzAzvur33vUZap90hRMEDdEOfYP24SwZIikgEAv9TD6bdyT7+3WbFIeJc41Ate/K4 kFjDGPl1OkR5H6ktM7y/4QGeASkcUXyu74Wq/mA8Mttzn9+XCI1KGJjXpTd6f93ZbkXZA88ePwanl m4G8Y5FmwAXKVNMp5mFpHM2ZNXtEUms7B4OYxoTEXSWmB/S2m01yfAPoCMbviKfoH9hW2rhtE6hbD nGywebcZGN1S1hfeSTbOxg==; In-Reply-To: <87r0esdv7o.fsf@gmail.com> (message from Helmut Eller on Fri, 26 Apr 2024 17:01:15 +0200) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:318145 Archived-At: > From: Helmut Eller > Cc: Eli Zaretskii , emacs-devel@gnu.org > Date: Fri, 26 Apr 2024 17:01:15 +0200 > > > I have a nice test case, that crashes both GUI and tty versions. Can > you reproduce this? > > ./src/emacs -nw -Q --eval > '(progn (view-hello-file) (redisplay) (igc--collect) (forward-line))' I can. It crashes in both GUI and TTY cases, but with two very different backtraces. Here's the GUI case, it looks very similar to what I see when scrolling through xdisp.c: Thread 1 received signal SIGSEGV, Segmentation fault. XCAR (c=0xab5ca1b) at lisp.h:751 751 return lisp_h_XLP (o); (gdb) bt #0 XCAR (c=0xab5ca1b) at lisp.h:751 #1 assoc_no_quit (key=, alist=0xab5ca1b) at fns.c:2032 #2 0x00afc0ed in font_list_entities (f=0xaa1c478, spec=0xa843cb5) at font.c:2795 #3 0x00afce53 in font_find_for_lface (f=, f@entry=0xaa1c478, attrs=, attrs@entry=0x727a2b0, spec=, spec@entry=0xa843c15, c=, c@entry=-1) at font.c:3316 #4 0x00afe384 in font_load_for_lface (f=f@entry=0xaa1c478, attrs=attrs@entry=0x727a2b0, spec=spec@entry=0xa843c15) at font.c:3396 #5 0x00a2df2b in realize_gui_face (cache=0x13ca5f88, attrs=0x727a2b0) at xfaces.c:6216 #6 realize_face (cache=cache@entry=0x13ca5f88, attrs=attrs@entry=0x727a2b0, former_face_id=former_face_id@entry=-1) at xfaces.c:6053 #7 0x00a2fdb3 in lookup_face (f=f@entry=0xaa1c478, attr=attr@entry=0x727a2b0) at xfaces.c:4989 #8 0x00a32dcc in face_at_string_position (w=0xaa1c628, string=, string@entry=0x1a14b7d4, pos=pos@entry=1, bufpos=bufpos@entry=0, endptr=endptr@entry=0x727a37c, base_face_id=MODE_LINE_ACTIVE_FACE_ID, mouse_p=mouse_p@entry=false, attr_filter=attr_filter@entry=0) at xfaces.c:6930 #9 0x00999268 in display_string (string=string@entry=0x13cbe338 "xdisp.c", lisp_string=0xac58f6c, face_string=face_string@entry=0x1a14b7d4, face_string_pos=face_string_pos@entry=1, start=start@entry=0, it=it@entry=0x727a690, field_width=field_width@entry=12, precision=precision@entry=-13, max_x=max_x@entry=0, multibyte=multibyte@entry=0) at xdisp.c:29116 #10 0x0099a299 in display_mode_element (it=it@entry=0x727a690, depth=, depth@entry=3, field_width=, precision=, precision@entry=-13, elt=, elt@entry=0x1a14b7d4, props=, props@entry=0x0, risky=, risky@entry=false) at xdisp.c:27788 #11 0x0099b5ff in display_mode_element (it=it@entry=0x727a690, depth=3, depth@entry=1, field_width=0, precision=precision@entry=-13, elt=, elt@entry=0x1903ec10, props=props@entry=0x0, risky=risky@entry=false) at xdisp.c:27965 #12 0x0099b5ff in display_mode_element (it=it@entry=0x727a690, depth=1, depth@entry=0, field_width=field_width@entry=0, precision=precision@entry=0, elt=, elt@entry=0x1a24e953, props=props@entry=0x0, risky=risky@entry=false) at xdisp.c:27965 #13 0x0099cba9 in display_mode_line (w=w@entry=0xaa1c628, face_id=MODE_LINE_ACTIVE_FACE_ID, format=0x1a24e953) at lisp.h:1179 #14 0x0099f695 in display_mode_lines (w=w@entry=0xaa1c628) at xdisp.c:27303 #15 0x009b7df2 in redisplay_window (window=window@entry=0xaa1c62d, just_this_one_p=just_this_one_p@entry=true) at xdisp.c:20924 #16 0x009bcab8 in redisplay_window_1 (window=0xaa1c62d) at xdisp.c:18023 #17 0x00ad289b in internal_condition_case_1 ( bfun=bfun@entry=0x9bca80 , arg=0xaa1c62d, handlers=0x1a2c10c3, hfun=hfun@entry=0x966297 ) at eval.c:1568 #18 0x009a124e in redisplay_internal () at xdisp.c:17512 #19 0x009a2463 in redisplay () at xdisp.c:16562 #20 0x00a46088 in read_char (commandflag=, commandflag@entry=1, map=, map@entry=0x134aabc3, prev_event=, used_mouse_menu=, used_mouse_menu@entry=0x727f7fb, end_time=, end_time@entry=0x0) at keyboard.c:2678 #21 0x00a496bd in read_key_sequence (keybuf=keybuf@entry=0x727f8d8, prompt=prompt@entry=0x0, 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, disable_text_conversion_p=false) at keyboard.c:10727 #22 0x00a4b24b in command_loop_1 () at lisp.h:1179 #23 0x00ad27fd in internal_condition_case ( bfun=bfun@entry=0xa4b090 , handlers=handlers@entry=0x48, hfun=hfun@entry=0xa3e3d6 ) at eval.c:1544 #24 0x00a346eb in command_loop_2 (handlers=0x48) at keyboard.c:1168 #25 0x00ad2717 in internal_catch (tag=tag@entry=0x87a8, func=func@entry=0xa346cb , arg=arg@entry=0x48) at eval.c:1224 #26 0x00a3468b in command_loop () at lisp.h:1179 #27 0x00a3df91 in recursive_edit_1 () at keyboard.c:754 #28 0x00a3e281 in Frecursive_edit () at keyboard.c:837 #29 0x00c77c0f in main (argc=, argv=) at emacs.c:2626 (gdb) q A debugging session is active. Inferior 1 [process 85368] will be killed. Quit anyway? (y or n) y d:\gnu\git\emacs\feature>gdb ./src/emacs.exe GNU gdb (MinGW32 GDB) 14.1 Copyright (C) 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-pc-mingw32". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from ./src/emacs.exe... , alist=0xb2c6f33) at fns.c:2032 #2 0x00afc0ed in font_list_entities (f=0xaa1c478, spec=0xa8217a5) at font.c:2795 #3 0x00afce53 in font_find_for_lface (f=, f@entry=0xaa1c478, attrs=, attrs@entry=0x727a2b0, spec=, spec@entry=0xa821705, c=, c@entry=-1) at font.c:3316 #4 0x00afe384 in font_load_for_lface (f=f@entry=0xaa1c478, attrs=attrs@entry=0x727a2b0, spec=spec@entry=0xa821705) at font.c:3396 #5 0x00a2df2b in realize_gui_face (cache=0xc349f88, attrs=0x727a2b0) at xfaces.c:6216 #6 realize_face (cache=cache@entry=0xc349f88, attrs=attrs@entry=0x727a2b0, former_face_id=former_face_id@entry=-1) at xfaces.c:6053 #7 0x00a2fdb3 in lookup_face (f=f@entry=0xaa1c478, attr=attr@entry=0x727a2b0) at xfaces.c:4989 #8 0x00a32dcc in face_at_string_position (w=0xc0007b0, string=, string@entry=0x1a32b7d4, pos=pos@entry=1, bufpos=bufpos@entry=0, endptr=endptr@entry=0x727a37c, base_face_id=MODE_LINE_ACTIVE_FACE_ID, mouse_p=mouse_p@entry=false, attr_filter=attr_filter@entry=0) at xfaces.c:6930 #9 0x00999268 in display_string (string=string@entry=0xc0371e8 "HELLO", lisp_string=0xc03948c, face_string=face_string@entry=0x1a32b7d4, face_string_pos=face_string_pos@entry=1, start=start@entry=0, it=it@entry=0x727a690, field_width=field_width@entry=12, precision=precision@entry=-13, max_x=max_x@entry=0, multibyte=multibyte@entry=0) at xdisp.c:29116 #10 0x0099a299 in display_mode_element (it=it@entry=0x727a690, depth=, depth@entry=3, field_width=, precision=, precision@entry=-13, elt=, elt@entry=0x1a32b7d4, props=, props@entry=0x0, risky=, risky@entry=false) at xdisp.c:27788 #11 0x0099b5ff in display_mode_element (it=it@entry=0x727a690, depth=3, depth@entry=1, field_width=0, precision=precision@entry=-13, elt=, elt@entry=0x1921ec10, props=props@entry=0x0, risky=risky@entry=false) at xdisp.c:27965 #12 0x0099b5ff in display_mode_element (it=it@entry=0x727a690, depth=1, depth@entry=0, field_width=field_width@entry=0, precision=precision@entry=0, elt=, elt@entry=0x1a42e953, props=props@entry=0x0, risky=risky@entry=false) at xdisp.c:27965 #13 0x0099cba9 in display_mode_line (w=w@entry=0xc0007b0, face_id=MODE_LINE_ACTIVE_FACE_ID, format=0x1a42e953) at lisp.h:1179 #14 0x0099f695 in display_mode_lines (w=w@entry=0xc0007b0) at xdisp.c:27303 #15 0x009b7df2 in redisplay_window (window=window@entry=0xc0007b5, just_this_one_p=just_this_one_p@entry=true) at xdisp.c:20924 #16 0x009bcab8 in redisplay_window_1 (window=0xc0007b5) at xdisp.c:18023 #17 0x00ad289b in internal_condition_case_1 ( bfun=bfun@entry=0x9bca80 , arg=0xc0007b5, handlers=0x1a4a10c3, hfun=hfun@entry=0x966297 ) at eval.c:1568 #18 0x009a124e in redisplay_internal () at xdisp.c:17512 #19 0x009a2463 in redisplay () at xdisp.c:16562 #20 0x00a46088 in read_char (commandflag=, commandflag@entry=1, map=, map@entry=0xa82060b, prev_event=, used_mouse_menu=, used_mouse_menu@entry=0x727f7fb, end_time=, end_time@entry=0x0) at keyboard.c:2678 #21 0x00a496bd in read_key_sequence (keybuf=keybuf@entry=0x727f8d8, prompt=prompt@entry=0x0, 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, disable_text_conversion_p=false) at keyboard.c:10727 #22 0x00a4b24b in command_loop_1 () at lisp.h:1179 #23 0x00ad27fd in internal_condition_case ( bfun=bfun@entry=0xa4b090 , handlers=handlers@entry=0x48, hfun=hfun@entry=0xa3e3d6 ) at eval.c:1544 #24 0x00a346eb in command_loop_2 (handlers=0x48) at keyboard.c:1168 #25 0x00ad2717 in internal_catch (tag=tag@entry=0x87a8, func=func@entry=0xa346cb , arg=arg@entry=0x48) at eval.c:1224 #26 0x00a3468b in command_loop () at lisp.h:1179 #27 0x00a3df91 in recursive_edit_1 () at keyboard.c:754 #28 0x00a3e281 in Frecursive_edit () at keyboard.c:837 #29 0x00c77c0f in main (argc=, argv=) at emacs.c:2626 And here's the TTY case, it seems to hit assertion violation while accessing a window object (this is a build with --enable-checking): Thread 1 received signal SIGTRAP, Trace/breakpoint trap. 0x75f45693 in KERNELBASE!DebugBreak () from C:\WINDOWS\SysWOW64\KernelBase.dll (gdb) thread 1 [Switching to thread 1 (Thread 110144.0x1888c)] #0 0x75f45693 in KERNELBASE!DebugBreak () from C:\WINDOWS\SysWOW64\KernelBase.dll (gdb) bt #0 0x75f45693 in KERNELBASE!DebugBreak () from C:\WINDOWS\SysWOW64\KernelBase.dll #1 0x00b817b6 in emacs_abort () at w32fns.c:11262 #2 0x00a34090 in terminate_due_to_signal (sig=sig@entry=22, backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:480 #3 0x00aa87e0 in die ( msg=msg@entry=0x1007e6c "WINDOWP (a)", file=file@entry=0x1007e63 "window.h", line=line@entry=491) at alloc.c:8337 #4 0x009b6dd9 in XWINDOW (a=) at window.h:489 #5 XWINDOW (a=) at window.h:489 #6 redisplay_window (window=window@entry=0xb00022d, just_this_one_p=just_this_one_p@entry=false) at xdisp.c:21045 #7 0x009bcaf4 in redisplay_window_0 (window=0xb00022d) at xdisp.c:18015 #8 0x00ad289b in internal_condition_case_1 ( bfun=bfun@entry=0x9bcabf , arg=arg@entry=0xb00022d, handlers=0x1a4310c3, hfun=hfun@entry=0x966297 ) at eval.c:1568 #9 0x00961eed in redisplay_windows (window=0xb00022d) at xdisp.c:17984 #10 0x009a0f0f in redisplay_internal () at xdisp.c:17384 #11 0x009a2463 in redisplay () at xdisp.c:16562 #12 0x00a46088 in read_char (commandflag=, commandflag@entry=1, map=, map@entry=0xa845e0b, prev_event=, used_mouse_menu=, used_mouse_menu@entry=0x727f7fb, end_time=, end_time@entry=0x0) at keyboard.c:2678 #13 0x00a496bd in read_key_sequence (keybuf=keybuf@entry=0x727f8d8, prompt=prompt@entry=0x0, 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, disable_text_conversion_p=false) at keyboard.c:10727 #14 0x00a4b24b in command_loop_1 () at lisp.h:1179 #15 0x00ad27fd in internal_condition_case ( bfun=bfun@entry=0xa4b090 , handlers=handlers@entry=0x48, hfun=hfun@entry=0xa3e3d6 ) at eval.c:1544 #16 0x00a346eb in command_loop_2 (handlers=0x48) at keyboard.c:1168 #17 0x00ad2717 in internal_catch (tag=tag@entry=0x87a8, func=func@entry=0xa346cb , arg=arg@entry=0x48) at eval.c:1224 #18 0x00a3468b in command_loop () at lisp.h:1179 #19 0x00a3df91 in recursive_edit_1 () at keyboard.c:754 #20 0x00a3e281 in Frecursive_edit () at keyboard.c:837 #21 0x00c77c0f in main (argc=, argv=) at emacs.c:2626