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.
Summary: | NB36 RC3 freezes while editing ant scripts | ||
---|---|---|---|
Product: | platform | Reporter: | aldobrucale <aldobrucale> |
Component: | Explorer | Assignee: | _ tboudreau <tboudreau> |
Status: | VERIFIED FIXED | ||
Severity: | blocker | CC: | issues, jchalupa, lhasik, mgrummich, mmirilovic, pnejedly, pzajac, ttran |
Priority: | P1 | Keywords: | THREAD |
Version: | 3.x | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | DEFECT | Exception Reporter: | |
Attachments: |
My ide.log
Stacktrace Patch to fix the problem Replacement build of openide.jar for 3.6 Use this jar, not the previous attachment |
Description
aldobrucale
2004-04-08 11:04:36 UTC
Created attachment 14327 [details]
My ide.log
Bad, I am able to reproduce this issue (deadlock) on my Linux Netbeans 3.6 RC3, j2sdk1.4.2_04. I am attaching stacktrace. Created attachment 14328 [details]
Stacktrace
reassignig -> Tim It's an artifact of a workaround I put in for a rare but potential problem when changing projects in the new projects system - to aggressively clear the node displayed by the property sheet only in the case that it has been destroyed. The workaround is already removed in the trunk; I'll attach a patch that makes this safe. Created attachment 14331 [details]
Patch to fix the problem
Patch attached for this issue; it ensures PropertySetModelImpl is always accessed from the AWT thread. There is a very very small risk with this patch that an ITE can occur after switching projects under the following conditions: - The property sheet is docked - An Ant node is selected - The project is changed It is extremely rare (IMO rarer than this bug), and can only happen if the following sequence happens: - The project is changed - The NodeDestroyed event generated by changing projects is enqueued - The project change is keeping the AWT thread occupied, so the NodeDestroyed runs *afterward* - A single paint of the property sheet happens after the property change, but before the enqueued, AWT-ized NodeDestroyed event runs Given that this is a pretty difficult to recreate scenario, it seems preferable to put this patch into 3.6 - the situation described above just throws an exception, it is not a deadlock. Fix for 3.6 is available, but hasn't been integrated. Changing target milestone to 'TBD'. Tim, please change to whatever is appropriate. I don't think it's 3.6 though. The code in question is already deleted in the trunk, so marking as fixed. *** Issue 42482 has been marked as a duplicate of this issue. *** *** Issue 42830 has been marked as a duplicate of this issue. *** Folks, this is getting reported a bit against 3.6. Not a lot, but a bit. I can easily supply a 3.6 openide.jar with this issue fixed; any possibility of autoupdating openide? *** Issue 42463 has been marked as a duplicate of this issue. *** This would certainly be a good candidate for an update. I think the proposed patch is not quite complete; according to comments in your own sources, PS.setCurrentNode has to be called from EQ (quite reasonably), which PS.SPCL.PCL.pC in the attached stack trace is not doing. Suggest that both PS.SPCL.pC (line 1001) and PS.SPCL.PCL.pC (line 1046) should wrap their bodies in M.E.rA since they cannot be sure what thread is calling them. Your patch does replan to EQ inside the scope of the latter method, which would fix the reported deadlock, but does not prevent other possible bugs from occurring. As usual, issue #35833 would have automatically rendered this bug obsolete, since that jumbo patch replans all node event firing to EQ automatically, which would allow you to remove a lot of verbose thread safety code in propertysheet as well. Unfortunately work on issue #35833 is stalled. Not in D *** Issue 43110 has been marked as a duplicate of this issue. *** I've seen it about 5 times in a week. Sometimes the IDE started directly to the deadlock. It needs a patch promptly. I have RH9 linux GNOME2, JDK 1.4.2_04. *** Issue 42508 has been marked as a duplicate of this issue. *** *** Issue 47339 has been marked as a duplicate of this issue. *** Created attachment 17164 [details]
Replacement build of openide.jar for 3.6
For folks having problems with this issue, I just attached a replacement build of openide.jar which includes the fix for this and a couple other issues involved in issue 47857. To use it: Shut down NetBeans Make a backup of $NB_HOME/lib/openide.jar Unzip openide36.jar.zip Copy it over $NB_HOME/lib/openide.jar Created attachment 17165 [details]
Use this jar, not the previous attachment
Tried this on 4.2 20050706. No deadlock occured (that would be VERY sad if so:)) Verified. |