Community
Participate
Working Groups
Shutting down the workbench can trigger the activation of the ResourcesUiBridgePlugin. Thread [main] (Suspended (breakpoint at line 75 in ResourcesUiBridgePlugin)) ResourcesUiBridgePlugin.start(BundleContext) line: 75 BundleContextImpl$2.run() line: 999 AccessController.doPrivileged(PrivilegedExceptionAction<T>) line: not available [native method] BundleContextImpl.startActivator(BundleActivator) line: 993 BundleContextImpl.start() line: 974 BundleHost.startWorker(int) line: 346 BundleHost(AbstractBundle).start(int) line: 265 SecureAction.start(Bundle, int) line: 400 EclipseLazyStarter.postFindLocalClass(String, Class, ClasspathManager) line: 111 ClasspathManager.findLocalClass(String) line: 419 DefaultClassLoader.findLocalClass(String) line: 193 BundleLoader.findLocalClass(String) line: 354 BundleLoader.findClassInternal(String, boolean, ClassLoader) line: 430 BundleLoader.findClass(String, boolean) line: 383 BundleLoader.findClass(String) line: 371 DefaultClassLoader.loadClass(String, boolean) line: 87 DefaultClassLoader(ClassLoader).loadClass(String) line: 251 BundleLoader.loadClass(String) line: 299 BundleHost.loadClass(String, boolean) line: 227 BundleHost(AbstractBundle).loadClass(String) line: 1273 EquinoxRegistryStrategy(RegistryStrategyOSGI).createExecutableExtension(RegistryContributor, String, String) line: 160 ExtensionRegistry.createExecutableExtension(RegistryContributor, String, String) line: 863 ConfigurationElement.createExecutableExtension(String) line: 243 ConfigurationElementHandle.createExecutableExtension(String) line: 51 ContextUiPlugin$UiExtensionPointReader.readBridge(IConfigurationElement) line: 563 ContextUiPlugin$UiExtensionPointReader.initExtensions() line: 513 ContextUiPlugin.getPreservedFilterClasses(String) line: 689 FocusTaskListAction(AbstractFocusViewAction).getPreservedFilterClasses() line: 404 AbstractFocusViewAction.access$3(AbstractFocusViewAction) line: 399 AbstractFocusViewAction$2.preShutdown(IWorkbench, boolean) line: 140 Workbench$7.run() line: 714 SafeRunner.run(ISafeRunnable) line: 37 Platform.run(ISafeRunnable) line: 857 JFaceUtil$1.run(ISafeRunnable) line: 46 SafeRunnable.run(ISafeRunnable) line: 199 Workbench.firePreShutdown(boolean) line: 712 Workbench.busyClose(boolean) line: 852 Workbench.access$15(Workbench, boolean) line: 842 Workbench$22.run() line: 1086 BusyIndicator.showWhile(Display, Runnable) line: 67 Workbench.close(int, boolean) line: 1084 Workbench.close() line: 1056 WorkbenchWindow.busyClose() line: 693 WorkbenchWindow.access$0(WorkbenchWindow) line: 672 WorkbenchWindow$2.run() line: 787 BusyIndicator.showWhile(Display, Runnable) line: 67 WorkbenchWindow.close() line: 785 WorkbenchWindow(Window).handleShellCloseEvent() line: 741 Window$3.shellClosed(ShellEvent) line: 687 TypedListener.handleEvent(Event) line: 91 EventTable.sendEvent(Event) line: 84 Shell(Widget).sendEvent(Event) line: 1145 Shell(Widget).sendEvent(int, Event, boolean) line: 1169 Shell(Widget).sendEvent(int, Event) line: 1154 Shell.closeWidget() line: 542 Shell.gtk_delete_event(int, int) line: 976 Shell(Widget).windowProc(int, int, int) line: 1522 Shell(Control).windowProc(int, int, int) line: 4470 Display.windowProc(int, int, int) line: 4026 OS._gtk_main_do_event(int) line: not available [native method] OS.gtk_main_do_event(int) line: 5710 Display.eventProc(int, int) line: 1163 OS._g_main_context_iteration(int, boolean) line: not available [native method] OS.g_main_context_iteration(int, boolean) line: 1504 Display.readAndDispatch() line: 2980 Workbench.runEventLoop(Window$IExceptionHandler, Display) line: 2392 Workbench.runUI() line: 2356 Workbench.access$4(Workbench) line: 2222 Workbench$4.run() line: 474 Realm.runWithDefault(Realm, Runnable) line: 288 Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 469 PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149 IDEApplication.start(IApplicationContext) line: 106 EclipseAppHandle.run(Object) line: 193 EclipseAppLauncher.runApplication(Object) line: 106 EclipseAppLauncher.start(Object) line: 76 EclipseStarter.run(Object) line: 362 EclipseStarter.run(String[], Runnable) line: 175 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 Method.invoke(Object, Object...) line: 585 Main.invokeFramework(String[], URL[]) line: 564 Main.basicRun(String[]) line: 504 Main.run(String[]) line: 1251 Main.main(String[]) line: 1227
I think that all that we need to do to fix this problem is to cache the preserved filters in the AbstractFocusViewAction. I will look into doing this as it should be a simple fix.
I was finally able to reproduce this. It turns out that I had the interest decorator on that prevented me from seeing this problem. This is now fixed by caching the preserved filters and adding a flag of whether we should try to cache the filters. This will prevent Context core from loading the extensions, which in turn loads the resource bridge plugin.
Created attachment 135898 [details] mylyn/context/zip