GNU bug report logs - #56259
29.0.50; Illegal -layoutSubtreeIfNeeded on NS

Previous Next

Package: emacs;

Reported by: Gerd Möllmann <gerd.moellmann <at> gmail.com>

Date: Mon, 27 Jun 2022 14:23:01 UTC

Severity: normal

Tags: notabug

Merged with 58540

Found in version 29.0.50

Done: Stefan Kangas <stefankangas <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Stefan Kangas <stefankangas <at> gmail.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#56259: closed (29.0.50; Illegal -layoutSubtreeIfNeeded on NS)
Date: Sat, 12 Nov 2022 20:58:04 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 12 Nov 2022 12:57:28 -0800
with message-id <CADwFkm=AjL+xF=aDPw6aMHctGoqqcjxkMJLmHbEq2xBV9wNWSA <at> mail.gmail.com>
and subject line Re: bug#58540: 29.0.50; While opening the font dialog
has caused the debbugs.gnu.org bug report #56259,
regarding 29.0.50; Illegal -layoutSubtreeIfNeeded on NS
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
56259: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=56259
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; Illegal -layoutSubtreeIfNeeded on NS
Date: Mon, 27 Jun 2022 16:22:31 +0200
On macOS 12.4, selecting Options -> Set Default Font from the menu bar 
reproducibly prints a message to the terminal:

emacs[76309:7042282] It's not legal to call -layoutSubtreeIfNeeded on
a view which is already being laid out.  If you are implementing the
view's -layout method, you can call -[super layout] instead. Break on
void _NSDetectedLayoutRecursion(void) to debug.  This will be logged
only once.  This may break in the future.

Hopefully nobody get's sued because of that illegal action...

Backtrace from lldb:

 * frame #0: 0x000000019e2f5f40 AppKit`_NSDetectedLayoutRecursion
    frame #1: 0x000000019dac4148 AppKit`-[NSWindow(NSConstraintBasedLayout) _layoutViewTree] + 148
    frame #2: 0x000000019dac11d0 AppKit`-[NSWindow _oldPlaceWindow:fromServer:] + 584
    frame #3: 0x000000019dac0050 AppKit`-[NSWindow _setFrameCommon:display:fromServer:] + 2220
    frame #4: 0x000000019db854cc AppKit`-[NSThemeFrame _growWindowReshapeContentAndToolbarView:withOldToolbarFrameSize:animate:] + 1232
    frame #5: 0x000000019db84ddc AppKit`-[NSThemeFrame _reshapeContentAndToolbarView:withOldToolbarFrameSize:resizeWindow:animate:] + 300
    frame #6: 0x000000019db738bc AppKit`-[NSThemeFrame _toolbarFrameSizeChanged:oldSize:] + 76
    frame #7: 0x000000019db737f4 AppKit`-[NSWindow _toolbarFrameSizeChanged:oldSize:] + 96
    frame #8: 0x000000019db68870 AppKit`-[NSToolbarView _layoutDirtyItemViewersAndTileToolbar] + 428
    frame #9: 0x000000019db8b114 AppKit`-[NSToolbarView layout] + 88
    frame #10: 0x000000019dac5700 AppKit`_NSViewLayout + 688
    frame #11: 0x000000019dac5178 AppKit`-[NSView _layoutSubtreeWithOldSize:] + 380
    frame #12: 0x000000019dac52e4 AppKit`-[NSView _layoutSubtreeWithOldSize:] + 744
    frame #13: 0x000000019dac52e4 AppKit`-[NSView _layoutSubtreeWithOldSize:] + 744
    frame #14: 0x000000019dac52e4 AppKit`-[NSView _layoutSubtreeWithOldSize:] + 744
    frame #15: 0x000000019dac4600 AppKit`-[NSView _layoutSubtreeIfNeededAndAllowTemporaryEngine:] + 996
    frame #16: 0x000000019dac4148 AppKit`-[NSWindow(NSConstraintBasedLayout) _layoutViewTree] + 148
    frame #17: 0x000000019db3b8ec AppKit`-[NSWindow(NSConstraintBasedLayout) layoutIfNeeded] + 308
    frame #18: 0x000000019dba7388 AppKit`-[NSWindow _setUpFirstResponderBeforeBecomingVisible] + 84
    frame #19: 0x000000019dba6750 AppKit`-[NSWindow _doWindowWillBeVisibleAsSheet:] + 164
    frame #20: 0x000000019dba507c AppKit`-[NSWindow _reallyDoOrderWindowAboveOrBelow:relativeTo:findKey:forCounter:force:isModal:] + 1232
    frame #21: 0x000000019dba4790 AppKit`-[NSWindow _reallyDoOrderWindow:relativeTo:findKey:forCounter:force:isModal:] + 132
    frame #22: 0x000000019dba377c AppKit`-[NSWindow _doOrderWindow:relativeTo:findKey:forCounter:force:isModal:] + 324
    frame #23: 0x000000010088d424 emacs`-[EmacsView showFontPanel](self=0x0000000108431400, _cmd="showFontPanel") at nsterm.m:6585:3
    frame #24: 0x000000010090d670 emacs`Fx_select_font(frame=0x0000000000000000, ignored=0x0000000000000000) at nsfns.m:1662:22

A related bug might be bug#53481 (status done, fixed by Alan Third).


[Message part 3 (message/rfc822, inline)]
From: Stefan Kangas <stefankangas <at> gmail.com>
To: Daniel Martín <mardani29 <at> yahoo.es>
Cc: Gerd Möllmann <gerd.moellmann <at> gmail.com>,
 56259-done <at> debbugs.gnu.org, 58540-done <at> debbugs.gnu.org
Subject: Re: bug#58540: 29.0.50; While opening the font dialog
Date: Sat, 12 Nov 2022 12:57:28 -0800
Daniel Martín <mardani29 <at> yahoo.es> writes:

> tags 56259 notabug
> close 56259
> quit
>
> I think the general consensus was that this message is a bug in some
> Apple framework and not in Emacs, so I'm closing the bug report.

The bug was left open, so I'm closing it now.


This bug report was last modified 2 years and 287 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.