I see you are sorting the relationship, but I don’t see how that would be 
affecting this.  I’d expect this to popup in random places rather than being 
specific to that bit of code.  Your original report was from

at com.eldrix.rsdb.model._Patient.encounters(_Patient.java:1361)
at com.eldrix.rsdb.model.Patient.activeEncounters(Patient.java:482)
at com.eldrix.rsdb.model.Patient.activeEncounters(Patient.java:472)
at com.eldrix.rsdb.model.Patient.formsOfClass(Patient.java:653)
at 
com.eldrix.news.components.patients.PatientMedication.prescriptions(PatientMedication.java:47)

Which is also sorting the relationship but I’d guess that to be a co-incidence. 
 I don’t think are you going to find the cause in either of these bits of  code.

Chuck


From: Mark Wardle <[email protected]<mailto:[email protected]>>
Date: Friday, January 29, 2016 at 1:33 PM
To: Chuck Hill <[email protected]<mailto:[email protected]>>
Cc: WebObjects-Dev 
<[email protected]<mailto:[email protected]>>
Subject: Re: Odd NPE from deep inside EOF

Thanks Chuck. It may be something to do with threading but it isn't very clear 
to me. I have never used didUpdate() but I might have code using EOAccessXXX 
and EOControlXxx that conceivably might change something - but mostly 
read-only. I'll try some logging on that address relationship to see whether I 
can see any obvious issue.

--
Dr. Mark Wardle
Consultant Neurologist, Cardiff, UK
(Sent from my mobile)


On 28 Jan 2016, at 19:03, Chuck Hill 
<[email protected]<mailto:[email protected]>> wrote:

That is nasty.  While processing this fetch, a snapshot is going missing.  I 
don’t think we can tell anything else from that stack trace.  It is likely that 
the cause of this missing snapshot is in another concurrently executing thread. 
 And it is likely related to an error in snapshot reference counting.

Does your app (or any code in Wonder that it calls) invalidate snapshots?  Are 
you using ERXGenericRecord’s didUpdate() method to make changes and re-save?  
Is your code calling methods in EOAccess/EOControl that might  change snapshots 
(or fetch or whatever) without locking the OSC?

Chuck


From: 
<[email protected]<mailto:[email protected]>>
 on behalf of Mark Wardle <[email protected]<mailto:[email protected]>>
Date: Thursday, January 28, 2016 at 3:04 AM
To: WebObjects-Dev 
<[email protected]<mailto:[email protected]>>
Subject: Re: Odd NPE from deep inside EOF

Last year, I had an intermittent exception thrown seemingly at random. 
Something odd is happening from deep within EOF and it isn’t easily 
reproducible as far as I can tell.

I now have the full stack trace. Does this look familiar to anyone?

Best wishes,

Mark

java.lang.NullPointerException
  at 
com.webobjects.eocontrol._EOMutableKnownKeyDictionary.<init>(_EOMutableKnownKeyDictionary.java:106)
  at 
com.webobjects.eoaccess.EORelationship._foreignKeyForSourceRow(EORelationship.java:1148)
  at 
com.webobjects.eoaccess.EODatabaseContext._followToManyRelationshipWithFetchSpecification(EODatabaseContext.java:2497)
  at 
com.webobjects.eoaccess.EODatabaseContext._followFetchSpecification(EODatabaseContext.java:2636)
  at 
com.webobjects.eoaccess.EODatabaseContext._batchFetchRelationshipForSourceObjectsEditingContext(EODatabaseContext.java:3734)
  at 
com.webobjects.eoaccess.EODatabaseContext.batchFetchRelationship(EODatabaseContext.java:3816)
  at 
er.extensions.eof.ERXEOAccessUtilities.batchFetchRelationship(ERXEOAccessUtilities.java:1913)
  at 
er.extensions.eof.ERXDatabaseContextDelegate.doFetch(ERXDatabaseContextDelegate.java:781)
  at 
er.extensions.eof.ERXDatabaseContextDelegate.batchFetchToManyFault(ERXDatabaseContextDelegate.java:669)
  at 
er.extensions.eof.ERXDatabaseContextDelegate.databaseContextShouldFetchArrayFault(ERXDatabaseContextDelegate.java:391)
  at sun.reflect.GeneratedMethodAccessor81.invoke(null:Unknown)
  at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:483)
  at com.webobjects.foundation.NSSelector._safeInvokeMethod(NSSelector.java:122)
  at com.webobjects.foundation._NSDelegate._perform(_NSDelegate.java:223)
  at com.webobjects.foundation._NSDelegate.perform(_NSDelegate.java:163)
  at 
com.webobjects.eoaccess.EODatabaseContext._fireArrayFault(EODatabaseContext.java:4236)
  at 
com.webobjects.eoaccess.EOAccessArrayFaultHandler.completeInitializationOfObject(EOAccessArrayFaultHandler.java:77)
  at 
com.webobjects.eocontrol._EOCheapCopyMutableArray.willRead(_EOCheapCopyMutableArray.java:39)
  at 
com.webobjects.eocontrol._EOCheapCopyMutableArray.count(_EOCheapCopyMutableArray.java:99)
  at 
com.webobjects.eocontrol.EOSortOrdering._sortUsingKeyOrderArray(EOSortOrdering.java:185)
  at 
com.webobjects.eocontrol.EOSortOrdering.sortedArrayUsingKeyOrderArray(EOSortOrdering.java:249)
  at com.eldrix.rsdb.model._Patient.addresses(_Patient.java:748)
  at com.eldrix.rsdb.model.Patient.addressForDate(Patient.java:289)
  at com.eldrix.rsdb.model.Patient.currentAddress(Patient.java:277)



On 31 Mar 2015, at 22:55, Mark Wardle <[email protected]<mailto:[email protected]>> 
wrote:

Thanks Ramsey. Have committed the properties change (yes I did have 
cleanup=true) so I’ll wait until it happens again! Intermittent and difficult 
to fathom!

Mark
On 31 Mar 2015, at 17:31, Ramsey Gurley 
<[email protected]<mailto:[email protected]>> wrote:

er.extensions.stackTrace.cleanup=true


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

Reply via email to