On 2011 Sep 30, at 09:42, Jim Correia wrote: > But you have a pretty reliable way to reproduce the bug, right?
Thank you, Jim. Yes, it takes several minutes but is scripted. > Have you broken at the point of objc_exception_throw for the > NSObjectInaccessibleException and examined what, specifically, is firing the > fault? Yes. I was wrong about attributes not being in the invocation – see below. #0 0x962250c0 in objc_exception_throw #1 0x94c6a891 in _PFFaultHandlerLookupRow #2 0x94c9b5df in -[NSFaultHandler fulfillFault:withContext:] #3 0x94c796b3 in -[NSManagedObject(_NSInternalMethods) _newPropertiesForRetainedTypes:andCopiedTypes:preserveFaults:] #4 0x94c7965f in -[NSManagedObject(_NSInternalMethods) _newAllPropertiesWithRelationshipFaultsIntact__] #5 0x94c7954e in -[NSManagedObjectContext(_NSInternalChangeProcessing) _establishEventSnapshotsForObject:] #6 0x94c79465 in _PFFastMOCObjectWillChange #7 0x94cd7019 in -[NSManagedObjectContext(_NSInternalChangeProcessing) _undoUpdates:] #8 0x9021effd in __invoking___ #9 0x9021ef39 in -[NSInvocation invoke] #10 0x9021f08a in -[NSInvocation invokeWithTarget:] #11 0x001be1b9 in -[GCConcreteUndoTask perform] at GCUndoManager.m:1496 Thanks to Graham Cox, I have code for [GCConcreteUndoTask perform]. I also have a category on NSInvocation which gives me a -longDescription of its properties: target = The document's (and Undo Manager's) managed object context selector = _undoUpdates: The argument of _undoUpdates: is an array containing 4 objects object at index 0: the deleted object, with a retainCount of 9, whose data is <fault> object at index 1: an instance of NSKnownKeysDictionary1, whose keys and values are the keys and values of the deleted object before it was faulted. Its retainCount is 9. object at index 2: an instance of NSNull object at index 3: an instance of NSNumber whose value is 1 > Start here and work backwards and you may be able to infer why someone has a > reference to a stale object. I've never seen a precise definition of the word "stale" in Core Data. The object in question has a retainCount of 9, and it is faulted. Does that mean it's "stale"? > At the very least you’ll know who. It seems that NSManagedObjectContext seems to have all the information it needs to un-fault the object, but won't do it for some reason. _______________________________________________ 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