Created attachment 106772 [details]
Dev build, Ubuntu. I had a NB instance running the debugger, and had suspended one of its thread to see a call stack. I then used File > Exit in the test VM, but it would not exit. In the dev instance, I remembered that this thread had been suspended, so I clicked Resume on it, but the target VM would still not exit. I tried to click Resume again but now the dev VM hung - see thread dump.
I was not able to reproduce the hang. The debugge always exits normally for me when I do File -> Exit even when there are suspended threads.
I'll fix the locking in AWT so that it does not freeze, but I do not think that we can resolve the case when target VM does not respond. Resume of the thread was not performed, because many threads are waiting at TargetVM.waitForReply(TargetVM.java:281).
I've fixed locking in changeset: 190487:1d900f71e0dd
I did not reproduce the hang on several attempts, if you can reproduce it, please provide more detailed steps and I'll try to investigate. IMHO it can be a bug in the debugger backend.
(In reply to comment #1)
> I'll fix the locking in AWT so that it does not freeze, but I do not think that
> we can resolve the case when target VM does not respond.
So long as the development IDE does not freeze, and the debugging session can be killed, I think it is OK.
Integrated into 'main-golden', will be available in build *201103080000* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Log: #196375 Prevent from acessing lock under which we communicate with debuggee in AWT