XMLModelUpdater.changeStructuredDocumentRegion中的StackOverflowError

时间:2011-07-12 18:52:29

标签: eclipse editor stack-overflow unhandled

Eclipse每天都在尝试创建新文件时给我一个错误。弹出一个窗口说

未处理的事件循环异常 java.lang.StackOverflowError的

当我打开日志中的错误时,它会显示:

java.lang.StackOverflowError
    at org.eclipse.wst.xml.core.internal.document.StructuredDocumentRegionProxy.setStructuredDocumentRegion(StructuredDocumentRegionProxy.java:338)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:423)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)
    at org.eclipse.wst.xml.core.internal.document.XMLModelUpdater.changeStructuredDocumentRegion(XMLModelUpdater.java:440)

此外,在错误日志中,我看到标题为“无法创建编辑器ID org.eclipse.jdt.ui.CompilationUnitEditor:该文件不存在”。 点击它,我得到:

org.eclipse.core.runtime.CoreException: The file does not exist.
at org.eclipse.core.internal.filebuffers.ResourceFileBuffer.create(ResourceFileBuffer.java:237)
at org.eclipse.core.internal.filebuffers.TextFileBufferManager.connect(TextFileBufferManager.java:112)
at org.eclipse.ui.editors.text.TextFileDocumentProvider.createFileInfo(TextFileDocumentProvider.java:559)
at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.createFileInfo(CompilationUnitDocumentProvider.java:979)
at org.eclipse.ui.editors.text.TextFileDocumentProvider.connect(TextFileDocumentProvider.java:478)
at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.connect(CompilationUnitDocumentProvider.java:1243)
at org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:4213)
at org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:237)
at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1451)
at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.internalDoSetInput(JavaEditor.java:2563)
at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.doSetInput(JavaEditor.java:2536)
at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSetInput(CompilationUnitEditor.java:1395)
at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3200)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)
at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2642)
at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3218)
at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3245)
at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:828)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:647)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
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:1245)
at org.eclipse.ui.internal.PartStack.handleDeferredEvents(PartStack.java:1213)
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:1495)
at org.eclipse.ui.internal.WorkbenchPage.deferUpdates(WorkbenchPage.java:1485)
at org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java:1459)
at org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java:1514)
at org.eclipse.ui.internal.EditorPane.doHide(EditorPane.java:61)
at org.eclipse.ui.internal.PartStack.close(PartStack.java:537)
at org.eclipse.ui.internal.EditorStack.close(EditorStack.java:206)
at org.eclipse.ui.internal.PartStack$1.close(PartStack.java:120)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:83)
at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:269)
at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:278)
at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.access$1(DefaultTabFolder.java:1)
at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder$1.closeButtonPressed(DefaultTabFolder.java:71)
at org.eclipse.ui.internal.presentations.PaneFolder.notifyCloseListeners(PaneFolder.java:631)
at org.eclipse.ui.internal.presentations.PaneFolder$3.close(PaneFolder.java:206)
at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1598)
at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:261)
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.Display.runDeferredEvents(Display.java:4165)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
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:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
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:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)

而且,每当我最终关闭eclipse时,我得到这个: http://img94.imageshack.us/img94/3204/eclipseerror.jpg

感谢任何和所有帮助!谢谢。

1 个答案:

答案 0 :(得分:0)

StackOverflowError几乎总是由无限递归引起的。换句话说,一个bug。增加可用堆空间不会修复它。

我更新了问题标题,让知道此代码的人更有可能看到并提供明确的答案。没有,你应该打开一个错误:

https://bugs.eclipse.org/bugs/enter_bug.cgi?classification=WebTools

确保包含您正在使用的Eclipse版本以及导致StackOverflowError的操作的信息。专注于StackOverflowError,因为第二个异常可能是由它引起的。由于超出堆栈深度限制,JVM中止代码时会发生错误。