Skip navigation.
 
mlRe: Crash in [NSApplication sendAction:to:from:]
FROM : Uli Kusterer
DATE : Sat Jul 22 19:54:39 2006

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

Related mailsAuthorDate
mlCrash in [NSApplication sendAction:to:from:] Trygve Inda Jul 22, 01:44
mlRe: Crash in [NSApplication sendAction:to:from:] Trygve Inda Jul 22, 01:48
mlRe: Crash in [NSApplication sendAction:to:from:] Uli Kusterer Jul 22, 19:54
mlRe: Crash in [NSApplication sendAction:to:from:] Michael Babin Jul 22, 20:37