Bug 100860

Summary: [WorkbenchParts] Rapid perspective switching, view fails to open
Product: [Eclipse Project] Platform Reporter: Douglas Pollock <douglas.pollock>
Component: UIAssignee: Platform UI Triaged <platform-ui-triaged>
Status: ASSIGNED --- QA Contact:
Severity: minor    
Priority: P5    
Version: 3.1   
Target Milestone: ---   
Hardware: Sun   
OS: Solaris-Motif   
Whiteboard:

Description Douglas Pollock CLA 2005-06-20 11:42:43 EDT
3.1 RC3, Solaris 8, Motif, CDE

While trying to Be Stupid, I was rapidly switching between perspectives.  When I
stopped, I was in the CVS Repository Exploring perspective, and the CVS
Respositories view was an error view.  The following exception appeared in the
details.


org.eclipse.jface.util.Assert$AssertionFailedException: null argument;
	at org.eclipse.jface.util.Assert.isNotNull(Assert.java:149)
	at org.eclipse.jface.util.Assert.isNotNull(Assert.java:125)
	at org.eclipse.ui.internal.PartList.partVisible(PartList.java:223)
	at org.eclipse.ui.internal.PartList.access$2(PartList.java:215)
	at org.eclipse.ui.internal.PartList$1.propertyChanged(PartList.java:37)
	at
org.eclipse.ui.internal.WorkbenchPartReference.fireInternalPropertyChange(WorkbenchPartReference.java:336)
	at
org.eclipse.ui.internal.WorkbenchPartReference.fireVisibilityChange(WorkbenchPartReference.java:493)
	at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:288)
	at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:512)
	at
org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:126)
	at
org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.setVisible(TabbedStackPresentation.java:310)
	at org.eclipse.ui.internal.PartStack.setVisible(PartStack.java:956)
	at
org.eclipse.ui.internal.PartSashContainer.createControl(PartSashContainer.java:486)
	at
org.eclipse.ui.internal.PerspectiveHelper.activate(PerspectiveHelper.java:230)
	at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:813)
	at
org.eclipse.ui.internal.WorkbenchPage.setPerspective(WorkbenchPage.java:2924)
	at
org.eclipse.ui.internal.WorkbenchPage.busySetPerspective(WorkbenchPage.java:902)
	at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:887)
	at org.eclipse.ui.internal.WorkbenchPage$12.run(WorkbenchPage.java:3047)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
	at
org.eclipse.ui.internal.WorkbenchPage.setPerspective(WorkbenchPage.java:3045)
	at
org.eclipse.ui.internal.PerspectiveBarContributionItem.select(PerspectiveBarContributionItem.java:109)
	at
org.eclipse.ui.internal.PerspectiveBarContributionItem$1.widgetSelected(PerspectiveBarContributionItem.java:81)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:89)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:747)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3043)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2732)
	at
org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:153)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:303)
	at
org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:447)
	at
org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:261)
	at
org.eclipse.ui.internal.progress.ProgressManager$3.run(ProgressManager.java:861)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
	at
org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:895)
	at
org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:871)
	at
org.eclipse.ui.internal.progress.ProgressManager.run(ProgressManager.java:1070)
	at
org.eclipse.team.internal.ccvs.ui.model.CVSModelElement.getChildren(CVSModelElement.java:89)
	at
org.eclipse.team.internal.ccvs.ui.model.CVSModelElement.getChildren(CVSModelElement.java:69)
	at
org.eclipse.ui.model.BaseWorkbenchContentProvider.getChildren(BaseWorkbenchContentProvider.java:68)
	at
org.eclipse.team.internal.ccvs.ui.model.RemoteContentProvider.getChildren(RemoteContentProvider.java:101)
	at
org.eclipse.ui.model.BaseWorkbenchContentProvider.getElements(BaseWorkbenchContentProvider.java:77)
	at
org.eclipse.jface.viewers.StructuredViewer.getRawChildren(StructuredViewer.java:848)
	at
org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:896)
	at
org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:790)
	at
org.eclipse.jface.viewers.StructuredViewer.getSortedChildren(StructuredViewer.java:905)
	at
org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:512)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
	at
org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:494)
	at
org.eclipse.jface.viewers.AbstractTreeViewer$5.run(AbstractTreeViewer.java:983)
	at
org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1201)
	at
org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeViewer.java:973)
	at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:248)
	at
org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1417)
	at
org.eclipse.team.internal.ccvs.ui.repo.RemoteViewPart.createPartControl(RemoteViewPart.java:91)
	at
org.eclipse.team.internal.ccvs.ui.repo.RepositoriesView.createPartControl(RepositoriesView.java:238)
	at
org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:305)
	at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:180)
	at
org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:552)
	at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:283)
	at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:512)
	at
org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:126)
	at
org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:268)
	at
org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
	at
org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:391)
	at
org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1102)
	at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:591)
	at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:528)
	at
org.eclipse.ui.internal.PartSashContainer.createControl(PartSashContainer.java:485)
	at
org.eclipse.ui.internal.PerspectiveHelper.activate(PerspectiveHelper.java:230)
	at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:813)
	at
org.eclipse.ui.internal.WorkbenchPage.setPerspective(WorkbenchPage.java:2924)
	at
org.eclipse.ui.internal.WorkbenchPage.busySetPerspective(WorkbenchPage.java:902)
	at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:887)
	at org.eclipse.ui.internal.WorkbenchPage$12.run(WorkbenchPage.java:3047)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
	at
org.eclipse.ui.internal.WorkbenchPage.setPerspective(WorkbenchPage.java:3045)
	at
org.eclipse.ui.internal.PerspectiveBarContributionItem.select(PerspectiveBarContributionItem.java:109)
	at
org.eclipse.ui.internal.PerspectiveBarContributionItem$1.widgetSelected(PerspectiveBarContributionItem.java:81)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:89)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:747)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3043)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2732)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
	at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
	at org.eclipse.core.launcher.Main.run(Main.java:973)
	at org.eclipse.core.launcher.Main.main(Main.java:948)
Comment 1 Douglas Pollock CLA 2005-06-20 12:56:28 EDT
STEPS TO REPRODUCE:
1.) Set-up a workbench with three perspective open and all their buttons visible
in the perspective switcher.  One of the perspectives should be the CVS
Repository Exploring perspective, and when the workbench is shutdown the CVS
Repository Exploring perspective should NOT be active.
2.) Open the workbench and switch between the two other perspectives a few
times.  The goal is to get the user interface lagging behind the actual mouse input.
3.) Switch to the CVS Repository Exploring perspective and switch away.
4.) Switch a few more times between the other two.
5.) Switch to the CVS Repository Exploring perspective and wait until the user
interface catches up.
Comment 2 Douglas Pollock CLA 2005-06-20 13:00:16 EDT
The view can be opened by closing it and then opening it again.
Comment 3 Paul Webster CLA 2006-09-28 14:07:57 EDT
Is this still a problem in 3.3?

PW
Comment 4 Denis Roy CLA 2007-06-22 09:33:01 EDT
Changes requested on bug 193523
Comment 5 Eclipse Webmaster CLA 2019-09-06 16:10:38 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.