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.

Bug 110995 - NbModuleProjectTypeProfiler.isFileObjectSupported blocks EQ
Summary: NbModuleProjectTypeProfiler.isFileObjectSupported blocks EQ
Status: RESOLVED FIXED
Alias: None
Product: profiler
Classification: Unclassified
Component: Base (show other bugs)
Version: 6.x
Hardware: All All
: P3 blocker (vote)
Assignee: J Bachorik
URL:
Keywords: PERFORMANCE, THREAD
Depends on:
Blocks:
 
Reported: 2007-07-25 18:12 UTC by Jesse Glick
Modified: 2007-07-31 19:18 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Thread dumps (44.11 KB, text/plain)
2007-07-25 18:12 UTC, Jesse Glick
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jesse Glick 2007-07-25 18:12:29 UTC
070725. I opened a Java source file (File > Recent Files) and the IDE froze for about a minute with no repaints. Culprit
appears to be Profiler code which blocks EQ refreshing some action.

BTW it is a secondary bug that the Profiler actions refresh their enablement state even when they are not visible. The
action being refreshed (as far as I can tell) is in a submenu of the Profile menu; the IDE really does not need to
compute its enablement state every time a file is opened - only if this menu is posted. o.o.u.a.NodeAction stops
listening to external events when it is not visible, and the Profiler actions should do the same.
Comment 1 Jesse Glick 2007-07-25 18:12:50 UTC
Created attachment 45700 [details]
Thread dumps
Comment 2 J Bachorik 2007-07-30 14:47:32 UTC
probably we will need to abandon the idea of dynamically enabled actions as it seems it incurs quite big overhead (and
worse yet on EDT).
the solution would be to have the actions consistent with run/debug - keep them enabled and in case there is eg. no main
method inform the user when he tries to invoke the action
Comment 3 J Bachorik 2007-07-31 12:54:32 UTC
this is fixed by removing the dynamic nature of the profiler action enablement. now the profiler action behavior mimics
the run/debug actions. if an information from the java infrastructure is needed to decide whether the action should be
enabled or not retrieving this information is postponed till the action is actually being performed and the action is
enabled by default. in case it's not possible to perform the action (eg. because of missing main method etc.) the user
is notified about this fact and the profiling session won't start
Comment 4 Jesse Glick 2007-07-31 19:18:56 UTC
Great, I think that makes a lot more sense.