Bug 10988 - Compare plugin is activated early
Summary: Compare plugin is activated early
Status: RESOLVED INVALID
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Team (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows 2000
: P2 major (vote)
Target Milestone: 2.0 M5   Edit
Assignee: Jeff Brown CLA
QA Contact:
URL:
Whiteboard:
Keywords: performance
Depends on:
Blocks:
 
Reported: 2002-03-07 14:46 EST by Kevin Haaland CLA
Modified: 2002-04-10 17:15 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin Haaland CLA 2002-03-07 14:46:03 EST
In the latest 2.0 build (0307) it appears that the compare plugin is being 
activated too early.

	To recreate:

		Take a fresh build
		Turn on debugging support to track plugin activation, launch 
with the -debug option
		Create a simple project
		Popup the menu in the navigator

	Notice the following gets logged to the console

Starting plugin: org.eclipse.compare
Finished plugin startup for org.eclipse.compare time: 60ms
Loader [org.eclipse.compare_1.0.0]^1efb05 Exit activation for 
org.eclipse.compare
Comment 1 Andre Weinand CLA 2002-03-08 04:52:08 EST
Loading of the CompareUIPlugin is triggered by the 
org.eclipse.vcm.internal.ui.merge.MergeAction which is VCM.

The following stacktrace shows the context:

Thread [main] (Suspended (breakpoint at line 112 in 
org.eclipse.compare.internal.CompareUIPlugin))
	org.eclipse.compare.internal.CompareUIPlugin.<init>
(org.eclipse.core.runtime.IPluginDescriptor) line: 112
	java.lang.reflect.Constructor.newInstance(java.lang.Object[]) line: not 
available [native method]
	org.eclipse.core.internal.plugins.PluginDescriptor.internalDoPluginActiv
ation() line: 687
	org.eclipse.core.internal.plugins.PluginDescriptor.doPluginActivation() 
line: 184
	org.eclipse.core.internal.plugins.PluginClassLoader.activatePlugin
(java.lang.String) line: 52
	org.eclipse.core.internal.plugins.PluginClassLoader.findClassParentsSelf
(java.lang.String, boolean, 
org.eclipse.core.internal.boot.DelegatingURLClassLoader, boolean) line: 130
	org.eclipse.core.internal.plugins.PluginClassLoader
(org.eclipse.core.internal.boot.DelegatingURLClassLoader).loadClass
(java.lang.String, boolean, 
org.eclipse.core.internal.boot.DelegatingURLClassLoader, java.util.Vector, 
boolean) line: 771
	org.eclipse.core.internal.boot.DelegatingURLClassLoader.access$0
(org.eclipse.core.internal.boot.DelegatingURLClassLoader, java.lang.String, 
boolean, org.eclipse.core.internal.boot.DelegatingURLClassLoader, 
java.util.Vector, boolean) line: 765
	org.eclipse.core.internal.boot.DelegatingURLClassLoader$DelegateLoader.l
oadClass(java.lang.String, 
org.eclipse.core.internal.boot.DelegatingURLClassLoader, 
org.eclipse.core.internal.boot.DelegatingURLClassLoader, java.util.Vector) 
line: 65
	org.eclipse.core.internal.plugins.PluginClassLoader
(org.eclipse.core.internal.boot.DelegatingURLClassLoader).findClassPrerequisites
(java.lang.String, org.eclipse.core.internal.boot.DelegatingURLClassLoader, 
java.util.Vector) line: 425
	org.eclipse.core.internal.plugins.PluginClassLoader
(org.eclipse.core.internal.boot.DelegatingURLClassLoader).loadClass
(java.lang.String, boolean, 
org.eclipse.core.internal.boot.DelegatingURLClassLoader, java.util.Vector, 
boolean) line: 779
	org.eclipse.core.internal.plugins.PluginClassLoader
(org.eclipse.core.internal.boot.DelegatingURLClassLoader).loadClass
(java.lang.String, boolean) line: 751
	org.eclipse.core.internal.plugins.PluginClassLoader
(java.lang.ClassLoader).loadClass(java.lang.String) line: 255 [local variables 
unavailable]
	org.eclipse.core.internal.plugins.PluginClassLoader
(java.lang.ClassLoader).loadClassInternal(java.lang.String) line: 315
	java.lang.Class.newInstance0() line: not available [native method]
	java.lang.Class.newInstance() line: 237
	org.eclipse.core.internal.plugins.PluginDescriptor.createExecutableExten
sion(java.lang.String, java.lang.Object, 
org.eclipse.core.runtime.IConfigurationElement, java.lang.String) line: 136
	org.eclipse.core.internal.plugins.PluginDescriptor.createExecutableExten
sion(java.lang.String, java.lang.String, java.lang.Object, 
org.eclipse.core.runtime.IConfigurationElement, java.lang.String) line: 165
	org.eclipse.core.internal.plugins.ConfigurationElement.createExecutableE
xtension(java.lang.String) line: 96
	org.eclipse.ui.internal.WorkbenchPlugin.createExtension
(org.eclipse.core.runtime.IConfigurationElement, java.lang.String) line: 103
	org.eclipse.ui.internal.ObjectPluginAction
(org.eclipse.ui.internal.PluginAction).createDelegate() line: 84
	org.eclipse.ui.internal.ObjectPluginAction
(org.eclipse.ui.internal.PluginAction).selectionChanged
(org.eclipse.jface.viewers.ISelection) line: 224
	org.eclipse.ui.internal.ObjectPluginAction
(org.eclipse.ui.internal.PluginAction).<init>
(org.eclipse.core.runtime.IConfigurationElement, java.lang.String) line: 74
	org.eclipse.ui.internal.ObjectPluginAction.<init>
(org.eclipse.core.runtime.IConfigurationElement, java.lang.String) line: 19
	org.eclipse.ui.internal.ActionDescriptor.createAction(int, 
org.eclipse.core.runtime.IConfigurationElement, java.lang.Object) line: 156
	org.eclipse.ui.internal.ActionDescriptor.<init>
(org.eclipse.core.runtime.IConfigurationElement, int, java.lang.Object) line: 
111
	org.eclipse.ui.internal.ActionDescriptor.<init>
(org.eclipse.core.runtime.IConfigurationElement, int) line: 53
	org.eclipse.ui.internal.ObjectActionContributor.createActionDescriptor
(org.eclipse.core.runtime.IConfigurationElement) line: 107
	org.eclipse.ui.internal.ObjectActionContributor
(org.eclipse.ui.internal.PluginActionBuilder).readElement
(org.eclipse.core.runtime.IConfigurationElement) line: 295
	org.eclipse.ui.internal.ObjectActionContributor.readElement
(org.eclipse.core.runtime.IConfigurationElement) line: 158
	org.eclipse.ui.internal.ObjectActionContributor
(org.eclipse.ui.internal.registry.RegistryReader).readElements
(org.eclipse.core.runtime.IConfigurationElement[]) line: 119
	org.eclipse.ui.internal.ObjectActionContributor
(org.eclipse.ui.internal.registry.RegistryReader).readElementChildren
(org.eclipse.core.runtime.IConfigurationElement) line: 109
	org.eclipse.ui.internal.ObjectActionContributor.readConfigElement() 
line: 138
	org.eclipse.ui.internal.ObjectActionContributor.isApplicableTo
(java.lang.Object) line: 116
	org.eclipse.ui.internal.ObjectActionContributorManager
(org.eclipse.ui.internal.ObjectContributorManager).isApplicableTo
(java.util.List, org.eclipse.ui.internal.IObjectContributor) line: 216
	org.eclipse.ui.internal.ObjectActionContributorManager.contributeObjectA
ctions(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.action.IMenuManager, 
org.eclipse.jface.viewers.ISelectionProvider) line: 99
	org.eclipse.ui.internal.PopupMenuExtender.addObjectActions
(org.eclipse.jface.action.IMenuManager) line: 48
	org.eclipse.ui.internal.PopupMenuExtender.menuAboutToShow
(org.eclipse.jface.action.IMenuManager) line: 68
	org.eclipse.jface.action.MenuManager.fireAboutToShow
(org.eclipse.jface.action.IMenuManager) line: 220
	org.eclipse.jface.action.MenuManager.handleAboutToShow() line: 253
	org.eclipse.jface.action.MenuManager.access$0
(org.eclipse.jface.action.MenuManager) line: 250
	org.eclipse.jface.action.MenuManager$1.menuShown
(org.eclipse.swt.events.MenuEvent) line: 280
	org.eclipse.swt.widgets.TypedListener.handleEvent
(org.eclipse.swt.widgets.Event) line: 112
	org.eclipse.swt.widgets.EventTable.sendEvent
(org.eclipse.swt.widgets.Event) line: 74
	org.eclipse.swt.widgets.Menu(org.eclipse.swt.widgets.Widget).sendEvent
(int, org.eclipse.swt.widgets.Event) line: 841
	org.eclipse.swt.widgets.Menu(org.eclipse.swt.widgets.Widget).sendEvent
(int) line: 827
	org.eclipse.swt.widgets.Shell
(org.eclipse.swt.widgets.Control).WM_INITMENUPOPUP(int, int) line: 2979
	org.eclipse.swt.widgets.Shell
(org.eclipse.swt.widgets.Control).windowProc(int, int, int) line: 2662
	org.eclipse.swt.widgets.Shell
(org.eclipse.swt.widgets.Decorations).windowProc(int, int, int) line: 1334
	org.eclipse.swt.widgets.Display.windowProc(int, int, int, int) line: 
1806
	org.eclipse.swt.internal.win32.OS.TrackPopupMenu(int, int, int, int, 
int, int, org.eclipse.swt.internal.win32.RECT) line: not available [native 
method]
	org.eclipse.swt.widgets.Menu.setVisible(boolean) line: 803
	org.eclipse.swt.widgets.Tree
(org.eclipse.swt.widgets.Control).WM_CONTEXTMENU(int, int) line: 2796
	org.eclipse.swt.widgets.Tree(org.eclipse.swt.widgets.Control).windowProc
(int, int, int) line: 2645
	org.eclipse.swt.widgets.Display.windowProc(int, int, int, int) line: 
1806
	org.eclipse.swt.internal.win32.OS.CallWindowProcW(int, int, int, int, 
int) line: not available [native method]
	org.eclipse.swt.internal.win32.OS.CallWindowProc(int, int, int, int, 
int) line: 1129
	org.eclipse.swt.widgets.Tree.callWindowProc(int, int, int) line: 144
	org.eclipse.swt.widgets.Tree
(org.eclipse.swt.widgets.Control).WM_RBUTTONUP(int, int) line: 3645
	org.eclipse.swt.widgets.Tree(org.eclipse.swt.widgets.Control).windowProc
(int, int, int) line: 2694
	org.eclipse.swt.widgets.Display.windowProc(int, int, int, int) line: 
1806
	org.eclipse.swt.internal.win32.OS.DispatchMessageW
(org.eclipse.swt.internal.win32.MSG) line: not available [native method]
	org.eclipse.swt.internal.win32.OS.DispatchMessage
(org.eclipse.swt.internal.win32.MSG) line: 1196
	org.eclipse.swt.widgets.Display.readAndDispatch() line: 1206
	org.eclipse.ui.internal.Workbench.runEventLoop() line: 788
	org.eclipse.ui.internal.Workbench.run(java.lang.Object) line: 771
	org.eclipse.core.internal.boot.InternalBootLoader.run(java.lang.String, 
java.net.URL, java.lang.String, java.lang.String[]) line: 777
	org.eclipse.core.boot.BootLoader.run(java.lang.String, java.net.URL, 
java.lang.String, java.lang.String[]) line: 319
	SlimLauncher.main(java.lang.String[]) line: 14
Comment 2 James Moody CLA 2002-03-08 11:08:36 EST
This is VCM and is obsolete. However, we should make sure that the same thing
does not happen with Team.
Comment 3 Kevin McGuire CLA 2002-03-08 13:42:26 EST
I've asked Desktop to do their profiling with Team enabled.
Comment 4 Kevin McGuire CLA 2002-04-04 16:54:02 EST
There are tracing options for finding out when plugins are being activated.
Please check if this is still happening.  If it is, find out why.
Comment 5 Jeff Brown CLA 2002-04-10 17:15:56 EDT
No longer relevant.  Does not happen in Team 2.0.