> On 29.10.2009, at 20:05, Ben Trumbull wrote:
> 
>>> I get a "Could not merge changes"-error on save in a single moc app
>>> (*). The docs state this is a problem of a multi-moc setup:
>>> 
>>> http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CoreData/Articles/cdTroubleshooting.html
>>> 
>> 
>> Yes, the MOC you are saving refers to data that has changed out from  
>> underneath it in either the PSC or the database file itself.  This  
>> is an optimistic concurrency control failure.
>> 
>>> The error does not appear on every system and seems to be related to
>>> when save is called. (race condition?) So far I only have users
>>> complaining that run Mac OS 10.6. I can rarely reproduce the error
>>> myself.
>>> 
>>> Any pointers where to look?
>> 
>> Well, you can break on -[NSManagedObjectContext init], and -save: to  
>> see if you really only have 1 MOC.  Other than that, breaking on + 
>> [NSError errorWithDomain:code:userInfo:] and doing "thread apply all  
>> bt" in gdb is usually helpful.
>> 
>>> 
>>> I use garbage collection.
>>> 
>>> regards
>>>     Ruotger
>>> 
>>> (*) the context is handed out by a singleton method. I NSAssert()  
>>> this
>>> method is only called by the main thread.
>> 
>> Well, it's still possible for code to leak it to another thread if,  
>> you say, pass NSManagedObjects around, and then ask them for their  
>> MOC.
>> 
>> - Ben
> 
> Hi,
> 
> I've checked all accesses to the moc and by using mogenerator I  
> generated files that assert that every single access of a managed  
> object is on the main thread. I still get the "Could not merge data"- 
> error or sometimes this one:

Which is neither here nor there.  This is a version conflict error not a 
multi-threading error (though MT errors can lead to versioning errors)

> Printing description of error:
> Error Domain=NSCocoaErrorDomain Code=1550 UserInfo=0x5d45490 "balances  
> is not valid."
> 
> balances is a one-way to multiple relation.
> 
> Any more ideas?


Same as last time, break on the error, get it's userInfo, and a stack trace of 
all the threads in the app.

- Ben



_______________________________________________

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

Reply via email to