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
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 mails | Author | Date |
|---|---|---|
| Trygve Inda | Jul 22, 01:44 | |
| Trygve Inda | Jul 22, 01:48 | |
| Uli Kusterer | Jul 22, 19:54 | |
| Michael Babin | Jul 22, 20:37 |






Cocoa mail archive

