Re: NPE in ERXObjectStoreCoordinatorSynchronizer

2016-10-24 Thread Chuck Hill
Looks like eo.editingContext() == null  but beyond that…


From: <webobjects-dev-bounces+chill=gevityinc@lists.apple.com> on behalf of 
Paul Hoadley <pa...@logicsquad.net>
Date: Monday, October 24, 2016 at 3:45 PM
To: WebObjects Development <webobjects-dev@lists.apple.com>
Subject: Re: NPE in ERXObjectStoreCoordinatorSynchronizer

On 19 Oct 2016, at 1:12 PM, Paul Hoadley 
<pa...@logicsquad.net<mailto:pa...@logicsquad.net>> wrote:

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

Does anyone want to take a guess at this one?

Come on, I know you want to.


--
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

Re: NPE in ERXObjectStoreCoordinatorSynchronizer

2016-10-24 Thread Paul Hoadley
On 19 Oct 2016, at 1:12 PM, Paul Hoadley  wrote:

> 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

> Does anyone want to take a guess at this one?

Come on, I know you want to.


-- 
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

NPE in ERXObjectStoreCoordinatorSynchronizer

2016-10-18 Thread Paul Hoadley
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