Hang exiting full-screen mode with popover in accessory view

Originator:me
Number:rdar://13203448 Date Originated:12-Feb-2013 04:12 PM
Status:Duplicate/14250137/Open Resolved:
Product:Mac OS X Product Version:10.8.2 (12C3006)
Classification:Crash/Hang/Data Loss Reproducible:Always
 
12-Feb-2013 04:12 PM Jonathon Mah:
We have an app with a window that can go full-screen; when it does, the fullScreenAccessoryView contains a search field (NSSearchField subclass). This search field can have a popover shown relative to it.

In full-screen mode with the popover visible and with the search field as the first responder (well, the field editor is the actual first responder), pressing Cmd-Ctrl-F to exit full-screen hangs the app with the following stack trace:


#0	0x00007fff5fc01660 in dyld::findMappedRange(unsigned long) ()
#1	0x00007fff5fc0b1df in client_dyld_find_unwind_sections(void*, dyld_unwind_sections*) ()
#2	0x00007fff98760f56 in _dyld_find_unwind_sections ()
#3	0x00007fff9a1c6daa in libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::setInfoBasedOnIPRegister(bool) ()
#4	0x00007fff9a1c7555 in libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::step() ()
#5	0x00007fff90af57af in objc_addExceptionHandler ()
#6	0x00007fff9736020c in _CFDoExceptionOperation ()
#7	0x00007fff90f25b62 in -[NSViewHierarchyLock lockForReadingWithExceptionHandler:] ()
#8	0x00007fff9106ef1a in -[NSConcreteTextStorage _lockForReading] ()
#9	0x00007fff90fc0bf9 in _NSFastFillAllGlyphHolesForGlyphRange ()
#10	0x00007fff910053f6 in _NSFastFillAllLayoutHolesForGlyphRange ()
#11	0x00007fff91036862 in -[NSLayoutManager(NSPrivate) _firstPassGlyphRangeForBoundingRect:inTextContainer:okToFillHoles:] ()
#12	0x00007fff91035a02 in -[NSLayoutManager(NSPrivate) _glyphRangeForBoundingRect:inTextContainer:fast:okToFillHoles:] ()
#13	0x00007fff90feea51 in -[NSTextView setNeedsDisplayInRect:avoidAdditionalLayout:] ()
#14	0x00007fff90f18672 in -[NSView setNeedsDisplay:] ()
#15	0x00007fff90ff715c in -[NSTextView(NSSharing) setSelectable:] ()
#16	0x00007fff90ff0860 in _NSEditTextCellWithOptions ()
#17	0x00007fff90ff011d in -[NSTextFieldCell _selectOrEdit:inView:target:editor:event:start:end:] ()
#18	0x00007fff90feff39 in -[NSSearchFieldCell _selectOrEdit:inView:target:editor:event:start:end:] ()
#19	0x00007fff90fefe90 in -[NSCell selectWithFrame:inView:editor:delegate:start:length:] ()
#20	0x00007fff90fe7d8b in -[NSTextField selectText:] ()
#21	0x00007fff90fe7b56 in -[NSTextField becomeFirstResponder] ()
#22	0x00007fff90fe78e8 in -[NSWindow makeFirstResponder:] ()
#23	0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136
#24	0x00007fff90e4a8e6 in _NSWindowRecursiveFindFirstResponder ()
#25	0x00007fff910e14bc in -[NSWindow removeChildWindow:] ()
#26	0x00007fff916693de in -[NSToolbarFullScreenWindowManager updateWindowVisibility] ()
#27	0x00007fff91667bd2 in -[NSToolbarFullScreenWindowManager animateWindowToCorrectPositionIfNecessary] ()
#28	0x00007fff91669027 in -[NSToolbarFullScreenWindowManager _disableFullScreenForceVisibleForToolbar:] ()
#29	0x00007fff91661f4a in -[NSToolbarFullScreenWindow _setFirstResponder:] ()
#30	0x00007fff90e4fc65 in -[NSWindow(NSWindowSharedFirstResponder) _changeFirstResponderToParentsFirstResponder] ()
#31	0x00007fff90ffd66c in _NSWindowRecursiveChangeAllAttachmentsFirstResponder ()
#32	0x00007fff90fe79f7 in -[NSWindow makeFirstResponder:] ()
#33	0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136
#34	0x00007fff9151a0a2 in -[NSWindow _makeParentWindowHaveFirstResponder:] ()
#35	0x00007fff90fe767a in -[NSWindow makeFirstResponder:] ()
#36	0x00007fff90fe7f23 in -[NSWindow endEditingFor:] ()
#37	0x00007fff90fe7d15 in -[NSTextField selectText:] ()
#38	0x00007fff90fe7b56 in -[NSTextField becomeFirstResponder] ()
#39	0x00007fff90fe78e8 in -[NSWindow makeFirstResponder:] ()
#40	0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136
#41	0x00007fff90e4a8e6 in _NSWindowRecursiveFindFirstResponder ()
#42	0x00007fff910e14bc in -[NSWindow removeChildWindow:] ()
#43	0x00007fff916693de in -[NSToolbarFullScreenWindowManager updateWindowVisibility] ()
#44	0x00007fff91667bd2 in -[NSToolbarFullScreenWindowManager animateWindowToCorrectPositionIfNecessary] ()
#45	0x00007fff9166908d in -[NSToolbarFullScreenWindowManager _enableFullScreenForceVisibleForToolbar:] ()
#46	0x00007fff91661f4a in -[NSToolbarFullScreenWindow _setFirstResponder:] ()
#47	0x00007fff90e4fc65 in -[NSWindow(NSWindowSharedFirstResponder) _changeFirstResponderToParentsFirstResponder] ()
#48	0x00007fff90ffd66c in _NSWindowRecursiveChangeAllAttachmentsFirstResponder ()
#49	0x00007fff90fe79f7 in -[NSWindow makeFirstResponder:] ()
#50	0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136
#51	0x00007fff9151a0a2 in -[NSWindow _makeParentWindowHaveFirstResponder:] ()
#52	0x00007fff90fe767a in -[NSWindow makeFirstResponder:] ()
#53	0x00007fff90ff0d67 in _NSEditTextCellWithOptions ()
#54	0x00007fff90ff011d in -[NSTextFieldCell _selectOrEdit:inView:target:editor:event:start:end:] ()
#55	0x00007fff90feff39 in -[NSSearchFieldCell _selectOrEdit:inView:target:editor:event:start:end:] ()
#56	0x00007fff90fefe90 in -[NSCell selectWithFrame:inView:editor:delegate:start:length:] ()
#57	0x00007fff90fe7d8b in -[NSTextField selectText:] ()
#58	0x00007fff90fe7b56 in -[NSTextField becomeFirstResponder] ()
#59	0x00007fff90fe78e8 in -[NSWindow makeFirstResponder:] ()
#60	0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136
#61	0x00007fff90e4a8e6 in _NSWindowRecursiveFindFirstResponder ()
#62	0x00007fff910e14bc in -[NSWindow removeChildWindow:] ()
#63	0x00007fff916693de in -[NSToolbarFullScreenWindowManager updateWindowVisibility] ()
#64	0x00007fff91667bd2 in -[NSToolbarFullScreenWindowManager animateWindowToCorrectPositionIfNecessary] ()
#65	0x00007fff91669027 in -[NSToolbarFullScreenWindowManager _disableFullScreenForceVisibleForToolbar:] ()
#66	0x00007fff91661f4a in -[NSToolbarFullScreenWindow _setFirstResponder:] ()
#67	0x00007fff90e4fc65 in -[NSWindow(NSWindowSharedFirstResponder) _changeFirstResponderToParentsFirstResponder] ()
--------------------------     frames elided
#12463	0x00007fff90ffd66c in _NSWindowRecursiveChangeAllAttachmentsFirstResponder ()
#12464	0x00007fff90fe79f7 in -[NSWindow makeFirstResponder:] ()
#12465	0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136
#12466	0x00007fff9151a0a2 in -[NSWindow _makeParentWindowHaveFirstResponder:] ()
#12467	0x00007fff90fe767a in -[NSWindow makeFirstResponder:] ()
#12468	0x00007fff90fe7f23 in -[NSWindow endEditingFor:] ()
#12469	0x00007fff90fe7d15 in -[NSTextField selectText:] ()
#12470	0x00007fff90fe7b56 in -[NSTextField becomeFirstResponder] ()
#12471	0x00007fff90fe78e8 in -[NSWindow makeFirstResponder:] ()
#12472	0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136
#12473	0x00007fff90e4a8e6 in _NSWindowRecursiveFindFirstResponder ()
#12474	0x00007fff910e14bc in -[NSWindow removeChildWindow:] ()
#12475	0x00007fff916693de in -[NSToolbarFullScreenWindowManager updateWindowVisibility] ()
#12476	0x00007fff91667bd2 in -[NSToolbarFullScreenWindowManager animateWindowToCorrectPositionIfNecessary] ()
#12477	0x00007fff9166908d in -[NSToolbarFullScreenWindowManager _enableFullScreenForceVisibleForToolbar:] ()
#12478	0x00007fff91661f4a in -[NSToolbarFullScreenWindow _setFirstResponder:] ()
#12479	0x00007fff90e4fc65 in -[NSWindow(NSWindowSharedFirstResponder) _changeFirstResponderToParentsFirstResponder] ()
#12480	0x00007fff90ffd66c in _NSWindowRecursiveChangeAllAttachmentsFirstResponder ()
#12481	0x00007fff90fe79f7 in -[NSWindow makeFirstResponder:] ()
#12482	0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136
#12483	0x00007fff9151a0a2 in -[NSWindow _makeParentWindowHaveFirstResponder:] ()
#12484	0x00007fff90fe767a in -[NSWindow makeFirstResponder:] ()
#12485	0x00007fff90ff0d67 in _NSEditTextCellWithOptions ()
#12486	0x00007fff90ff011d in -[NSTextFieldCell _selectOrEdit:inView:target:editor:event:start:end:] ()
#12487	0x00007fff90feff39 in -[NSSearchFieldCell _selectOrEdit:inView:target:editor:event:start:end:] ()
#12488	0x00007fff90fefe90 in -[NSCell selectWithFrame:inView:editor:delegate:start:length:] ()
#12489	0x00007fff90fe7d8b in -[NSTextField selectText:] ()
#12490	0x00007fff90fe7b56 in -[NSTextField becomeFirstResponder] ()
#12491	0x00007fff90fe78e8 in -[NSWindow makeFirstResponder:] ()
#12492	0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136
#12493	0x00007fff90e4a8e6 in _NSWindowRecursiveFindFirstResponder ()
#12494	0x00007fff910e14bc in -[NSWindow removeChildWindow:] ()
#12495	0x00007fff916693de in -[NSToolbarFullScreenWindowManager updateWindowVisibility] ()
#12496	0x00007fff91667bd2 in -[NSToolbarFullScreenWindowManager animateWindowToCorrectPositionIfNecessary] ()
#12497	0x00007fff91669027 in -[NSToolbarFullScreenWindowManager _disableFullScreenForceVisibleForToolbar:] ()
#12498	0x00007fff91661f4a in -[NSToolbarFullScreenWindow _setFirstResponder:] ()
#12499	0x00007fff90e4fc65 in -[NSWindow(NSWindowSharedFirstResponder) _changeFirstResponderToParentsFirstResponder] ()
#12500	0x00007fff90ffd66c in _NSWindowRecursiveChangeAllAttachmentsFirstResponder ()
#12501	0x00007fff90fe79f7 in -[NSWindow makeFirstResponder:] ()
#12502	0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136
#12503	0x00007fff9151a0a2 in -[NSWindow _makeParentWindowHaveFirstResponder:] ()
#12504	0x00007fff90fe767a in -[NSWindow makeFirstResponder:] ()
#12505	0x00007fff90fe7f23 in -[NSWindow endEditingFor:] ()
#12506	0x00007fff90f2225e in -[NSView removeFromSuperview] ()
#12507	0x00007fff9111e8b6 in -[_NSKeyboardFocusClipView removeFromSuperview] ()
#12508	0x00007fff9111e55b in -[NSCell endEditing:] ()
#12509	0x00007fff9111e364 in -[NSSearchFieldCell endEditing:] ()
#12510	0x00007fff9111ded0 in -[NSTextField textDidEndEditing:] ()
#12511	0x00007fff9732147a in _CFXNotificationPost ()
#12512	0x00007fff99d31846 in -[NSNotificationCenter postNotificationName:object:userInfo:] ()
#12513	0x00007fff9111db7a in -[NSTextView(NSSharing) resignFirstResponder] ()
#12514	0x00007fff90fe77d8 in -[NSWindow makeFirstResponder:] ()
#12515	0x000000010026fe4f in -[LIThickTitleBarWindow makeFirstResponder:] at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/LIThickTitleBarWindow.m:136
#12516	0x00007fff90e4a8e6 in _NSWindowRecursiveFindFirstResponder ()
#12517	0x00007fff910e14bc in -[NSWindow removeChildWindow:] ()
#12518	0x00007fff916693de in -[NSToolbarFullScreenWindowManager updateWindowVisibility] ()
#12519	0x00007fff91667f43 in -[NSToolbarFullScreenWindowManager windowDidChangeFullScreenStatus:] ()
#12520	0x00007fff9732147a in _CFXNotificationPost ()
#12521	0x00007fff99d31846 in -[NSNotificationCenter postNotificationName:object:userInfo:] ()
#12522	0x00007fff916732bb in -[_NSWindowFullScreenTransition exitFullScreenTransitionForWindow:animated:] ()
#12523	0x00007fff9151e5d6 in -[NSWindow _resignFullScreenWindowAndExitFullScreen:] ()
#12524	0x00007fff9103ba59 in -[NSApplication sendAction:to:from:] ()
#12525	0x00007fff9117144c in -[NSMenuItem _corePerformAction] ()
#12526	0x00007fff9117113a in -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] ()
#12527	0x00007fff9116fdc0 in -[NSMenu performKeyEquivalent:] ()
#12528	0x00007fff9116f283 in -[NSApplication _handleKeyEquivalent:] ()
#12529	0x00007fff9102c243 in -[NSApplication sendEvent:] ()
#12530	0x00007fff90f422fa in -[NSApplication run] ()
#12531	0x00007fff90ee6cb6 in NSApplicationMain ()
#12532	0x00000001000026b3 in main at /Users/jonathon/Documents/Streams/Delicious Monster/UberLibrary/Library/main.m:59
#12533	0x00007fff987617e1 in start ()


12-Feb-2013 04:15 PM Jonathon Mah:
Oh, I should add that the -[LIThickTitleBarWindow makeFirstResponder:] method simply calls super, and the hang still occurs if that override is removed entirely.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!