Re: Crash in [NSApplication sendAction:to:from:]
Re: Crash in [NSApplication sendAction:to:from:]
- Subject: Re: Crash in [NSApplication sendAction:to:from:]
- From: Uli Kusterer <email@hidden>
- Date: Sat, 22 Jul 2006 19:54:39 +0200
Am 22.07.2006 um 01:44 schrieb Trygve Inda:
0 libobjc.A.dylib 0x90a4e387 objc_msgSend + 23
1 com.apple.AppKit 0x934881ac -[NSApplication
sendAction:to:from:] + 107
2 com.apple.AppKit 0x93535eff -[NSMenu
performActionForItemAtIndex:] + 455
3 com.apple.AppKit 0x93535c41 -[NSCarbonMenuImpl
performActionWithHighlightingForItemAtIndex:] + 103
4 com.apple.AppKit 0x93535898 -[NSMenu performKeyEquivalent:] + 766
5 com.apple.AppKit 0x93535339 -[NSApplication
_handleKeyEquivalent:] + 381
6 com.apple.AppKit 0x93469267 -[NSApplication sendEvent:] + 3542
7 com.apple.AppKit 0x93394426 -[NSApplication run] + 547
What kind of a signal do you get on this crash? Without that, it's
kinda hard to guess what your problem could be.
My guess would be you're geting an access exception or bus error,
and usually when you get that on a call to objc_msgSend() (standard
bottleneck through which methods are called in ObjC), this means you
are talking to an object that's already been released, or an object
whose memory you otherwise managed to clobber (e.g. by changing
another object that had already been released but used to be in the
same spot as your new object, or rather overlapped that spot).
So, make sure you're only releasing stuff you're allowed to
release, and that you're retaining all the stuff you want to keep
around, and make sure you're not accessing objects from several
threads that aren't thread safe, that you aren't accessing GUI
objects from anything but the main thread, and that you're doing the
appropriate locking of objects you wrote that can be used from
several threads.
Note that all of these errors will very likely not be directly in
the button (in particular, the action method you posted probably has
nothing to do with it). Look in other places that contain code that
runs *before* you click the button.
Also, don't be confused because it only happens in 20% of cases.
Memory bugs are like that: Frequently you just get "lucky" and the
memory you clobber isn't in use by anyone right now, and thus
everything works.
Cheers,
-- M. Uli Kusterer
http://www.zathras.de
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden