Project: Eclipse_Platform_UI
Bug 173016 [WorkbenchLauncher] Invalid thread access when starting 3.3M5 with 312 workspace in NavigationHistory
Reported: 2007-02-06 05:29:55 | Status: verified fixed

I20070206-0010 1. Create a new workspace with eclipse 3.1.2 2. Create a java project 3. Create a java class 4. Open this class in a java editor 5. Close eclipse 6. Start eclipse 3.3M5 using the 3.1.2 workspace Is: !ENTRY org.eclipse.ui.workbench 4 0 2007-02-06 11:24:25.678 !MESSAGE Widget disposed too early! !STACK 0 java.lang.RuntimeException: Widget disposed too early! at org.eclipse.ui.internal.WorkbenchPartReference$1.widgetDisposed(WorkbenchPartReference.java:163) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:116) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:962) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:943) at org.eclipse.swt.widgets.Widget.release(Widget.java:740) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:636) at org.eclipse.swt.widgets.Widget.release(Widget.java:743) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:636) at org.eclipse.swt.widgets.Widget.release(Widget.java:743) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:636) at org.eclipse.swt.widgets.Widget.release(Widget.java:743) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:636) at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:117) at org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:766) at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1130) at org.eclipse.swt.widgets.Widget.release(Widget.java:743) at org.eclipse.swt.widgets.Widget.dispose(Widget.java:410) at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:441) at org.eclipse.swt.widgets.Shell.dispose(Shell.java:649) at org.eclipse.jface.window.Window.close(Window.java:330) at org.eclipse.jface.window.ApplicationWindow.close(ApplicationWindow.java:306) at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:1528) at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:627) at org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWindow.java:603) at org.eclipse.ui.internal.WorkbenchWindow$2.run(WorkbenchWindow.java:718) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:716) at org.eclipse.ui.internal.Workbench$54.runWithException(Workbench.java:3221) at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3467) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3107) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2180) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2096) at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:456) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:451) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:101) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:146) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:169) 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:585) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:476) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:416) at org.eclipse.equinox.launcher.Main.run(Main.java:1124) at org.eclipse.equinox.launcher.Main.main(Main.java:1099) !ENTRY org.eclipse.ui.workbench 4 2 2007-02-06 11:24:25.834 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench". !STACK 0 org.eclipse.swt.SWTException: Invalid thread access at org.eclipse.swt.SWT.error(SWT.java:3478) at org.eclipse.swt.SWT.error(SWT.java:3401) at org.eclipse.swt.SWT.error(SWT.java:3372) at org.eclipse.swt.widgets.Display.error(Display.java:1003) at org.eclipse.swt.widgets.Display.checkDevice(Display.java:663) at org.eclipse.swt.widgets.Display.getSystemCursor(Display.java:2070) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:56) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2496) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2480) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2471) at org.eclipse.ui.internal.NavigationHistoryEntry.restoreLocation(NavigationHistoryEntry.java:66) at org.eclipse.ui.internal.NavigationHistory.gotoEntry(NavigationHistory.java:452) at org.eclipse.ui.internal.NavigationHistory.restoreState(NavigationHistory.java:626) at org.eclipse.ui.internal.WorkbenchPage.restoreState(WorkbenchPage.java:2983) at org.eclipse.ui.internal.WorkbenchWindow.restoreState(WorkbenchWindow.java:1999) at org.eclipse.ui.internal.Workbench.doRestoreState(Workbench.java:3205) at org.eclipse.ui.internal.Workbench.access$32(Workbench.java:3148) at org.eclipse.ui.internal.Workbench$47.run(Workbench.java:1989) at org.eclipse.ui.internal.Workbench.runStartupWithProgress(Workbench.java:1704) at org.eclipse.ui.internal.Workbench.restoreState(Workbench.java:1987) at org.eclipse.ui.internal.Workbench.access$30(Workbench.java:1958) at org.eclipse.ui.internal.Workbench$42.run(Workbench.java:1816) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.ui.internal.Workbench.restoreState(Workbench.java:1760) at org.eclipse.ui.internal.WorkbenchConfigurer.restoreState(WorkbenchConfigurer.java:183) at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:751) at org.eclipse.ui.internal.Workbench.init(Workbench.java:1282) at org.eclipse.ui.internal.Workbench.access$33(Workbench.java:1227) at org.eclipse.ui.internal.Workbench$51.run(Workbench.java:2176)

Files changed in fix:
bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NavigationHistory.java