| Summary: | [e4] Task List get stuck in focused mode when focus is active on startup | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | Steffen Pingel <steffen.pingel> |
| Component: | Mylyn | Assignee: | Steffen Pingel <steffen.pingel> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P3 | CC: | remy.suen |
| Version: | unspecified | ||
| Target Milestone: | 3.8 | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Bug Depends on: | 372684 | ||
| Bug Blocks: | 321278, 376368 | ||
|
Description
Steffen Pingel
The problem appears to be that FocusTaskListAction.init(IViewPart) gets invoked twice. Startup: Thread [main] (Suspended (breakpoint at line 110 in FocusTaskListAction$2)) FocusTaskListAction$2.run() line: 110 TasksUiInternal.preservingSelection(TreeViewer, Runnable) line: 1080 FocusTaskListAction.installInterestFilter() line: 104 FocusTaskListAction.init(IViewPart) line: 82 ViewPluginAction.initDelegate() line: 59 ViewPluginAction(PluginAction).createDelegate() line: 125 ViewPluginAction(PluginAction).selectionChanged(ISelection) line: 275 ViewPluginAction(PartPluginAction).registerSelectionListener(IWorkbenchPart) line: 40 ViewPluginAction.<init>(IConfigurationElement, IViewPart, String, int) line: 38 ActionDescriptor.createAction(int, IConfigurationElement, Object, String) line: 259 ActionDescriptor.<init>(IConfigurationElement, int, Object) line: 176 MenuHelper$4.getDescriptor(IEclipseContext) line: 699 MenuHelper$4.compute(IEclipseContext) line: 715 HandledContributionItem.hookCheckListener() line: 397 HandledContributionItem.fill(ToolBar, int) line: 377 ToolBarManager.update(boolean) line: 353 ToolBarManagerRenderer.processContents(MElementContainer<MUIElement>) line: 504 ToolBarManagerRenderer$5.handleEvent(Event) line: 220 UIEventHandler$1.run() line: 41 UISynchronizer(Synchronizer).syncExec(Runnable) line: 180 UISynchronizer.syncExec(Runnable) line: 150 Display.syncExec(Runnable) line: 4290 E4Application$1.syncExec(Runnable) line: 184 UIEventHandler.handleEvent(Event) line: 38 EventHandlerWrapper.handleEvent(Event, Permission) line: 197 EventHandlerTracker.dispatchEvent(EventHandlerWrapper, Permission, int, Event) line: 197 EventHandlerTracker.dispatchEvent(Object, Object, int, Object) line: 1 EventManager.dispatchEvent(Set, EventDispatcher, int, Object) line: 230 ListenerQueue.dispatchEventSynchronous(int, Object) line: 148 EventAdminImpl.dispatchEvent(Event, boolean) line: 135 EventAdminImpl.sendEvent(Event) line: 78 EventComponent.sendEvent(Event) line: 39 EventBroker.send(String, Object) line: 81 UIEventPublisher.notifyChanged(Notification) line: 57 ToolBarImpl(BasicNotifierImpl).eNotify(Notification) line: 380 ElementContainerImpl$1(EcoreEList<E>).dispatchNotification(Notification) line: 255 ElementContainerImpl$1(NotifyingListImpl<E>).addUnique(int, E) line: 362 ElementContainerImpl$1(AbstractEList<E>).add(int, E) line: 345 ToolBarContributionRecord.mergeIntoModel() line: 169 ToolBarManagerRenderer.processAddition(MToolBar, ToolBarManager, MToolBarContribution) line: 368 ToolBarManagerRenderer.generateContributions(MToolBar, ArrayList<MToolBarContribution>) line: 346 ToolBarManagerRenderer.processContribution(MToolBar) line: 327 ToolBarManagerRenderer.createWidget(MUIElement, Object) line: 265 PartRenderingEngine.createWidget(MUIElement, Object) line: 882 PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 616 PartRenderingEngine$6.run() line: 505 SafeRunner.run(ISafeRunnable) line: 42 PartRenderingEngine.createGui(MUIElement, Object, IEclipseContext) line: 490 StackRenderer.adjustTR(CTabFolder, MPart) line: 620 StackRenderer.showTab(MUIElement) line: 1021 StackRenderer(LazyStackRenderer).postProcess(MUIElement) line: 97 PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 632 PartRenderingEngine.safeCreateGui(MUIElement) line: 718 PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689 PartRenderingEngine$7.run() line: 683 SafeRunner.run(ISafeRunnable) line: 42 PartRenderingEngine.createGui(MUIElement) line: 668 SashRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 59 PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 628 PartRenderingEngine.safeCreateGui(MUIElement) line: 718 PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689 PartRenderingEngine$7.run() line: 683 SafeRunner.run(ISafeRunnable) line: 42 PartRenderingEngine.createGui(MUIElement) line: 668 SashRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 59 PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 628 PartRenderingEngine.safeCreateGui(MUIElement) line: 718 PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689 PartRenderingEngine$7.run() line: 683 SafeRunner.run(ISafeRunnable) line: 42 PartRenderingEngine.createGui(MUIElement) line: 668 SashRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 59 PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 628 PartRenderingEngine.safeCreateGui(MUIElement) line: 718 PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689 PartRenderingEngine$7.run() line: 683 SafeRunner.run(ISafeRunnable) line: 42 PartRenderingEngine.createGui(MUIElement) line: 668 SashRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 59 PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 628 PartRenderingEngine.safeCreateGui(MUIElement) line: 718 PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689 PartRenderingEngine$7.run() line: 683 SafeRunner.run(ISafeRunnable) line: 42 PartRenderingEngine.createGui(MUIElement) line: 668 PerspectiveRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 59 PerspectiveRenderer.processContents(MElementContainer<MUIElement>) line: 59 PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 628 PartRenderingEngine.safeCreateGui(MUIElement) line: 718 PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689 PartRenderingEngine$7.run() line: 683 SafeRunner.run(ISafeRunnable) line: 42 PartRenderingEngine.createGui(MUIElement) line: 668 PerspectiveStackRenderer.showTab(MUIElement) line: 103 PerspectiveStackRenderer(LazyStackRenderer).postProcess(MUIElement) line: 97 PerspectiveStackRenderer.postProcess(MUIElement) line: 77 PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 632 PartRenderingEngine.safeCreateGui(MUIElement) line: 718 PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689 PartRenderingEngine$7.run() line: 683 SafeRunner.run(ISafeRunnable) line: 42 PartRenderingEngine.createGui(MUIElement) line: 668 SashRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 59 PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 628 PartRenderingEngine.safeCreateGui(MUIElement) line: 718 PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689 PartRenderingEngine$7.run() line: 683 SafeRunner.run(ISafeRunnable) line: 42 PartRenderingEngine.createGui(MUIElement) line: 668 WBWRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 59 WBWRenderer.processContents(MElementContainer<MUIElement>) line: 626 PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 628 PartRenderingEngine.safeCreateGui(MUIElement) line: 718 PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689 PartRenderingEngine$7.run() line: 683 SafeRunner.run(ISafeRunnable) line: 42 PartRenderingEngine.createGui(MUIElement) line: 668 PartRenderingEngine$9.run() line: 954 Realm.runWithDefault(Realm, Runnable) line: 332 PartRenderingEngine.run(MApplicationElement, IEclipseContext) line: 909 E4Workbench.createAndRunUI(MApplicationElement) line: 85 Workbench$4.run() line: 580 Realm.runWithDefault(Realm, Runnable) line: 332 Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 535 PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149 IDEApplication.start(IApplicationContext) line: 124 EclipseAppHandle.run(Object) line: 196 EclipseAppLauncher.runApplication(Object) line: 110 EclipseAppLauncher.start(Object) line: 79 EclipseStarter.run(Object) line: 353 EclipseStarter.run(String[], Runnable) line: 180 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: 597 Main.invokeFramework(String[], URL[]) line: 629 Main.basicRun(String[]) line: 584 Main.run(String[]) line: 1438 Main.main(String[]) line: 1414 First view activation: Thread [main] (Suspended) TaskListView.setFocusedMode(boolean) line: 1586 FocusTaskListAction$2.run() line: 108 TasksUiInternal.preservingSelection(TreeViewer, Runnable) line: 1080 FocusTaskListAction.installInterestFilter() line: 104 FocusTaskListAction.init(IViewPart) line: 82 ActionDelegateHandlerProxy$2.run() line: 479 SafeRunner.run(ISafeRunnable) line: 42 ActionDelegateHandlerProxy.initDelegate() line: 485 ActionDelegateHandlerProxy.loadDelegate() line: 603 ActionDelegateHandlerProxy.updateDelegate(IAction, IEvaluationContext) line: 312 ActionDelegateHandlerProxy.setEnabled(Object) line: 522 E4HandlerProxy.canExecute(IEclipseContext, IEvaluationContext) line: 55 GeneratedMethodAccessor5.invoke(Object, Object[]) line: not available DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 Method.invoke(Object, Object...) line: 597 MethodRequestor.execute() line: 56 InjectorImpl.invokeUsingClass(Object, Class<?>, Class<Annotation>, Object, PrimaryObjectSupplier, PrimaryObjectSupplier, boolean) line: 229 InjectorImpl.invoke(Object, Class<Annotation>, Object, PrimaryObjectSupplier, PrimaryObjectSupplier) line: 210 ContextInjectionFactory.invoke(Object, Class<Annotation>, IEclipseContext, IEclipseContext, Object) line: 131 HandlerServiceImpl.canExecute(ParameterizedCommand, IEclipseContext) line: 108 HandledContributionItem.canExecuteItem(Event) line: 807 HandledContributionItem.access$1(HandledContributionItem, Event) line: 796 HandledContributionItem$3.run() line: 196 SafeRunner.run(ISafeRunnable) line: 42 HandledContributionItem.updateItemEnablement() line: 223 HandledContributionItem$ToolItemUpdateTimer.run() line: 129 Display.timerProc(long) line: 4120 OS._g_main_context_iteration(long, boolean) line: not available [native method] OS.g_main_context_iteration(long, boolean) line: 2326 Display.readAndDispatch() line: 3176 PartRenderingEngine$9.run() line: 1015 Realm.runWithDefault(Realm, Runnable) line: 332 PartRenderingEngine.run(MApplicationElement, IEclipseContext) line: 909 E4Workbench.createAndRunUI(MApplicationElement) line: 85 Workbench$4.run() line: 580 Realm.runWithDefault(Realm, Runnable) line: 332 Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 535 PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149 IDEApplication.start(IApplicationContext) line: 124 EclipseAppHandle.run(Object) line: 196 EclipseAppLauncher.runApplication(Object) line: 110 EclipseAppLauncher.start(Object) line: 79 EclipseStarter.run(Object) line: 353 EclipseStarter.run(String[], Runnable) line: 180 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: 597 Main.invokeFramework(String[], URL[]) line: 629 Main.basicRun(String[]) line: 584 Main.run(String[]) line: 1438 Main.main(String[]) line: 1414 In comparison, on 3.8 it looks like this. Startup: Thread [main] (Suspended (breakpoint at line 110 in FocusTaskListAction$2)) owns: RunnableLock (id=83) FocusTaskListAction$2.run() line: 110 TasksUiInternal.preservingSelection(TreeViewer, Runnable) line: 1080 FocusTaskListAction.installInterestFilter() line: 104 FocusTaskListAction.init(IViewPart) line: 82 ViewPluginAction.initDelegate() line: 59 ViewPluginAction(PluginAction).createDelegate() line: 125 ViewPluginAction(PluginAction).selectionChanged(ISelection) line: 275 ViewPluginAction(PartPluginAction).registerSelectionListener(IWorkbenchPart) line: 40 ViewPluginAction.<init>(IConfigurationElement, IViewPart, String, int) line: 38 ActionDescriptor.createAction(int, IConfigurationElement, Object, String) line: 259 ActionDescriptor.<init>(IConfigurationElement, int, Object) line: 176 ViewActionBuilder.createActionDescriptor(IConfigurationElement) line: 47 ViewActionBuilder(PluginActionBuilder).readElement(IConfigurationElement) line: 161 ViewActionBuilder(RegistryReader).readElements(IConfigurationElement[]) line: 144 ViewActionBuilder(RegistryReader).readElementChildren(IConfigurationElement) line: 133 ViewActionBuilder(PluginActionBuilder).readElement(IConfigurationElement) line: 144 ViewActionBuilder(RegistryReader).readElements(IConfigurationElement[]) line: 144 ViewActionBuilder(RegistryReader).readExtension(IExtension) line: 155 ViewActionBuilder(RegistryReader).readRegistry(IExtensionRegistry, String, String) line: 176 ViewActionBuilder(PluginActionBuilder).readContributions(String, String, String) line: 115 ViewActionBuilder.readActionExtensions(IViewPart) line: 76 ViewReference.createPartHelper() line: 401 ViewReference.createPart() line: 229 ViewReference(WorkbenchPartReference).getPart(boolean) line: 595 ViewPane(PartPane).setVisible(boolean) line: 313 ViewPane.setVisible(boolean) line: 534 PresentablePart.setVisible(boolean) line: 180 PresentablePartFolder.select(IPresentablePart) line: 270 LeftToRightTabOrder.select(IPresentablePart) line: 65 TabbedStackPresentation.selectPart(IPresentablePart) line: 473 ViewStack(PartStack).refreshPresentationSelection() line: 1245 ViewStack(PartStack).createControl(Composite, StackPresentation) line: 662 ViewStack(PartStack).createControl(Composite) line: 570 ViewSashContainer(PartSashContainer).createControl(Composite) line: 568 PerspectiveHelper.activate(Composite) line: 272 Perspective.onActivate() line: 981 WorkbenchPage.onActivate() line: 2714 WorkbenchWindow$27.run() line: 3023 BusyIndicator.showWhile(Display, Runnable) line: 70 WorkbenchWindow.setActivePage(IWorkbenchPage) line: 3004 WorkbenchWindow$20.runWithException() line: 2290 WorkbenchWindow$20(StartupThreading$StartupRunnable).run() line: 31 RunnableLock.run() line: 35 UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 135 Display.runAsyncMessages(boolean) line: 3563 Display.readAndDispatch() line: 3212 IDEWorkbenchAdvisor(WorkbenchAdvisor).openWindows() line: 803 Workbench$33.runWithException() line: 1595 Workbench$33(StartupThreading$StartupRunnable).run() line: 31 UISynchronizer(Synchronizer).syncExec(Runnable) line: 180 UISynchronizer.syncExec(Runnable) line: 150 Display.syncExec(Runnable) line: 4330 StartupThreading.runWithoutExceptions(StartupThreading$StartupRunnable) line: 94 Workbench.init() line: 1590 Workbench.runUI() line: 2623 Workbench.access$4(Workbench) line: 2494 Workbench$7.run() line: 674 Realm.runWithDefault(Realm, Runnable) line: 332 Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 667 PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149 IDEApplication.start(IApplicationContext) line: 123 EclipseAppHandle.run(Object) line: 196 EclipseAppLauncher.runApplication(Object) line: 110 EclipseAppLauncher.start(Object) line: 79 EclipseStarter.run(Object) line: 344 EclipseStarter.run(String[], Runnable) line: 179 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 57 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 Method.invoke(Object, Object...) line: 601 Main.invokeFramework(String[], URL[]) line: 622 Main.basicRun(String[]) line: 577 Main.run(String[]) line: 1410 Main.main(String[]) line: 1386 init() is not called again on activation. I think that's the same as Bug 372684 PW Thanks a lot! That looks the same problem. *** This bug has been marked as a duplicate of bug 372684 *** Reopening to track this in Mylyn. This has been fixed upstream in I20120411-2034. |