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]> 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]> on behalf > of Mark Wardle <[email protected]> > Date: Thursday, January 28, 2016 at 3:04 AM > To: WebObjects-Dev <[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]> 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]> 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]
