• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Core Data Trouble - Exception in configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Core Data Trouble - Exception in configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:


  • Subject: Core Data Trouble - Exception in configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:
  • From: Motti Shneor <email@hidden>
  • Date: Thu, 22 May 2014 23:36:30 +0300

Hi.

In my NSPersistentDocument based application (SDK 10.9, Deployment 10.8 XCode 5.1.1) The main document window is loaded from a .xib file. Recently I started to experience the following ill behavior.

If I open an old existing document, all is well. I can manipulate, add entities, remove, and otherwise manipulate my document. I can save (and autosave) without problem.

But... If I try to create a new empty document, I experience a bad exception immediately after trying to save the first time, or if AutoSave's are allowed -- the exception is raised without me touching the keyboard, a second or two after launching the application and seeing the document window.

Setting up a symbolic breakpoint to catch exceptions, I discovered the exception happens in the following  NSPersistentDocument method:

- (BOOL)configurePersistentStoreCoordinatorForURL:(NSURL *)url ofType:(NSString *)fileType modelConfiguration:(NSString *)configuration storeOptions:(NSDictionary *)storeOptions error:(NSError **)error NS_AVAILABLE_MAC(10_5);


The exception:

2014-05-22 23:06:16.729 PlanktoMetrix-II[88475:303] Cannot perform operation since entity with name '(null)' cannot be found
2014-05-22 23:06:16.735 PlanktoMetrix-II[88475:303] (
	0   CoreFoundation                      0x00007fff8923db06 __exceptionPreprocess + 198
	1   libobjc.A.dylib                     0x00007fff8eee73f0 objc_exception_throw + 43
	2   CoreFoundation                      0x00007fff8923d8dc +[NSException raise:format:] + 204
	3   AppKit                              0x00007fff8dff3587 -[_NSManagedProxy _entity] + 144
	4   AppKit                              0x00007fff8dff343a -[_NSManagedProxy fetchRequestWithSortDescriptors:limit:] + 95
	5   AppKit                              0x00007fff8e4c8d2c -[_NSManagedProxy _storesDidChange:] + 125
	6   CoreFoundation                      0x00007fff891efeda _CFXNotificationPost + 2554
	7   Foundation                          0x00007fff8ebbf796 -[NSNotificationCenter postNotificationName:object:userInfo:] + 64
	8   CoreData                            0x00007fff8dbaaced -[NSPersistentStoreCoordinator(_NSInternalMethods) _postStoresChangedNotificationsForStores:changeKey:options:] + 253
	9   CoreData                            0x00007fff8db9c516 -[NSPersistentStoreCoordinator addPersistentStoreWithType:configuration:URL:options:error:] + 4006
	10  AppKit                              0x00007fff8e4e9cf8 -[NSPersistentDocument configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:] + 1567
	11  PlanktoMetrix-II                    0x000000010003bf74 -[PMXDocument configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:] + 324
	12  AppKit                              0x00007fff8e76bf6f -[NSPersistentDocument(NSDeprecatedInternal) _configurePersistentStoreCoordinatorForURL:ofType:error:] + 159
	13  AppKit                              0x00007fff8e4ea35c -[NSPersistentDocument writeToURL:ofType:forSaveOperation:originalContentsURL:error:] + 362
	14  AppKit                              0x00007fff8df602ca -[NSDocument _writeSafelyToURL:ofType:forSaveOperation:forceTemporaryDirectory:error:] + 618
	15  AppKit                              0x00007fff8df60054 -[NSDocument _writeSafelyToURL:ofType:forSaveOperation:error:] + 28
	16  AppKit                              0x00007fff8df5fbd9 -[NSDocument writeSafelyToURL:ofType:forSaveOperation:error:] + 348
	17  AppKit                              0x00007fff8e4ebcb1 -[NSPersistentDocument writeSafelyToURL:ofType:forSaveOperation:error:] + 957
	18  AppKit                              0x00007fff8df5f377 __block_global_90 + 76
	19  AppKit                              0x00007fff8df6caef __block_global_97 + 242
	20  AppKit                              0x00007fff8df6c9ee __block_global_96 + 339
	21  AppKit                              0x00007fff8e3a8da0 __block_global_89 + 1533
	22  Foundation                          0x00007fff8eba4bce -[NSFileCoordinator(NSPrivate) _invokeAccessor:orDont:thenRelinquishAccessClaimForID:] + 229
	23  Foundation                          0x00007fff8eb8791a -[NSFileCoordinator(NSPrivate) _coordinateWritingItemAtURL:options:error:byAccessor:] + 705
	24  AppKit                              0x00007fff8df5ef83 -[NSDocument _fileCoordinator:coordinateReadingContentsAndWritingItemAtURL:byAccessor:] + 362
	25  AppKit                              0x00007fff8df5ed07 __66-[NSDocument saveToURL:ofType:forSaveOperation:completionHandler:]_block_invoke_0 + 920
	26  AppKit                              0x00007fff8df598a9 -[NSDocument continueFileAccessUsingBlock:] + 222
	27  AppKit                              0x00007fff8df59472 -[NSDocument _performFileAccessOnMainThread:usingBlock:] + 589
	28  AppKit                              0x00007fff8df5e117 -[NSDocument performAsynchronousFileAccessUsingBlock:] + 484
	29  AppKit                              0x00007fff8df5e960 -[NSDocument saveToURL:ofType:forSaveOperation:completionHandler:] + 151
	30  AppKit                              0x00007fff8e3a53b4 __block_global_66 + 175
	31  AppKit                              0x00007fff8df6e5ca -[NSDocument _commitEditingThenContinue:] + 335
	32  AppKit                              0x00007fff8e4e8cea __62-[NSPersistentDocument _documentEditor:didCommit:withContext:]_block_invoke_0 + 53
	33  CoreFoundation                      0x00007fff891facd2 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 18
	34  CoreFoundation                      0x00007fff891bb47f __CFRunLoopDoBlocks + 255
	35  CoreFoundation                      0x00007fff891dfc7c __CFRunLoopRun + 1948
	36  CoreFoundation                      0x00007fff891df0e2 CFRunLoopRunSpecific + 290
	37  HIToolbox                           0x00007fff8d0a7eb4 RunCurrentEventLoopInMode + 209
	38  HIToolbox                           0x00007fff8d0a7b94 ReceiveNextEventCommon + 166
	39  HIToolbox                           0x00007fff8d0a7ae3 BlockUntilNextEventMatchingListInMode + 62
	40  AppKit                              0x00007fff8e089533 _DPSNextEvent + 685
	41  AppKit                              0x00007fff8e088df2 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 128
	42  AppKit                              0x00007fff8e0801a3 -[NSApplication run] + 517
	43  AppKit                              0x00007fff8e024bd6 NSApplicationMain + 869
	44  PlanktoMetrix-II                    0x0000000100008172 main + 34
	45  libdyld.dylib                       0x00007fff916c97e1 start + 0
	46  ???                                 0x0000000000000003 0x0 + 3
)


After trying everything I could -- I went to Rabbi-Google, and found the following CoreData TroubleShooting item from Apple:

--------------
Cannot save documents because entity is null
Problem: You have Core Data document-based application that is unable to save. When you try to save the document you get an exception:
"Exception raised during posting of notification.  Ignored.  exception: Cannot perform operation since entity with name 'Wxyz' cannot be found"
Cause: This error is emitted by an instance of NSObjectController (or one of its subclasses) that is set in Entity mode but can’t access the entity description in the managed object model associated with the entity name specified in Interface Builder. In short, you have a controller in entity mode with an invalid entity name.
Remedy: Select in turn each of your controllers in Interface Builder, and press Command-1 to show the inspector. For each controller, ensure you have a valid entity name in the "Entity Name" field at the top.
--------------

So I went forward to verify there is no empty entity name in each and every ObjectController (they all are NSArrayControllers) in all my .xib files, and all those configured for "Entity" mode DO have their correct and right entities. Otherwise --- I wouldn't be able to manipulate and save old existing documents.

I'm really foxed here --- how can the same stuff work with old doc, but fail trying to create a new one? There are no validation errors, because I have NO ENTITIES in the model. I verified that my context is clean in debug (both insertedObjects, updatedObjects and deletedObjects of the arrayController are OK too.

any hint or advise will be deeply appreciated.


Motti Shneor
e-mail: email@hidden



_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:

This email sent to email@hidden


  • Prev by Date: Re: Document architecture: locking document files while open
  • Next by Date: Window gets moved to the wrong location when changing screen resolution
  • Previous by thread: Re: Document architecture: locking document files while open
  • Next by thread: Window gets moved to the wrong location when changing screen resolution
  • Index(es):
    • Date
    • Thread