Eclipse Helios - “java.lang.RuntimeException: Widget disposed too early!”

 

之前拖一个28+M的xml文件到eclipse视窗中,企图利用其xml格式化功能,来显示xml内容。这就导致加载内容太多,占用内存太大,而异常。

 

 

http://stackoverflow.com/questions/5423238/eclipse-helios-java-lang-runtimeexception-widget-disposed-too-early

For me, increasing --launcher.XXMaxPermSize 256m to 512m in eclipse.ini worked. This issue came once eclipse loaded with many plugins and features due to which eclipse needed extra space while loading these new plugins/features during startup.

 

 

错误日志如下:

!SESSION 2012-12-17 11:10:04.494 -----------------------------------------------

eclipse.buildId=M20100909-0800

java.version=1.6.0_33

java.vendor=Sun Microsystems Inc.

BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_CN

Framework arguments:  -product org.eclipse.epp.package.jee.product

Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.jee.product

 

!ENTRY org.eclipse.ui.workbench 4 0 2012-12-17 11:10:25.119

!MESSAGE Widget disposed too early!

!STACK 0

java.lang.RuntimeException: Widget disposed too early!

at org.eclipse.ui.internal.WorkbenchPartReference$1.widgetDisposed(WorkbenchPartReference.java:172)

at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:123)

at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)

at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)

at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)

at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1058)

at org.eclipse.swt.widgets.Widget.release(Widget.java:808)

at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:872)

at org.eclipse.swt.widgets.Widget.release(Widget.java:811)

at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:872)

at org.eclipse.swt.widgets.Widget.release(Widget.java:811)

at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:872)

at org.eclipse.swt.widgets.Widget.release(Widget.java:811)

at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:872)

at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:167)

at org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:773)

at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1267)

at org.eclipse.swt.widgets.Widget.release(Widget.java:811)

at org.eclipse.swt.widgets.Widget.dispose(Widget.java:446)

at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:447)

at org.eclipse.swt.widgets.Shell.dispose(Shell.java:714)

at org.eclipse.jface.window.Window.close(Window.java:335)

at org.eclipse.jface.window.ApplicationWindow.close(ApplicationWindow.java:307)

at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:1735)

at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:734)

at org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWindow.java:710)

at org.eclipse.ui.internal.WorkbenchWindow$5.run(WorkbenchWindow.java:826)

at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)

at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:824)

at org.eclipse.ui.internal.Workbench$65.runWithException(Workbench.java:3639)

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:134)

at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)

at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)

at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)

at org.eclipse.ui.internal.Workbench$31.runWithException(Workbench.java:1567)

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:134)

at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)

at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)

at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2548)

at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)

at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)

at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)

at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)

at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)

at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)

at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)

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:597)

at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)

at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)

at org.eclipse.equinox.launcher.Main.run(Main.java:1407)

 

!ENTRY org.eclipse.osgi 4 0 2012-12-17 11:10:25.244

!MESSAGE Application error

!STACK 1

org.eclipse.swt.SWTError: No more handles

at org.eclipse.swt.SWT.error(SWT.java:4109)

at org.eclipse.swt.SWT.error(SWT.java:3998)

at org.eclipse.swt.SWT.error(SWT.java:3969)

at org.eclipse.swt.widgets.Control.internal_new_GC(Control.java:1550)

at org.eclipse.swt.graphics.GC.<init>(GC.java:166)

at org.eclipse.swt.graphics.GC.<init>(GC.java:132)

at org.eclipse.swt.custom.CTabFolder.updateItems(CTabFolder.java:3282)

at org.eclipse.swt.custom.CTabFolder.showItem(CTabFolder.java:3213)

at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:2734)

at org.eclipse.ui.internal.presentations.PaneFolder.setSelection(PaneFolder.java:732)

at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.setSelection(DefaultTabFolder.java:256)

at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:282)

at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)

at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)

at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1254)

at org.eclipse.ui.internal.PartStack.handleDeferredEvents(PartStack.java:1222)

at org.eclipse.ui.internal.LayoutPart.deferUpdates(LayoutPart.java:400)

at org.eclipse.ui.internal.PartSashContainer.handleDeferredEvents(PartSashContainer.java:1409)

at org.eclipse.ui.internal.LayoutPart.deferUpdates(LayoutPart.java:400)

at org.eclipse.ui.internal.WorkbenchPage.handleDeferredEvents(WorkbenchPage.java:1420)

at org.eclipse.ui.internal.WorkbenchPage.deferUpdates(WorkbenchPage.java:1410)

at org.eclipse.ui.internal.WorkbenchPage.access$14(WorkbenchPage.java:1401)

at org.eclipse.ui.internal.WorkbenchPage$16.runWithException(WorkbenchPage.java:3304)

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:134)

at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)

at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)

at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)

at org.eclipse.ui.internal.Workbench$31.runWithException(Workbench.java:1567)

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:134)

at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)

at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)

at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2548)

at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)

at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)

at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)

at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)

at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)

at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)

at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)

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:597)

at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)

at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)

at org.eclipse.equinox.launcher.Main.run(Main.java:1407)


你可能感兴趣的:(Eclipse Helios - “java.lang.RuntimeException: Widget disposed too early!”)