Re: FATAL Unlocking thread is not locking thread
Re: FATAL Unlocking thread is not locking thread
- Subject: Re: FATAL Unlocking thread is not locking thread
- From: Samuel Pelletier <email@hidden>
- Date: Fri, 12 Dec 2014 16:46:33 -0500
OC,
You are sure, after checked at least 3 times, that you are not using an EO from another EOEditingContext in this process?
You may also try to construct a dedicated EOF stack for the process to isolate it completely.
Samuel
Le 2014-12-11 à 13:54, OC <email@hidden> a écrit :
> On 11. 12. 2014, at 14:37, OC <email@hidden> wrote:
>
>> it was again caused by/reported in a background thread which imports CSV, exactly like before -- so it seems highly probable the culprit would be _somewhere somehow_ in the concurrent access of the background thread and the main one...
>
> I wonder... is it somewhere documented when exactly WebObjects lock/unlock the OSC?
>
> I must be missing something obvious, but to be quite frank, I don't really get why EOCustomObject.willReadRelationship does unlock the OSC. My (self-evidently wrong) intuition would say they should either not do anything with locks in there, or, perhas, they should lock in willRead, not unlock...
>
> Far as I've been able to find the culprit so far, it looks like
>
> (a) somewhere in EOEditingContext.saveChanges() the OSC gets locked
> (b) in which moment the background task gets to read EOCustomObject.storedValueForKey for an EO (in its own editing context)...
>
> ... and that boils down through EOCustomObject.willReadRelationship to unlock the OSC (without trying to lock it, which would simply sleep the thread). Which causes the exception.
>
> Thanks,
> OC
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden