I started the IDE and found that the UI was frozen and unusable for about 2 minutes even though there was no classpath
scanning and the 8 projects had been completely opened. No hourglass, no wait indicator, just frozen.
According to stack dump (attached), Mercurial is doing a bunch of stuff on the AWT thread. Version control should not
be doing work on AWT thread.
Created attachment 56198 [details]
thread stack dump
This is fixed in head. We have changed the menu logic so no Mercurial calls are being made anymore in
MercurialAnnotator.getActions(). Refer to #125220
*** This issue has been marked as a duplicate of 125220 ***
Very strange. The patch you refer to is dated 1/17, but my build is from 1/28. I should already be running with it.
I will check further...
I upgraded my IDE to that built with the absolute latest sources (including mercurial module) and I still see
significant file I/O on AWT thread.
See newly attached trace. This was on opening project node in the project explorer. Disk cache should have been warm
and just opening the node took 15 seconds. Is this expected behavior?
Created attachment 56204 [details]
Thanks - this is a bug in the IgnoredAction handler isEnable() that I missed when doing the other menu changes.
I've reviewed them all and will upload a patch. It's now taking about 3 sec to open the main NetBeans project folder in
NetBeans. I've been trying various thread dumps during menu open and don't see us stalled on any mercurial code.
This is work in progress. Attaching a patch to clean up IgnoreAction and menu enabling.
Still have issue of Sharability check being made in isIgnored() in annotateName and annotateIcon. In theory when the
dirs are scanned the Excluded status of non Sharable the dirs ought to be put into the cache and so we should not need
to make this call during annotation in the AWT thread. Will need further investigation.
Created attachment 56352 [details]
Patch not applying cleanly needs hand merged
Need to merge with latest changes for ContextActions, will sort it on Monday.
date: Fri Feb 08 19:16:07 2008 +0000
#126869: prevent Ignore Menu enabling blocking on AWT thread
date: Fri Feb 08 19:59:36 2008 +0000
#126869: allow Revert modifications dialog to come up immediately, in large repos was blocking on hasHistory mercurial call
date: Fri Feb 08 20:11:04 2008 +0000
#126869: allow Clone <project> dialog to come up immediately, in large repos was blocking on hasHistory mercurial call
Patch has been applied.