I've been receiving reports of this rare but persistent crash over the past few years, and I've never been able to reproduce it or figure out what's causing it.
They often look exactly like the stack trace below, but sometimes it's different, happening at a different time. The thing they all have in common is it's a crash when notifying observers in a binding when loading a nib. Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000008000028 Crashed Thread: 0 Dispatch queue: com.apple.main-thread Application Specific Information: objc_msgSend() selector name: respondsToSelector: objc_msgSend_vtable5 + 16 NSKeyValueNotifyObserver + 76 -[NSObject(NSKeyValueObservingPrivate) _notifyObserversForKeyPath:change:] + 991 -[NSController _notifyObserversForKeyPath:change:] + 218 -[NSObjectController setContent:] + 369 -[AQConnTabController awakeFromNib] + 976 -[NSIBObjectData nibInstantiateWithOwner:topLevelObjects:] + 1515 -[NSNib instantiateNibWithExternalNameTable:] + 564 -[NSNib instantiateNibWithOwner:topLevelObjects:] + 233 -[NSViewController loadView] + 180 -[NSViewController view] + 38 -[AQConnTabController initWithNibName:bundle:windowController:] + 801 -[AQConnWindowController newTab:] + 56 -[NSWindowController _windowDidLoad] + 538 -[NSWindowController window] + 112 -[NSWindowController showWindow:] + 47 -[AQController newConnectionWindow:] + 72 -[AQController applicationOpenUntitledFile:] + 18 -[NSApplication _doOpenUntitled] + 211 -[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:] + 101 -[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] + 360 _NSAppleEventManagerGenericHandler + 114 aeDispatchAppleEvent(AEDesc const*, AEDesc*, unsigned int, unsigned char*) + 162 dispatchEventAndSendReply(AEDesc const*, AEDesc*) + 32 aeProcessAppleEvent + 210 AEProcessAppleEvent + 48 _DPSNextEvent + 1191 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 155 -[NSApplication run] + 395 NSApplicationMain + 364 start + 52 In this case [AQConnTabController awakeFromNib] calls setContent: on a object controller that AQConnTabController creates. The weird thing about that leading to a crash is that the object controller isn't hooked up to _anything_ yet. I'm certain it has nothing to do with that specific object controller. Other crashes have a similar trace at the top: objc_msgSend_vtable5 + 24 NSKeyValueNotifyObserver + 61 -[NSObject(NSKeyValueObservingPrivate) _notifyObserversForKeyPath:change:] + 756 -[NSController _notifyObserversForKeyPath:change:] + 206 -[NSObjectController setContent:] + 395 -[NSObjectDetailBinder refreshDetailContent] + 230 -[NSObject(NSKeyValueBindingCreation) bind:toObject:withKeyPath:options:] + 591 -[NSIBObjectData nibInstantiateWithOwner:topLevelObjects:] + 1079 -[NSNib instantiateNibWithExternalNameTable:] + 606 -[NSNib instantiateNibWithOwner:topLevelObjects:] + 251 -[NSViewController loadView] + 186 The thing they all have in common is that a nib is being loaded, which does some stuff with bindings, and then there's a crash. The bindings aren't even related in terms of what's connected to what. What I believe is going on, is that somehow a deallocated object is still an observer somewhere, and at any point when the KVO system needs to notify somebody of any KVO message, it crashes when it tries to send a message to that deallocated object. The trouble is, I have _no_ clue how to find this. I've tried for endless hours over the years scouring my code for any whiff of something being done wrong and I've never found it. I swear the code everywhere I've looked is fine, the analyzer doesn't point out any mistakes, Valgrind is fine, I'm confident I don't have any memory smashers etc.... What can I do to figure this out? Anybody have any tricky ideas? I'm hoping somebody has seen this stack trace before and knows what kind of subtle bug causes it. :\ Thanks, -- Seth Willits _______________________________________________ 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com