> On 20 May 2015, at 12:15 pm, Graham Cox <graham....@bigpond.com> wrote: > >> 'd start by looking at frame #4. > > >> The only code of mine involved is at line 4 which is where I overrode >> targetForAction:to:from to see what was being called from where, and then >> calls super. >
Just to be clear: it crashes when there is no involvement of my code at all - this is the stack trace without the override, but with zombies enabled: Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BREAKPOINT (SIGTRAP) Exception Codes: 0x0000000000000002, 0x0000000000000000 Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 com.apple.CoreFoundation 0x00007fff91e9fd20 ___forwarding___ + 768 1 com.apple.CoreFoundation 0x00007fff91e9f998 _CF_forwarding_prep_0 + 120 2 com.apple.AppKit 0x00007fff8cdf23c7 -[NSWindow supplementalTargetForAction:sender:] + 240 3 com.apple.AppKit 0x00007fff8cdf1f74 _objectFromResponderChainWhichRespondsToAction + 227 4 com.apple.AppKit 0x00007fff8cdf1ac0 _NSTargetForSendAction + 2861 5 com.apple.AppKit 0x00007fff8cdf0e3e -[NSApplication targetForAction:to:from:] + 329 6 com.apple.AppKit 0x00007fff8d07b102 -[NSFontPanel _canShowEffects] + 44 7 com.apple.AppKit 0x00007fff8d07b0bb -[NSFontPanel _showEffects] + 31 8 com.apple.AppKit 0x00007fff8d07a675 -[NSFontPanel windowDidUpdate:] + 537 9 com.apple.CoreFoundation 0x00007fff91f1345c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12 10 com.apple.CoreFoundation 0x00007fff91e03634 _CFXNotificationPost + 3140 11 com.apple.Foundation 0x00007fff975a59d1 -[NSNotificationCenter postNotificationName:object:userInfo:] + 66 12 com.apple.CoreFoundation 0x00007fff91e88d80 -[NSArray makeObjectsPerformSelector:] + 496 13 com.apple.AppKit 0x00007fff8ccac5ea -[NSApplication(NSWindowCache) _updateWindowsUsingCache] + 495 14 com.apple.AppKit 0x00007fff8ccac399 -[NSApplication updateWindows] + 70 15 com.apple.AppKit 0x00007fff8d0a181f __38-[NSApplication setWindowsNeedUpdate:]_block_invoke2510 + 76 16 com.apple.CoreFoundation 0x00007fff91e73127 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 17 com.apple.CoreFoundation 0x00007fff91e73080 __CFRunLoopDoObservers + 368 18 com.apple.CoreFoundation 0x00007fff91e65188 __CFRunLoopRun + 872 19 com.apple.CoreFoundation 0x00007fff91e64bd8 CFRunLoopRunSpecific + 296 20 com.apple.HIToolbox 0x00007fff9729656f RunCurrentEventLoopInMode + 235 21 com.apple.HIToolbox 0x00007fff972961ee ReceiveNextEventCommon + 179 22 com.apple.HIToolbox 0x00007fff9729612b _BlockUntilNextEventMatchingListInModeWithFilter + 71 23 com.apple.AppKit 0x00007fff8ccaa9bb _DPSNextEvent + 978 24 com.apple.AppKit 0x00007fff8cca9f68 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 346 25 com.apple.AppKit 0x00007fff8cc9fbf3 -[NSApplication run] + 594 26 com.apple.AppKit 0x00007fff8cc1c354 NSApplicationMain + 1832 At line 2, it’s clearly trying to access a NSWindow zombie. I’m pretty sure this is the window I just closed that closed the document. It’s hard to be 100% certain because the same result does not arise in the debugger - I have to export a complete app to see the problem, so I can’t examine the window’s address directly. However, this is the only window that has ever closed in the entire run. So, NSApplication has a stale reference to a closed window which it accesses in _objectFromResponderChainWhichRespondsToAction. How is that possible? —Graham _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com