This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
[release32 apr 6] Deadlock occurred after trying to delete two directories from Filesystems tab. Said "yes" to delete prompt, and then the IDE froze. IMHO it should be forbidden for XMLDataObject to wait for some task in its getCookie method. If the task is not done, it should return null (or something else) and when the task finishes, fire PROP_COOKIES. (The folders were deleted correctly BTW.) Just guessing at the cause of the deadlock however; not clear what the parsing task is waiting for when it blocked.
Created attachment 1041 [details] Deadlock thread dump
Somebody tell me what is the XMLDataObject.getCookie waiting for!? There is no request processor that tries to process something!!!
Under ordinary conditions it waits for a task posted at "XMLDataObject/parser" RP. However the question is left open. It seems as some nasty race condition in RequestProcessor.Task.
I see the only problem. Is it legal to wait for unscheduled task? I suppose so. I call unscheduled task even cancelled one. In handleDelete I perform: if (infoTask.cancel() == false) { // we catch it in queue infoTask.waitFinished(); // too late wait for finnish } What about RequestProcessor.Task.waitFinishedImpl(), there is way that bypasses check for canceled task, is not it? Then it can not be notified about finished since it is already removed from RP queue so its run() is never called.
Fixed in main trunk. RequestProcessor rev. 1.45.
Reopened to be fixed.
Integrated into release32.
Target milestone -> 3.2
Resolved for 3.4.x or earlier, no new info since then -> verified
Resolved for 3.4.x or earlier, no new info since then -> closing.