Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 61865

Summary: [implementation] Eclipse latest build integration build 20040506 OutOfMemory Problem
Product: [Eclipse Project] Platform Reporter: Mike Han <hanys>
Component: TextAssignee: Christof Marti <christof_marti>
Status: RESOLVED FIXED QA Contact:
Severity: critical    
Priority: P3 CC: Mike_Wilson
Version: 3.0   
Target Milestone: 3.0   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Mike Han CLA 2004-05-12 05:12:20 EDT
Hi,

Recently i noticed a super slow down in performance when trying to open even a 
single file. The fact is that I do have a few projects, but i just don't see 
why it's performance should slow down when trying to open a file? Below are the 
memory dumps gotten today showing OOM.

MESSAGE Bundle update@/m:/eclipse/plugins/org.eclipse.v4all_2.1.1.9/ [128] was 
not resolved.
!SUBENTRY 1 org.eclipse.osgi May 12, 2004 12:33:32.911
!MESSAGE Missing required bundle org.apache.xerces_null,null.
!ENTRY org.eclipse.ui 4 4 May 12, 2004 17:49:39.474
!MESSAGE Unhandled event loop exception
!ENTRY org.eclipse.ui 4 0 May 12, 2004 17:49:39.634
!MESSAGE unable to create new native thread
!STACK 0
java.lang.OutOfMemoryError: unable to create new native thread
	at java.lang.Thread.start(Native Method)
	at 
org.eclipse.jface.text.reconciler.AbstractReconciler.startReconciling
(AbstractReconciler.java:507)
	at 
org.eclipse.jface.text.reconciler.AbstractReconciler$Listener.inputDocumentChang
ed(AbstractReconciler.java:280)
	at org.eclipse.jface.text.TextViewer.fireInputDocumentChanged
(TextViewer.java:2297)
	at org.eclipse.jface.text.TextViewer.setDocument(TextViewer.java:2346)
	at org.eclipse.jface.text.source.SourceViewer.setDocument
(SourceViewer.java:454)
	at 
org.eclipse.jface.text.source.projection.ProjectionViewer.setDocument
(ProjectionViewer.java:258)
	at org.eclipse.jface.text.source.SourceViewer.setDocument
(SourceViewer.java:414)
	at org.eclipse.ui.texteditor.AbstractTextEditor.initializeSourceViewer
(AbstractTextEditor.java:2577)
	at org.eclipse.ui.texteditor.AbstractTextEditor.createPartControl
(AbstractTextEditor.java:2348)
	at org.eclipse.ui.texteditor.StatusTextEditor.createPartControl
(StatusTextEditor.java:53)
	at 
org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.createPartControl
(AbstractDecoratedTextEditor.java:279)
	at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.createPartControl
(JavaEditor.java:3257)
	at 
org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.createPartControl
(CompilationUnitEditor.java:1594)
	at org.eclipse.ui.internal.PartPane$1.run(PartPane.java:93)
	at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:604)
	at org.eclipse.core.runtime.Platform.run(Platform.java:545)
	at org.eclipse.ui.internal.PartPane.createChildControl
(PartPane.java:89)
	at org.eclipse.ui.internal.PartPane.createControl(PartPane.java:150)
	at org.eclipse.ui.internal.PartStack.refreshPresentationSelection
(PartStack.java:659)
	at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:649)
	at org.eclipse.ui.internal.EditorWorkbook.setSelection
(EditorWorkbook.java:131)
	at org.eclipse.ui.internal.EditorWorkbook.setVisibleEditor
(EditorWorkbook.java:232)
	at org.eclipse.ui.internal.EditorPresentation.setVisibleEditor
(EditorPresentation.java:287)
	at org.eclipse.ui.internal.EditorPresentation.openEditor
(EditorPresentation.java:227)
	at org.eclipse.ui.internal.EditorManager$2.run(EditorManager.java:550)
	at org.eclipse.swt.custom.BusyIndicator.showWhile
(BusyIndicator.java:84)
	at org.eclipse.ui.internal.EditorManager.createEditorTab
(EditorManager.java:539)
	at org.eclipse.ui.internal.EditorManager.openInternalEditor
(EditorManager.java:635)
	at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor
(EditorManager.java:438)
	at org.eclipse.ui.internal.EditorManager.openEditor
(EditorManager.java:426)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor
(WorkbenchPage.java:2146)
	at org.eclipse.ui.internal.WorkbenchPage.access$6
(WorkbenchPage.java:2089)
	at org.eclipse.ui.internal.WorkbenchPage$9.run
(WorkbenchPage.java:2076)
	at org.eclipse.swt.custom.BusyIndicator.showWhile
(BusyIndicator.java:84)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor
(WorkbenchPage.java:2071)
	at org.eclipse.ui.ide.IDE.openEditor(IDE.java:265)
	at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor
(EditorUtility.java:137)
	at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor
(EditorUtility.java:115)
	at org.eclipse.jdt.internal.ui.actions.OpenActionUtil.open
(OpenActionUtil.java:49)
	at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:161)
	at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:147)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun
(SelectionDispatchAction.java:212)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run
(SelectionDispatchAction.java:188)
	at 
org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen
(PackageExplorerActionGroup.java:327)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$4.open
(PackageExplorerPart.java:302)
	at org.eclipse.jface.viewers.StructuredViewer$2.run
(StructuredViewer.java:400)
	at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:604)
	at org.eclipse.core.runtime.Platform.run(Platform.java:545)
	at org.eclipse.jface.viewers.StructuredViewer.fireOpen
(StructuredViewer.java:398)
	at org.eclipse.jface.viewers.StructuredViewer.handleOpen
(StructuredViewer.java:596)
	at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen
(StructuredViewer.java:685)
	at org.eclipse.jface.util.OpenStrategy.fireOpenEvent
(OpenStrategy.java:211)
	at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:206)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent
(OpenStrategy.java:238)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796)
	at org.eclipse.swt.widgets.Display.runDeferredEvents
(Display.java:2594)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2272)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1353)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1324)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:243)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench
(PlatformUI.java:140)
	at org.eclipse.ui.internal.ide.IDEApplication.run
(IDEApplication.java:90)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run
(PlatformActivator.java:283)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:242)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:119)
	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:324)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:269)
	at org.eclipse.core.launcher.Main.run(Main.java:700)
	at org.eclipse.core.launcher.Main.main(Main.java:684)
!ENTRY org.eclipse.osgi May 12, 2004 17:49:40.105
!MESSAGE Application error
!STACK 1
java.lang.VerifyError: (class: org/eclipse/ui/internal/Workbench$11, method: 
run signature: ()V) Out Of Memory
	at org.eclipse.ui.internal.Workbench.saveAllEditors
(Workbench.java:472)
	at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:398)
	at org.eclipse.ui.internal.Workbench.access$8(Workbench.java:389)
	at org.eclipse.ui.internal.Workbench$12.run(Workbench.java:561)
	at org.eclipse.swt.custom.BusyIndicator.showWhile
(BusyIndicator.java:84)
	at org.eclipse.ui.internal.Workbench.close(Workbench.java:559)
	at org.eclipse.ui.internal.WorkbenchConfigurer.emergencyClose
(WorkbenchConfigurer.java:150)
	at org.eclipse.ui.internal.ide.IDEExceptionHandler.closeWorkbench
(IDEExceptionHandler.java:104)
	at org.eclipse.ui.internal.ide.IDEExceptionHandler.handleException
(IDEExceptionHandler.java:84)
	at org.eclipse.ui.internal.ide.IDEWorkbenchAdvisor.eventLoopException
(IDEWorkbenchAdvisor.java:241)
	at org.eclipse.ui.internal.ExceptionHandler.handleException
(ExceptionHandler.java:53)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1357)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1324)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:243)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench
(PlatformUI.java:140)
	at org.eclipse.ui.internal.ide.IDEApplication.run
(IDEApplication.java:90)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run
(PlatformActivator.java:283)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:242)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:119)
	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:324)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:269)
	at org.eclipse.core.launcher.Main.run(Main.java:700)
	at org.eclipse.core.launcher.Main.main(Main.java:684)
t

Thanks
Comment 1 Mike Wilson CLA 2004-05-12 09:16:37 EDT
Moving to text component for consideration. I am on CC list so I will track this as well.
Comment 2 Dani Megert CLA 2004-05-12 09:55:20 EDT
see bug 61446, comment 14
Comment 3 Dani Megert CLA 2004-05-12 09:56:04 EDT
see bug 61446, comment 14
Comment 4 Dani Megert CLA 2004-05-17 05:33:24 EDT
Closing as duplicate. The place where a OOME happens is not necessarily the leak.

*** This bug has been marked as a duplicate of 59571 ***
Comment 5 Stefan Xenos CLA 2004-05-17 15:39:12 EDT
Bug 59571 reports a small resource leak that occurs each time the editor area is
split/unsplit. Reading the bug reports, there is no indication that this would
cause an OOME.
Comment 6 Mike Han CLA 2004-05-17 19:52:32 EDT
The latest build shows a significant increase in performance. No OOME has been 
found till now. I have no objection if this bug is to be closed.
Comment 7 Dani Megert CLA 2004-05-18 03:14:10 EDT
Christof, please check
- that we do not leak editors (text and CU editor)
- whether editor presentation holds on to text instances
Comment 8 Christof Marti CLA 2004-05-18 04:34:33 EDT
I200405171219

Looks ok. However, there are two pending PRs with leaking Java editors:

See bug 62323: Editor leak by PopupInspectAction
and bug 62321: [EditorMgmt] Editor leak by listeners

Closing