|
Re: Reformatted: Re: Deadlocks occur after a TransactionalEditingDomain.runExclusive(...) call was i [message #152745 is a reply to message #152637] |
Mon, 01 October 2007 10:03  |
Eclipse User |
|
|
|
Originally posted by: cdamus.ca.ibm.com
Hi, Nicolai,
The main thread is blocked waiting for one of the Worker-n threads to
acquire a lock on its behalf (this strategy is employed because it allows
the UI thread to run a nested event loop and show the blocked-user-action
dialog).
The problem is, that I don't see any stack trace showing a thread that owns
a transaction lock. So, it looks like the editing domain thinks it is
locked by a thread that either is no longer running or thinks it no longer
has the lock. You mentioned in your other post that some thread was
interrupted while waiting to start a transaction. I suspect that this is
the culprit. It sounds like there is a bug in the interruption of waiting
to start a transaction, but I don't see it by looking at the code.
Why was this validation routine interrupted? Would you be able to provide a
reproducible test case that I can debug to see why this lock isn't being
released that should be?
Thanks,
Christian
> Sorry for the malformatted post. Second try:
>
> See my stack trace here:
> <http://page.mi.fu-berlin.de/kamenzky/forum/a/StackTrace>
>
> And here the text of my last post again:
>
> I compared the threads while working correctly and while hanging.
>
> Like you see in this picture:
> <http://page.mi.fu-berlin.de/kamenzky/forum/a/editing.png>
> I found three worker threads waiting:
> Worker-0, Worker-1, Worker-3
>
> Their stack is exactly the same. Unfortunately I still can't see
> which kind of thread theyreally are. Two of those three are
> definitely my own threads which do the validation. I could
> executejust one validation thread but the outcome is still the same.
>
> I still don't know for which purpose the third thread is which is
> (I think) represented in the dialog as "Waiting User Operation".
>
> A big difference I found in the main thread. While hanging its
> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2390)is
> not idling but waiting whereelse!
>
> Any ideas?
> Your help is highly appreciated!
>
> Nicolai
>
> --
> I'm trying a new usenet client for Mac, Nemo OS X.
> You can download it at http://www.malcom-mac.com/nemo
|
|
|
Powered by
FUDForum. Page generated in 0.04274 seconds