Hello,
I seem to be starting a number of posts in this way, but… I’m seeing very
occasional stack traces from the wild that look like this:
Oct 17 23:10:57 Relief[2002] ERROR
er.extensions.eof.ERXObjectStoreCoordinatorSynchronizer -
java.lang.NullPointerException
NullPointerException
at
com.webobjects.eocontrol.EOCustomObject.willReadRelationship(EOCustomObject.java:1270)
at
er.extensions.eof.ERXGenericRecord.willReadRelationship(ERXGenericRecord.java:385)
at
com.webobjects.eocontrol._EOMutableKnownKeyDictionary$Initializer$_LazyGenericRecordBinding.valueInObject(_EOMutableKnownKeyDictionary.java:614)
at
er.extensions.eof.ERXGenericRecord$TouchingBinding.valueInObject(ERXGenericRecord.java:214)
at
com.webobjects.eocontrol.EOCustomObject.storedValueForKey(EOCustomObject.java:1634)
at net.logicsquad.relief.model._Job.classTeacher(_Job.java:192)
... skipped 6 stack elements
at
er.extensions.eof.ERXGenericRecord$InverseRelationshipUpdater.includeObjectIntoPropertyWithKey(ERXGenericRecord.java:1367)
at
er.extensions.eof.ERXGenericRecord.includeObjectIntoPropertyWithKey(ERXGenericRecord.java:1225)
at net.logicsquad.relief.model._ClassTeacher.addToJobs(_ClassTeacher.java:212)
... skipped 5 stack elements
at
com.webobjects.eocontrol.EOCustomObject.addObjectToPropertyWithKey(EOCustomObject.java:940)
at
com.webobjects.eocontrol.EOEditingContext._mergeValueForKey(EOEditingContext.java:660)
at
com.webobjects.eocontrol.EOEditingContext._mergeObjectWithChanges(EOEditingContext.java:3457)
at
com.webobjects.eocontrol.EOEditingContext._processObjectStoreChanges(EOEditingContext.java:3546)
at er.extensions.eof.ERXEC._processObjectStoreChanges(ERXEC.java:1549)
... skipped 5 stack elements
at
com.webobjects.eocontrol.EOEditingContext._sendOrEnqueueNotification(EOEditingContext.java:4715)
at
com.webobjects.eocontrol.EOEditingContext._objectsChangedInStore(EOEditingContext.java:3562)
at er.extensions.eof.ERXEC._objectsChangedInStore(ERXEC.java:1489)
... skipped 7 stack elements
at
com.webobjects.eocontrol.EOObjectStoreCoordinator._objectsChangedInSubStore(EOObjectStoreCoordinator.java:693)
... skipped 7 stack elements
at
er.extensions.eof.ERXObjectStoreCoordinatorSynchronizer$ProcessChangesQueue$ToManyUpdateCacheChangeProcessor.processCacheChange(ERXObjectStoreCoordinatorSynchronizer.java:466)
at
er.extensions.eof.ERXObjectStoreCoordinatorSynchronizer$ProcessChangesQueue.processRemoteChange(ERXObjectStoreCoordinatorSynchronizer.java:566)
at
er.extensions.eof.ERXObjectStoreCoordinatorSynchronizer$ProcessChangesQueue.run(ERXObjectStoreCoordinatorSynchronizer.java:622)
... skipped 1 stack elements
We’re running an app here using ERJGroupsSynchronizer, (very) slightly modified
to work in an AWS EC2 environment. The app sees what you’d have to describe as
a low level of concurrency. What I assume I’m seeing above is an instance
processing an incoming change notification, and hitting an NPE. This is
EOCustomObject at 1270:
ec.lockObjectStore();
So some EC has presumably turned to null. What happens next is that that
instance seems to see (or at least process) no further change notifications,
and its view of the database gets stale in the usual way.
Does anyone want to take a guess at this one?
--
Paul Hoadley
http://logicsquad.net/
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [email protected]