Eclipse Helios - "java.lang.RuntimeException: Виджет удален слишком рано!" - PullRequest
2 голосов
/ 24 марта 2011

Привет Я использую Eclipse Helios на Win XP.
Когда я запускаю его сегодня, я получаю сообщение о том, что Eclipse не может быть запущен.

Вот содержимое файла журнала, который был сгенерирован:

!SESSION 2011-03-24 19:28:51.296 -----------------------------------------------
eclipse.buildId=M20100909-0800
java.version=1.6.0_22
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=iw_IL
Framework arguments:  -product org.eclipse.epp.package.java.product
Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.java.product


!ENTRY org.eclipse.core.resources 2 10035 2011-03-24 19:28:52.609
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
!ENTRY org.eclipse.ui.workbench 4 0 2011-03-24 19:29:02.281
!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)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1383)


!ENTRY org.eclipse.osgi 4 0 2011-03-24 19:29:02.812
!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.internal.ImageList.copyWithAlpha(ImageList.java:175)
    at org.eclipse.swt.internal.ImageList.set(ImageList.java:405)
    at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
    at org.eclipse.swt.widgets.ToolItem.updateImages(ToolItem.java:935)
    at org.eclipse.swt.widgets.ToolItem.setImage(ToolItem.java:708)
    at org.eclipse.ui.internal.PerspectiveBarContributionItem.fill(PerspectiveBarContributionItem.java:87)
    at org.eclipse.jface.action.ToolBarManager.update(ToolBarManager.java:353)
    at org.eclipse.ui.internal.PerspectiveBarManager.addItem(PerspectiveBarManager.java:189)
    at org.eclipse.ui.internal.PerspectiveSwitcher.addPerspectiveShortcut(PerspectiveSwitcher.java:262)
    at org.eclipse.ui.internal.PerspectiveSwitcher.access$1(PerspectiveSwitcher.java:254)
    at org.eclipse.ui.internal.PerspectiveSwitcher$ChangeListener.perspectiveOpened(PerspectiveSwitcher.java:163)
    at org.eclipse.ui.internal.PerspectiveListenerList$7.run(PerspectiveListenerList.java:192)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.runtime.Platform.run(Platform.java:888)
    at org.eclipse.ui.internal.PerspectiveListenerList.fireEvent(PerspectiveListenerList.java:58)
    at org.eclipse.ui.internal.PerspectiveListenerList.firePerspectiveOpened(PerspectiveListenerList.java:190)
    at org.eclipse.ui.internal.WorkbenchWindow.firePerspectiveOpened(WorkbenchWindow.java:1499)
    at org.eclipse.ui.internal.WorkbenchPage$17.runWithException(WorkbenchPage.java:3222)
    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)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1383)

Есть идеи, как ее решить?

Спасибо

Авишай

Ответы [ 5 ]

2 голосов
/ 12 сентября 2012

Эта проблема возникает в версиях среды выполнения XUL Runner, выпущенных позднее 1.9.0.x, например, версия 1.9.1.

Вы можете определить настроенную версию среды выполнения XUL Runner, выполнив следующую команду:

xulrunner -v

Редактировать файл eclipse.ini. Найдите строку -vmargs и добавьте новую строку, чтобы указать версию среды выполнения XUL Runner, используя этот синтаксис:

-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner-1.9.x.x
1 голос
/ 01 августа 2012

Для меня увеличение --launcher.XXMaxPermSize 256m до 512m в eclipse.ini сработало.Эта проблема возникла, когда Eclipse был загружен множеством плагинов и функций, из-за чего Eclipse требовалось дополнительное пространство при загрузке этих новых плагинов / функций во время запуска.

0 голосов
/ 11 января 2014
  1. backup ".. \. Metadata.plugins \ org.eclipse.core.resources" forler
  2. empty ".. \. Metadata.plugins \ org.eclipse.core.resources \.safetable \ org.eclipse.core.resources "file
  3. Запустите Flex.Ваш список проектов будет пустым
  4. закрыть Flex
  5. восстановить папку ".. \. Metadata.plugins \ org.eclipse.core.resources" (перезаписать все)
  6. runFlex.
0 голосов
/ 24 марта 2011

Получаете ли вы:

org.eclipse.swt.SWTError: No more handles

Каждый раз, когда начинаете?Это означает, что в Eclipse заканчиваются ресурсы операционной системы. У вас есть много других открытых приложений?Попробуйте завершить работу некоторых других приложений, которые у вас работают.

Если у вас не запущено много других приложений, возможно, вы захотите рассмотреть использование Sleak - подключаемого модуля eclipse, который отслеживает использование RCP затмений и затмений.

Используете ли вы простой Eclipse, или вы установили много плагинов?Я был бы очень удивлен, если у ванильного Eclipse закончились ручки ... скорее всего, это вызвано плагином (по моему опыту в любом случае).

0 голосов
/ 24 марта 2011

Все ошибки, сообщающие о такого рода сообщениях (например, ошибка 260772 или ошибка 239681 ), упоминают XulRunner : вы бы не стали недавно установили?

Eclipse / SWT 3.4 поддерживает любые mozilla / seamonkey / xulrunner / firefox-iff-динамически связаны> = mozilla 1.4.

Начиная с FireFox3, частный xulrunner поставляется с FireFox для его использования, однако это не полная установка, на которую можно указать браузер независимо от FireFox, с которым он поставляется.
Но если FireFox динамически связан, то браузер может использовать его (FireFox), и тот факт, что FireFox использует частный xulrunner для своей работы, является просто детали реализации, о которых браузер не знает / не заботится.

Если у вас установлен xulrunner 1.9 ~ b5 + nobinonly-0ubuntu3 - тогда Eclipse 3.4 не работает - и, похоже, не имеет значения, какие версии FireFox вы устанавливаете или удаляете


Другая причина связана с некоторым повреждением рабочего пространства, которое может объяснить, почему OP balderman комментирует:

Я нашел способ начать затмение, закомментировав строку: RECENT_WORKSPACES=bla bla в файле org.eclipse.ui.ide.prefs: как вопрос " Как удалить устаревшее рабочее пространство в RAD? ", что не фактически удалить рабочее пространство, но позволяет пропустить то, что может иметь какую-то проблему с повреждением.

...