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]

Reply via email to