Bug 164504 [Viewers] AssertionFailedException when removing element from tree
I20061114-0927 Steps to reproduce: (1) Turn on the option to "remove terminated launches when a new launch is created" (Preferences > Run/Debug > Launching) (2) From the debug perspective, launch an Eclipse Application (workbench) in debug mode (3) After it starts, close the newly launched Eclipse Application (4) Change to the Java perspective (5) Re-launch the Eclipse Application (press the debug button) Error while logging event loop exception: org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.core.runti me.AssertionFailedException: null argument:) at org.eclipse.swt.SWT.error(SWT.java:3407) at org.eclipse.swt.SWT.error(SWT.java:3330) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.ja va:126) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3440) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3080) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1936) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1900) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.jav a:422) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95 ) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformAct ivator.java:78) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runAppli cation(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Ec lipseAppLauncher.java:74) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja va:348) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja va:165) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:64) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:341) at org.eclipse.core.launcher.Main.basicRun(Main.java:285) at org.eclipse.core.launcher.Main.run(Main.java:987) at org.eclipse.core.launcher.Main.main(Main.java:962) Caused by: org.eclipse.core.runtime.AssertionFailedException: null argument: at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:84) at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:72) at org.eclipse.jface.viewers.AbstractTreeViewer.getTreePathFromItem(Abst ractTreeViewer.java:2665) at org.eclipse.jface.viewers.TreeViewer.virtualLazyUpdateWidget(TreeView er.java:1104) at org.eclipse.jface.viewers.TreeViewer.access$3(TreeViewer.java:1100) at org.eclipse.jface.viewers.TreeViewer$3.handleEvent(TreeViewer.java:39 4) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:927) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:951) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:936) at org.eclipse.swt.widgets.Tree.checkData(Tree.java:1441) at org.eclipse.swt.widgets.Tree.checkData(Tree.java:1429) at org.eclipse.swt.widgets.TreeItem.getItems(TreeItem.java:766) at org.eclipse.jface.viewers.TreeViewer.getChildren(TreeViewer.java:256) at org.eclipse.jface.viewers.AbstractTreeViewer.disassociateChildren(Abs tractTreeViewer.java:822) at org.eclipse.jface.viewers.AbstractTreeViewer.disassociate(AbstractTre eViewer.java:810) at org.eclipse.jface.viewers.AbstractTreeViewer.disassociateChildren(Abs tractTreeViewer.java:825) at org.eclipse.jface.viewers.AbstractTreeViewer.disassociate(AbstractTre eViewer.java:810) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRemove(AbstractT reeViewer.java:1764) at org.eclipse.jface.viewers.AbstractTreeViewer$6.run(AbstractTreeViewer .java:2022) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(Struct uredViewer.java:1326) at org.eclipse.jface.viewers.AbstractTreeViewer.remove(AbstractTreeViewe r.java:2020) at org.eclipse.jface.viewers.AbstractTreeViewer.remove(AbstractTreeViewe r.java:2072) at org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider. handleRemove(TreeModelContentProvider.java:247) at org.eclipse.debug.internal.ui.viewers.model.ModelContentProvider.upda teNodes(ModelContentProvider.java:547) at org.eclipse.debug.internal.ui.viewers.model.ModelContentProvider.upda teNodes(ModelContentProvider.java:573) at org.eclipse.debug.internal.ui.viewers.model.ModelContentProvider$7.ru nInUIThread(ModelContentProvider.java:528) at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:94) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.ja va:123) ... 20 more Logging exception: java.lang.NullPointerException at org.eclipse.ui.statushandling.StatusManager.initErrorHandlers(StatusM anager.java:169) at org.eclipse.ui.statushandling.StatusManager.getManager(StatusManager. java:111) at org.eclipse.ui.application.WorkbenchAdvisor.eventLoopException(Workbe nchAdvisor.java:327) at org.eclipse.ui.internal.ExceptionHandler.handleException(ExceptionHan dler.java:62) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1940) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1900) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.jav a:422) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95 ) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformAct ivator.java:78) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runAppli cation(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Ec lipseAppLauncher.java:74) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja va:348) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja va:165) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:64) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:341) at org.eclipse.core.launcher.Main.basicRun(Main.java:285) at org.eclipse.core.launcher.Main.run(Main.java:987) at org.eclipse.core.launcher.Main.main(Main.java:962)
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TreeViewer.java
* label text and image for each column. If it is an
	 * <code>ILabelProvider</code>, then it provides only the label text and
	 * image for the first column, and any remaining columns are blank.
	 */
	public IBaseLabelProvider getLabelProvider() {
		return super.getLabelProvider();
	}
	/*
	 * (non-Javadoc) Method declared in AbstractTreeViewer.
	 */
	protected Item getParentItem(Item item) {
		return ((TreeItem) item).getParentItem();
	}
	/*
	 * (non-Javadoc) Method declared in AbstractTreeViewer.
	 */
	protected Item[] getSelection(Control widget) {
		return ((Tree) widget).getSelection();
	}
	/**
	 * Returns this tree viewer's tree control.
	 * 
	 * @return the tree control
	 */
	public Tree getTree() {
		return tree;
	}
	/*
	 * (non-Javadoc)
	 *