標籤:style blog http io ar os sp java for
以前從沒遇到過這種問題,發現自重裝系統後,就開始觸發這個bug了.
從error-log等視圖裡點擊開啟的java檔案或者xml檔案時,出現”unhandled event loop exception”錯誤,出錯資訊如下:
Exception Stack Trace:org.eclipse.swt.SWTError: No more handlesat org.eclipse.swt.SWT.error(SWT.java:4387)at org.eclipse.swt.SWT.error(SWT.java:4276)at org.eclipse.swt.SWT.error(SWT.java:4247)at org.eclipse.swt.widgets.Widget.error(Widget.java:468)at org.eclipse.swt.widgets.Control.createHandle(Control.java:704)at org.eclipse.swt.widgets.Label.createHandle(Label.java:199)at org.eclipse.swt.widgets.Control.createWidget(Control.java:744)at org.eclipse.swt.widgets.Control.<init>(Control.java:112)at org.eclipse.swt.widgets.Label.<init>(Label.java:101)at org.eclipse.ui.texteditor.StatusLineContributionItem.fill(StatusLineContributionItem.java:182)at org.eclipse.jface.action.SubContributionItem.fill(SubContributionItem.java:59)at org.eclipse.jface.action.StatusLineManager.update(StatusLineManager.java:327)at org.eclipse.ui.internal.WorkbenchPage.updateActivations(WorkbenchPage.java:265)at org.eclipse.ui.internal.WorkbenchPage.access$15(WorkbenchPage.java:243)at org.eclipse.ui.internal.WorkbenchPage$E4PartListener.partActivated(WorkbenchPage.java:172)at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$2.run(PartServiceImpl.java:193)at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.firePartActivated(PartServiceImpl.java:191)at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:596)at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:549)at org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer.activate(AbstractPartRenderer.java:105)at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer$1.handleEvent(ContributedPartRenderer.java:61)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.Shell.setActiveControl(Shell.java:1447)at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:2328)at org.eclipse.swt.widgets.Control.windowProc(Control.java:4572)at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341)at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1627)at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2069)at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341)at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341)at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:3129)at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3753)at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053)at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942)at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588)at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)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:353)at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)at org.eclipse.equinox.launcher.Main.run(Main.java:1438)at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
我的解決過程:網上搜尋後找到這個.
解決方案: 重裝了下jdk(沒有重啟機器)還是無效.然後,修改了workspace,重啟機器,ok.發現,很多問題都可以通過修改workspace來解決,建議一個工程一個workspace. 上述方法無效!! Google下發現好像是開啟.java的預設編輯器在win7x64位的筆記本上有問題,解決方案:help->install new software,從http://download.eclipse.org/windowbuilder/WB/release/R201309271200/4.3下載windowbuilder,並把其設定為預設的.java編輯器。重啟Eclipse後切換回.java檔案時不出bug了,但是切換回.xml檔案還是會觸發這個bug。
最後的終極解決方案:更新 Win7 ! ok,問題解決!
(windows update了下win7,搞定!!所以:直接進行windows update,安裝關於security的補丁!)
Eclipse的 "Unhandled event loop exception" 問題解決方案