From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Alexander Adolf Newsgroups: gmane.emacs.devel Subject: Re: 29.0.50 master freeze on macOS Date: Tue, 19 Jul 2022 17:27:14 +0200 Message-ID: <5cd7689bb258db5a267a908c9cb18e0c@condition-alpha.com> References: <8c1839f7ace24a57dbce351ef546c437@condition-alpha.com> <838rovu685.fsf@gnu.org> <83a69as15c.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32945"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Jul 19 17:30:20 2022 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 1oDpAy-0008S4-5Z for ged-emacs-devel@m.gmane-mx.org; Tue, 19 Jul 2022 17:30:20 +0200 Original-Received: from localhost ([::1]:45128 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oDpAw-0002Mg-S9 for ged-emacs-devel@m.gmane-mx.org; Tue, 19 Jul 2022 11:30:18 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44606) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oDp8A-000772-OL for emacs-devel@gnu.org; Tue, 19 Jul 2022 11:27:26 -0400 Original-Received: from smtprelay04.ispgateway.de ([80.67.18.16]:19258) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oDp88-0002Pv-P2; Tue, 19 Jul 2022 11:27:26 -0400 Original-Received: from [46.244.223.188] (helo=condition-alpha.com) by smtprelay04.ispgateway.de with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1oDp8F-0000LQ-R0; Tue, 19 Jul 2022 17:27:31 +0200 In-Reply-To: <83a69as15c.fsf@gnu.org> X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20= Received-SPF: pass client-ip=80.67.18.16; envelope-from=alexander.adolf@condition-alpha.com; helo=smtprelay04.ispgateway.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action 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" Xref: news.gmane.io gmane.emacs.devel:292274 Archived-At: Hello Eli, Eli Zaretskii writes: > [...] > Please follow the instructions in etc/DEBUG under "If the symptom of > the bug is that Emacs fails to respond", to establish where Emacs > infloops. Some more findings based on that guidance (for which thanks, btw): It loops in face_inherited_attr(). Here is the call stack: #0 0x00000001018f32db in face_inherited_attr at /Users/alexanderadolf/Proje= cts/emacs/master/src/xfaces.c:2335 #1 0x00000001018f2297 in merge_named_face at /Users/alexanderadolf/Projects= /emacs/master/src/xfaces.c:2379 #2 0x00000001018ee57d in merge_face_ref at /Users/alexanderadolf/Projects/e= macs/master/src/xfaces.c:2866 #3 0x00000001018f169a in face_at_buffer_position at /Users/alexanderadolf/P= rojects/emacs/master/src/xfaces.c:6644 #4 0x0000000101866526 in face_at_pos at /Users/alexanderadolf/Projects/emac= s/master/src/xdisp.c:4425 #5 0x000000010186c47a in extend_face_to_end_of_line at /Users/alexanderadol= f/Projects/emacs/master/src/xdisp.c:22840 #6 0x0000000101849164 in display_line at /Users/alexanderadolf/Projects/ema= cs/master/src/xdisp.c:24780 #7 0x0000000101846fb9 in try_window at /Users/alexanderadolf/Projects/emacs= /master/src/xdisp.c:20203 #8 0x0000000101873ef7 in redisplay_window at /Users/alexanderadolf/Projects= /emacs/master/src/xdisp.c:19610 #9 0x00000001018708e6 in redisplay_window_0 at /Users/alexanderadolf/Projec= ts/emacs/master/src/xdisp.c:17188 #10 0x000000010199042b in internal_condition_case_1 at /Users/alexanderadol= f/Projects/emacs/master/src/eval.c:1509 #11 0x000000010186ff75 in redisplay_windows at /Users/alexanderadolf/Projec= ts/emacs/master/src/xdisp.c:17158 #12 0x000000010186ffaa in redisplay_windows at /Users/alexanderadolf/Projec= ts/emacs/master/src/xdisp.c:17152 #13 0x00000001018407fc in redisplay_internal at /Users/alexanderadolf/Proje= cts/emacs/master/src/xdisp.c:16608 #14 0x0000000101846115 in redisplay at /Users/alexanderadolf/Projects/emacs= /master/src/xdisp.c:15812 #15 0x00000001018fc0e5 in read_char at /Users/alexanderadolf/Projects/emacs= /master/src/keyboard.c:2587 #16 0x00000001018f945b in read_key_sequence at /Users/alexanderadolf/Projec= ts/emacs/master/src/keyboard.c:9984 #17 0x00000001018f74bc in command_loop_1 at /Users/alexanderadolf/Projects/= emacs/master/src/keyboard.c:1382 #18 0x00000001019903a7 in internal_condition_case at /Users/alexanderadolf/= Projects/emacs/master/src/eval.c:1485 #19 0x00000001018f70ae in command_loop_2 at /Users/alexanderadolf/Projects/= emacs/master/src/keyboard.c:1132 #20 0x000000010198fc61 in internal_catch at /Users/alexanderadolf/Projects/= emacs/master/src/eval.c:1208 #21 0x0000000101a83d78 in recursive_edit_1.cold.1 at /Users/alexanderadolf/= Projects/emacs/master/src/keyboard.c:1110 #22 0x00000001018f695d in command_loop [inlined] at /Users/alexanderadolf/P= rojects/emacs/master/src/keyboard.c:1107 #23 0x00000001018f6958 in recursive_edit_1 at /Users/alexanderadolf/Project= s/emacs/master/src/keyboard.c:719 #24 0x00000001018f6ad3 in Frecursive_edit at /Users/alexanderadolf/Projects= /emacs/master/src/keyboard.c:802 #25 0x00000001018f5a81 in main at /Users/alexanderadolf/Projects/emacs/mast= er/src/emacs.c:2517 #26 0x00007fff20875f3d in start () In face_inherited_attr(), variable values were: w window * NULL=09 f frame * NULL=09 attrs Lisp_Object * NULL=09 attr_idx lface_attribute_index LFACE_EXTEND_INDEX named_merge_points named_merge_point * 0x7ffeee3e9018 0x00007ffeee3e9018 inherited_attrs Lisp_Object [20]=09 attr_val Lisp_Object 0xf3f0 0x000000000000f3f0 Inside the while() loop, the if (CONSP (parent_face)) fails, and it executes the else branch. From there, it calls=20 get_lface_attributes (struct window *w, struct frame *f, Lisp_Object face_name, Lisp_Object attrs[LFACE_VECTOR_SIZE], bool signal_p, struct named_merge_point *named_merge_points) which executes the =E2=80=9Cdefault case, no remapping=E2=80=9D path. Interestingly, the window and frame pointers are NULL in the context of face_inherited_attr() only. I.e. in both the function that calls it (merge_named_face()), and in the function called by it (get_lface_attributes()), the pointers have the same, non-NULL value. Hope this helps? If you want me to look into more specific things next time it happens, please don't hesitate to drop me a note. Many thanks and looking forward to your thoughts, --alexander