Community
Participate
Working Groups
I20071029-0010 On shutdown, PluginActionCoolBarContributionItem.handleWidgetDispose makes a call to getMenuCreator() that loads the search plugin. SearchPlugin.<init>() line: 95 NativeConstructorAccessorImpl.newInstance0(Constructor, Object[]) line: not available [native method] NativeConstructorAccessorImpl.newInstance(Object[]) line: 39 DelegatingConstructorAccessorImpl.newInstance(Object[]) line: 27 Constructor.newInstance(Object[]) line: 274 Class.newInstance0() line: 308 Class.newInstance() line: 261 BundleHost(AbstractBundle).loadBundleActivator() line: 137 BundleContextImpl.start() line: 970 BundleHost.startWorker(int) line: 346 BundleHost(AbstractBundle).start(int) line: 261 SecureAction.start(Bundle, int) line: 400 EclipseLazyStarter.postFindLocalClass(String, Class, ClasspathManager) line: 111 ClasspathManager.findLocalClass(String) line: 419 DefaultClassLoader.findLocalClass(String) line: 189 BundleLoader.findLocalClass(String) line: 344 BundleLoader.findClassInternal(String, boolean, ClassLoader) line: 412 BundleLoader.findClass(String, boolean) line: 373 BundleLoader.findClass(String) line: 361 DefaultClassLoader.loadClass(String, boolean) line: 83 DefaultClassLoader(ClassLoader).loadClass(String) line: 235 BundleLoader.loadClass(String) line: 289 BundleHost.loadClass(String, boolean) line: 227 BundleHost(AbstractBundle).loadClass(String) line: 1269 EquinoxRegistryStrategy(RegistryStrategyOSGI).createExecutableExtension(RegistryContributor, String, String) line: 160 ExtensionRegistry.createExecutableExtension(RegistryContributor, String, String) line: 819 ConfigurationElement.createExecutableExtension(String) line: 243 ConfigurationElementHandle.createExecutableExtension(String) line: 51 WorkbenchPlugin$1.run() line: 244 BusyIndicator.showWhile(Display, Runnable) line: 67 WorkbenchPlugin.createExtension(IConfigurationElement, String) line: 240 WWinPluginPulldown(PluginAction).createDelegate() line: 122 WWinPluginPulldown(PluginAction).getMenuCreator() line: 380 PluginActionCoolBarContributionItem(ActionContributionItem).handleWidgetDispose(Event) line: 469 ActionContributionItem.access$1(ActionContributionItem, Event) line: 464 ActionContributionItem$6.handleEvent(Event) line: 445 EventTable.sendEvent(Event) line: 66 ToolItem(Widget).sendEvent(Event) line: 1105 ToolItem(Widget).sendEvent(int, Event, boolean) line: 1129 ToolItem(Widget).sendEvent(int) line: 1110 ToolItem(Widget).release(boolean) line: 974 ToolBar.releaseChildren(boolean) line: 402 ToolBar(Widget).release(boolean) line: 977 ToolBar(Control).release(boolean) line: 3156 CoolBar(Composite).releaseChildren(boolean) line: 1175 CoolBar(Widget).release(boolean) line: 977 CoolBar(Control).release(boolean) line: 3156 Composite.releaseChildren(boolean) line: 1175 Composite(Widget).release(boolean) line: 977 Composite(Control).release(boolean) line: 3156 CBanner(Composite).releaseChildren(boolean) line: 1175 CBanner(Widget).release(boolean) line: 977 CBanner(Control).release(boolean) line: 3156 Shell(Composite).releaseChildren(boolean) line: 1175 Shell(Canvas).releaseChildren(boolean) line: 196 Shell(Decorations).releaseChildren(boolean) line: 465 Shell.releaseChildren(boolean) line: 1822 Shell(Widget).release(boolean) line: 977 Shell(Control).release(boolean) line: 3156 Shell(Widget).dispose() line: 434 Shell.dispose() line: 1767 WorkbenchWindow(Window).close() line: 335
That stacktrace is after replacing the search toolbar button with a dropdown (bug 72322). So it is not in I20071029-0010. I reverted the change from bug 72322 again to wait after M3.
Since we no longer ask for the menu creator up front, asking at dispose time was activating a similar set of plugins to bug 136397 So if we don't ask for the menu creator, don't dispose it. PW
Since DebugUIPlugin was exhibiting the same behaviour (actived on shutdown) for the same reason, I've verified that this no longer happens in I20071101-0010 PW