Re: NSFontPanel swamping the responder chain (and crashing)
Re: NSFontPanel swamping the responder chain (and crashing)
- Subject: Re: NSFontPanel swamping the responder chain (and crashing)
- From: Graham Cox <email@hidden>
- Date: Thu, 21 May 2015 12:42:05 +1000
> On 20 May 2015, at 2:54 pm, Ken Thomases <email@hidden> wrote:
>
>> At line 2, it’s clearly trying to access a NSWindow zombie.
>
> I'm not sure that's true. I think if the window were the zombie, the crash would not show a frame in an NSWindow method, it would occur at the point where that method was called. I suspect the problem is that the window is trying to check with its delegate/controller to see if it might respond to the action and the delegate/controller is the zombie. If I'm right, the problem could probably be solved by clearing the window's delegate property in the -dealloc of the delegate/controller object.
>
> There should be a log message written which will clarify. It might or might not get included in the crash report, but it should be in the console log. What does that say?
You were quite right: I jumped to the wrong conclusion. The object in question is in fact the app’s main NSDocument subclass.
> Does the problem also not happen if you run the app under Instruments with the Zombies template? If it does happen, that will help identify the history of the zombie.
I was able to record the problem running the app this way. That’s the good news. The bad news is that I’m not really any the wiser. NSDocument is a complex object that has become somewhat intractable of late. While I see the same stack trace in Instruments that I get anyway, it’s not obvious that that’s the problem - it could be any previous release that’s incorrect. It’s a bit weird that I can’t reproduce it running under Xcode though - if it’s a straightforward overrelease, this should always reveal itself shouldn’t it? It always has in the past.
I wonder if I could prevail upon a developer with more experience of using Instruments to have a look at the trace file and see if anything pops out at them? I’m not expecting anyone to debug this for me - it’s clearly unfeasible. Even downloading the trace file is a big ask, because it’s almost 90MB compressed. However if anyone could point me in the right direction (if at all possible), or even just offer some general advice how to proceed I would be extremely grateful.
http://apptree.net/document_zombie.trace.zip
—Graham
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden