Community
Participate
Working Groups
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
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
This is VCM and is obsolete. However, we should make sure that the same thing does not happen with Team.
I've asked Desktop to do their profiling with Team enabled.
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.
No longer relevant. Does not happen in Team 2.0.