Community
Participate
Working Groups
Build-Id: 4.4.0.I20140501-0200 Seen on startup; the first main window is partially rendered. I have a perspective with standalone parts. StackRenderer#getItemsToSet() is looking for a standalone part. It looks like StackRenderer#handleTransientDataEvents() method should verify that the part is hosted within an MPartStack. Steps to reproduce: 1. Set up a perspective with standalone views. See [1] for the definition I use. 2. Startup and switch to that perspective; quit. 3. Restart and you should see the CCE. [1] https://github.com/briandealwis/eclipse-wbspies/blob/master/ca.mt.wb.devtools.jdt/src/ca/mt/wb/devtools/jdt/StrippedJavaBrowsingPageLayout.java Thread [main] (Suspended (exception ClassCastException)) StackRenderer.findItemForPart(MUIElement, MElementContainer<MUIElement>) line: 876 StackRenderer.getItemsToSet(MPart) line: 187 StackRenderer.handleTransientDataEvents(Event) line: 229 GeneratedMethodAccessor24.invoke(Object, Object[]) line: not available DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 Method.invoke(Object, Object...) line: 483 MethodRequestor.execute() line: 55 UIEventObjectSupplier$UIEventHandler$1.run() line: 56 UISynchronizer(Synchronizer).syncExec(Runnable) line: 187 UISynchronizer.syncExec(Runnable) line: 156 Display.syncExec(Runnable) line: 4722 E4Application$1.syncExec(Runnable) line: 207 UIEventObjectSupplier$UIEventHandler.handleEvent(Event) line: 53 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<Entry<K,V>>, EventDispatcher<K,V,E>, int, E) line: 230 ListenerQueue<K,V,E>.dispatchEventSynchronous(int, E) 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: 59 PartImpl(BasicNotifierImpl).eNotify(Notification) line: 374 EcoreEMap$DelegateEObjectContainmentEList<E>(EcoreEList<E>).dispatchNotification(Notification) line: 249 EcoreEMap$DelegateEObjectContainmentEList<E>(NotifyingListImpl<E>).addUnique(E) line: 294 EcoreEMap$DelegateEObjectContainmentEList<E>(AbstractEList<E>).add(E) line: 303 EcoreEMap<K,V>(BasicEMap<K,V>).put(K, V) line: 585 BasicEMap$DelegatingMap.put(K, V) line: 793 CompatibilityView(CompatibilityPart).create() line: 328 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 62 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 Method.invoke(Object, Object...) line: 483 MethodRequestor.execute() line: 55 InjectorImpl.processAnnotated(Class<Annotation>, Object, Class<?>, PrimaryObjectSupplier, PrimaryObjectSupplier, ArrayList<Class<?>>) line: 888 InjectorImpl.processAnnotated(Class<Annotation>, Object, Class<?>, PrimaryObjectSupplier, PrimaryObjectSupplier, ArrayList<Class<?>>) line: 869 InjectorImpl.inject(Object, PrimaryObjectSupplier, PrimaryObjectSupplier) line: 120 InjectorImpl.internalMake(Class<?>, PrimaryObjectSupplier, PrimaryObjectSupplier) line: 337 InjectorImpl.make(Class<T>, PrimaryObjectSupplier) line: 258 ContextInjectionFactory.make(Class<T>, IEclipseContext) line: 162 ReflectionContributionFactory.createFromBundle(Bundle, IEclipseContext, IEclipseContext, URI) line: 104 ReflectionContributionFactory.doCreate(String, IEclipseContext, IEclipseContext) line: 73 ReflectionContributionFactory.create(String, IEclipseContext) line: 55 ContributedPartRenderer.createWidget(MUIElement, Object) line: 127 PartRenderingEngine.createWidget(MUIElement, Object) line: 984 PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 663 PartRenderingEngine$6.run() line: 548 SafeRunner.run(ISafeRunnable) line: 42 PartRenderingEngine.createGui(MUIElement, Object, IEclipseContext) line: 532 ElementReferenceRenderer.createWidget(MUIElement, Object) line: 69 PartRenderingEngine.createWidget(MUIElement, Object) line: 984 PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 663 PartRenderingEngine.safeCreateGui(MUIElement) line: 767 PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 738 PartRenderingEngine$7.run() line: 732 SafeRunner.run(ISafeRunnable) line: 42 PartRenderingEngine.createGui(MUIElement) line: 716 SashRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 68 SashRenderer.processContents(MElementContainer<MUIElement>) line: 185 PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 675 PartRenderingEngine.safeCreateGui(MUIElement) line: 767 PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 738 PartRenderingEngine$7.run() line: 732 SafeRunner.run(ISafeRunnable) line: 42 PartRenderingEngine.createGui(MUIElement) line: 716 SashRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 68 SashRenderer.processContents(MElementContainer<MUIElement>) line: 185 PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 675 PartRenderingEngine.safeCreateGui(MUIElement) line: 767 PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 738 PartRenderingEngine$7.run() line: 732 SafeRunner.run(ISafeRunnable) line: 42 PartRenderingEngine.createGui(MUIElement) line: 716 PerspectiveRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 68 PerspectiveRenderer.processContents(MElementContainer<MUIElement>) line: 49 PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 675 PartRenderingEngine.safeCreateGui(MUIElement) line: 767 PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 738 PartRenderingEngine$7.run() line: 732 SafeRunner.run(ISafeRunnable) line: 42 PartRenderingEngine.createGui(MUIElement) line: 716 PerspectiveStackRenderer.showTab(MUIElement) line: 103 PerspectiveStackRenderer(LazyStackRenderer).postProcess(MUIElement) line: 98 PerspectiveStackRenderer.postProcess(MUIElement) line: 77 PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 679 PartRenderingEngine.safeCreateGui(MUIElement) line: 767 PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 738 PartRenderingEngine$7.run() line: 732 SafeRunner.run(ISafeRunnable) line: 42 PartRenderingEngine.createGui(MUIElement) line: 716 SashRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 68 SashRenderer.processContents(MElementContainer<MUIElement>) line: 185 PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 675 PartRenderingEngine.safeCreateGui(MUIElement) line: 767 PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 738 PartRenderingEngine$7.run() line: 732 SafeRunner.run(ISafeRunnable) line: 42 PartRenderingEngine.createGui(MUIElement) line: 716 WBWRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 68 WBWRenderer.processContents(MElementContainer<MUIElement>) line: 663 PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 675 PartRenderingEngine.safeCreateGui(MUIElement) line: 767 PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 738 PartRenderingEngine$7.run() line: 732 SafeRunner.run(ISafeRunnable) line: 42 PartRenderingEngine.createGui(MUIElement) line: 716 PartRenderingEngine$9.run() line: 1082 Realm.runWithDefault(Realm, Runnable) line: 332 PartRenderingEngine.run(MApplicationElement, IEclipseContext) line: 1033 E4Workbench.createAndRunUI(MApplicationElement) line: 148 Workbench$5.run() line: 635 Realm.runWithDefault(Realm, Runnable) line: 332 Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 578 PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 150 IDEApplication.start(IApplicationContext) line: 135 EclipseAppHandle.run(Object) line: 196 EclipseAppLauncher.runApplication(Object) line: 134 EclipseAppLauncher.start(Object) line: 104 EclipseStarter.run(Object) line: 379 EclipseStarter.run(String[], Runnable) line: 233 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 62 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 Method.invoke(Object, Object...) line: 483 Main.invokeFramework(String[], URL[]) line: 648 Main.basicRun(String[]) line: 603 Main.run(String[]) line: 1465
Simple fix pushed to https://git.eclipse.org/r/25837
Committed: http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=8b82900a5b2629d4f417c486fa2308f7f96b849d Thanks Brian...
No stack trace seen on restart. Thanks Eric.