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      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to