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 157429 - EditorPreferencesInjector and KeybindingsInjector are loaded during NetBeans startup
Summary: EditorPreferencesInjector and KeybindingsInjector are loaded during NetBeans ...
Status: CLOSED FIXED
Alias: None
Product: qa
Classification: Unclassified
Component: Tests (show other bugs)
Version: 5.x
Hardware: PC Windows XP
: P2 blocker (vote)
Assignee: apireviews
URL: http://wiki.netbeans.org/FitnessViaWh...
Keywords: API_REVIEW_FAST, PERFORMANCE, TEST
Depends on:
Blocks:
 
Reported: 2009-01-26 10:52 UTC by Alexander Kouznetsov
Modified: 2011-05-24 13:54 UTC (History)
3 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Stacktraces (7.86 KB, text/plain)
2009-01-26 10:57 UTC, Alexander Kouznetsov
Details
enableAutoloads(false) (12.48 KB, patch)
2009-02-06 16:39 UTC, Jaroslav Tulach
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Kouznetsov 2009-01-26 10:52:27 UTC
Performance test reports there is NetBeans startup regression which is caused by the loading of the following classes:

org.netbeans.modules.editor.deprecated.pre61settings.EditorPreferencesInjector
org.netbeans.modules.editor.deprecated.pre61settings.KeybindingsInjector

Please don't load them. More information is available via URL.

The comment from jtulach: "These classes shall not be loaded at all. Víťa knows if this is tracked or 
not. If not, please report it as P2 bug. I guess that one of the goals for 
7.0 was to remove deprecated APIs and this clearly is deprecated, so I guess 
it deserves to be P2 goal..."
Comment 1 Alexander Kouznetsov 2009-01-26 10:57:14 UTC
Created attachment 76230 [details]
Stacktraces
Comment 2 Vitezslav Stejskal 2009-02-04 12:49:31 UTC
I think that something strange goes on during black/whitelist tests. The editor.deprecated.pre61settings module is a
deprecated autoload; there are no modules that trigger loading this autoload module during 'normal' IDE startup (eg.
with ergonomic1 cluster commented out). However in black/whitelist tests the module __is__ loaded for some reason. I
suspect that during these tests the module system is forced to load all modules including autoload modules that would
not normally be loaded.

Jardo could you please double check these tests and advice what to do? Thanks
Comment 3 Jaroslav Tulach 2009-02-06 16:39:07 UTC
Created attachment 76668 [details]
enableAutoloads(false)
Comment 4 Jaroslav Tulach 2009-02-06 16:43:39 UTC
NbModuleSuite turns autoloads into regular modules if they match the enableModules(pattern). I am not sure what this 
feature is for, but it is there since beginnings and I am afraid to incompatibly change it. It might cause failures in 
a lot of tests (it definitely managed to fail few in nbjunit itself). As such I am proposing to add new 
enableAutoloads(false) method. That is safe, compatible addition. OK? Or anyone prefers incompatible change?
Comment 5 Jesse Glick 2009-02-06 18:26:05 UTC
I would expect a single flag to make both autoloads and eager behave "normally". If so, perhaps you can take advantage
of the new flag in ValidateUpdateCenterTest.loadManifests, though it is already working the way it is.


BTW accidental indentation change for matcherEnabled.
Comment 6 Jaroslav Tulach 2009-02-09 08:59:17 UTC
Y01 Add org.openide.options.SystemOption to blacklist

Re. "normally" - eager modules already behave normally, as far as I can tell. I can rename the enableAutoloads(false) 
to ignoreNonRegular(true) or controlJustRegular(true) or enableOnlyRegular(true), if you think this is better.
Comment 7 Jesse Glick 2009-02-09 14:36:17 UTC
I think "enableAutoloads(false)" is misleading because it implies that no autoloads will be enabled; similarly
"enableOnlyRegular(true)". Perhaps "honorAutoloadEager(true)" as a departure from the default behavior would be easier
to understand?

I find it pretty confusing that by default autoloads in the CP are all turned on but eagers may not be, if this is in
fact the case.
Comment 8 Jaroslav Tulach 2009-02-09 18:05:09 UTC
Well, eagers will be enable if all their dependencies are satisfied, which is usually the case.

honorAutoloadEager(true) seems OK.

The alternative is to make incompatible change. I can do it if that is what everyone wants.
Comment 9 Jaroslav Tulach 2009-02-15 20:54:36 UTC
core-main#2c92ef6a2f9b
Comment 10 Quality Engineering 2009-02-16 20:20:21 UTC
Integrated into 'main-golden', will be available in build *200902161401* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main/rev/2c92ef6a2f9b
User: Jaroslav Tulach <jtulach@netbeans.org>
Log: #157429: Verifying that SystemOption is no longer in used in the real IDE