From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: master 5ee43ba0df causing display hangs? Date: Sun, 08 Dec 2019 17:55:22 +0200 Message-ID: <837e36errp.fsf@gnu.org> References: <87k178gu5g.fsf@wavexx.thregr.org> <83sglwdoc0.fsf@gnu.org> <83pnh0dmvl.fsf@gnu.org> <87pnh0ezhx.fsf@wavexx.thregr.org> <83muc4djwg.fsf@gnu.org> <878snn3fi0.fsf@wavexx.thregr.org> Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="173807"; mail-complaints-to="usenet@blaine.gmane.org" Cc: emacs-devel@gnu.org To: Yuri D'Elia Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Dec 08 16:56:24 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1idyv2-000j6z-EO for ged-emacs-devel@m.gmane.org; Sun, 08 Dec 2019 16:56:24 +0100 Original-Received: from localhost ([::1]:59510 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1idyv1-0006Ta-9v for ged-emacs-devel@m.gmane.org; Sun, 08 Dec 2019 10:56:23 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57558) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1idyua-0006TU-V4 for emacs-devel@gnu.org; Sun, 08 Dec 2019 10:55:57 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:46408) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1idyuW-00049c-87; Sun, 08 Dec 2019 10:55:52 -0500 Original-Received: from [176.228.60.248] (port=3094 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1idyuK-0002B3-9L; Sun, 08 Dec 2019 10:55:41 -0500 In-reply-to: <878snn3fi0.fsf@wavexx.thregr.org> (message from Yuri D'Elia on Sun, 08 Dec 2019 00:03:35 +0100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:243232 Archived-At: > From: Yuri D'Elia > Cc: emacs-devel@gnu.org > Date: Sun, 08 Dec 2019 00:03:35 +0100 > > > memcpy (inherited_attrs, attrs, LFACE_VECTOR_SIZE * sizeof (attrs[0])); > > while (UNSPECIFIEDP (attr_val) > > && !NILP (inherited_attrs[LFACE_INHERIT_INDEX]) > > && !UNSPECIFIEDP (inherited_attrs[LFACE_INHERIT_INDEX])) > > { > > Lisp_Object parent_face = inherited_attrs[LFACE_INHERIT_INDEX]; > > bool ok; > > if (CONSP (parent_face)) > > { > > Lisp_Object tail; > > for (tail = parent_face; !NILP (tail); tail = XCDR (tail)) > > { > > ok = get_lface_attributes (w, f, XCAR (tail), inherited_attrs, > > false, named_merge_points); > > if (!ok) > > break; > > While attaching with gdb I noticed this is where it gets stuck in a loop. > get_lface_attributes returns !ok, break stops only the for loop, but > since nothing else changed for the upper "while" it goes on forever. > > Looking at few lines below, it looks like this needs to break out of the > while() as well? Probably. But I'd like to understand how come we get that 'false' return value, to make sure there isn't a larger problem here. Could you please look around in the debugger and tell me what face is being processed in that case and what is its Lisp definition? Also, I'd like to see a C and Lisp backtraces from the infloop. Let me know if you need help with GDB commands to do that. Thanks!