continuing saga of weird EOF exceptions
continuing saga of weird EOF exceptions
- Subject: continuing saga of weird EOF exceptions
- From: Jonathan Rochkind <email@hidden>
- Date: Mon, 11 Aug 2003 12:25:45 -0500
Okay, in a continuing attempt to track down and eliminate some weird EOF
exceptions I'm getting (which generally cause parts of the EOF stack to be
in a mysterious 'bad state' which keeps raising exceptions), I keep
changing aspects of my complex app.
At the moment, I do not use any nested ECs anymore, I don't think. I
suspected them as a culprit. I do use many 'peer' ECs, but I believe I am
now succesfully locking them all before use----although oddly, I don't seem
to be able to turn on the 'warnings' for using EOF objects without locks in
my deployed instances. I don't seem to able to adjust the NSLog levels for
some reason.
Anyway, making these changes seems to have reduced mysterious exceptions,
and changed the nature of the ones that do occur, but not entirely
eliminated them.
Here's one I'm trying to figure out now. This exception does not seem to be
preceded by any other EOF exceptions. It seems to be the first for the
given instance. It _is_ followed by all sorts of other weird exceptions,
but perhaps the subsequent exceptions are somehow side-effects of this one.
If anyone has anything to say about this one, it would be helpful:
You'll note that it happens when I call saveChanges() on a peer EC. The
changes committed include deleting some objects, and removing them from a
relationship. The saveChanges() call itself seems to call
removeFrom[NameOfRelationship] on my custom EO; I'm not sure why. The
removeFrom[RelationshipName] method on my custom EO is defined the 'old'
way, using storedValueForKey to get an NSMutableArray, and removing the
object from that array. [I have lots and lots of code, and it would be
dificult to change it all to use the 'new' way. Although I can if it matters.]
java.lang.IllegalStateException
Message: Cannot obtain globalId for an object which is registered in an
other than the databaseContext's active editingContext, object: {values =
{linkedAsset = "null"; imagePublications =
"<com.webobjects.eocontrol._EOCheapCopyMutableArray 39f16f
(<EOAccessArrayFaultHandler imagePublications
_EOIntegralKeyGlobalID[CBImageDisplay (java.lang.Integer)6240]>)>";
newThumbnailAsset = "null"; caption =
<com.webobjects.foundation.NSKeyValueCoding$Null>; height =
<com.webobjects.foundation.NSKeyValueCoding$Null>; width =
<com.webobjects.foundation.NSKeyValueCoding$Null>; asset = "null";
creationinfo = <com.webobjects.foundation.NSKeyValueCoding$Null>;
newPrimaryAsset = "<MFSAsset 10d536 _EOIntegralKeyGlobalID[MFSAsset
(java.lang.Integer)1498]>"; thumbnailMode = 0; vspace =
<com.webobjects.foundation.NSKeyValueCoding$Null>; creationdate =
2003-08-11 15:38:43 Etc/GMT; linkedfile =
<com.webobjects.foundation.NSKeyValueCoding$Null>; filetype =
<com.webobjects.foundation.NSKeyValueCoding$Null>; boolFeedbackAlert = 0;
title = <com.webobjects.foundation.NSKeyValueCoding$Null>; foldername =
<com.webobjects.foundation.NSKeyValueCoding$Null>; stickyNotes =
"<com.webobjects.eocontrol._EOCheapCopyMutableArray 19d688
(<EOAccessArrayFaultHandler stickyNotes
_EOIntegralKeyGlobalID[CBImageDisplay (java.lang.Integer)6240]>)>"; hspace
= <com.webobjects.foundation.NSKeyValueCoding$Null>; }; this =
"<CBImageDisplay 585e85 _EOIntegralKeyGlobalID[CBImageDisplay
(java.lang.Integer)6240]>"; }, databaseContext:
com.webobjects.eoaccess.EODatabaseContext@5fe303, object's editingContext:
com.webobjects.eocontrol.EOEditingContext@75a744, databaseContext's active
editingContext: com.webobjects.eocontrol.EOEditingContext@2ee7e5
Stack Trace:
EODatabaseContext.java 4820 _globalIDForObject
EODatabaseContext.java 4937 databaseOperationForObject
EODatabaseContext.java 6673 valuesForKeys
EOObjectStoreCoordinator.java 337 valuesForKeys
EOQualifierSQLGeneration.java 418 schemaBasedQualifierWithRootEntity
EOQualifierSQLGeneration.java 165 _schemaBasedQualifierWithRootEntity
EODatabaseChannel.java 210 selectObjectsWithFetchSpecification
EODatabaseContext.java 3179 _objectsWithFetchSpecificationEditingContext
EODatabaseContext.java 3320 objectsWithFetchSpecification
EOObjectStoreCoordinator.java 535 objectsWithFetchSpecification
EOEditingContext.java 4016 objectsWithFetchSpecification
EODatabaseContext.java 4234 objectsForSourceGlobalID
EOObjectStoreCoordinator.java 678 objectsForSourceGlobalID
EOEditingContext.java 3867 objectsForSourceGlobalID
EODatabaseContext.java 4400 _fireArrayFault
EOAccessArrayFaultHandler.java 66 completeInitializationOfObject
_EOCheapCopyMutableArray.java 37 willRead
_EOCheapCopyMutableArray.java 91 count
NSMutableArray.java 500 removeObject
CBImageDisplay.java 283 removeFromImagePublications
Method.java NA invoke
NSSelector.java 120 _safeInvokeMethod
EOCustomObject.java 1011 removeObjectFromPropertyWithKey
EOClassDescription.java 478 propagateDeleteForObject
EOCustomObject.java 688 propagateDeleteWithEditingContext
EOEditingContext.java 2137 propagateDeletesUsingTable
EOEditingContext.java 2099 _processDeletedObjects
EOEditingContext.java 1653 _processRecentChanges
EOEditingContext.java 1859 processRecentChanges
EOEditingContext.java 3438 _processObjectStoreChanges
Method.java NA invoke
NSSelector.java 354 invoke
NSSelector.java 108 _safeInvokeSelector
EOEditingContext.java 4660 _sendOrEnqueueNotification
EOEditingContext.java 3500 _objectsChangedInStore
Method.java NA invoke
NSSelector.java 120 _safeInvokeMethod
NSNotificationCenter.java 598 invokeMethod
NSNotificationCenter.java 542 postNotification
NSNotificationCenter.java 572 postNotification
EOObjectStoreCoordinator.java 740 _objectsChangedInSubStore
Method.java NA invoke
NSSelector.java 120 _safeInvokeMethod
NSNotificationCenter.java 598 invokeMethod
NSNotificationCenter.java 542 postNotification
NSNotificationCenter.java 572 postNotification
EODatabaseContext.java 3795 _snapshotsChangedInDatabase
Method.java NA invoke
NSSelector.java 120 _safeInvokeMethod
NSNotificationCenter.java 598 invokeMethod
NSNotificationCenter.java 542 postNotification
NSNotificationCenter.java 572 postNotification
EODatabaseContext.java 6561 commitChanges
EOObjectStoreCoordinator.java 421 saveChangesInEditingContext
EOEditingContext.java 3128 saveChanges
_______________________________________________
webobjects-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/webobjects-dev
Do not post admin requests to the list. They will be ignored.