Community
Participate
Working Groups
Build 20040413 After some development, I ususally find the editor slowing down signicantly to the point the IDE becomes unusable. There must be some combination of memory leaking as well, as the VM stack grows dangerously as well. Even if I do nothing, the CPU goes to 100% for minutes. Here are dumps of activity... Full thread dump Java HotSpot(TM) Client VM (1.4.2_02-b03 mixed mode): "Text Viewer Hover Presenter" daemon prio=2 tid=0x21eb8868 nid=0x4a0 runnable [2c03f000..2c03fd88] at org.eclipse.jdt.internal.compiler.ClassFile.completeCodeAttribute (ClassFile.java:1349) at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode (AbstractMethodDeclaration.java: at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode (AbstractMethodDeclaration.java: at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode (TypeDeclaration.java:550) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode (TypeDeclaration.java:607) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.generateCode (CompilationUnitDeclaration.jav at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:587) at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process (CompilationUnitProblemFinder.java:175) at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure (CompilationUnit.java:145) at org.eclipse.jdt.internal.core.Openable.generateInfos (Openable.java:183) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed (JavaElement.java:543) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo (JavaElement.java:280) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo (JavaElement.java:266) at org.eclipse.jdt.internal.core.Openable.getBuffer(Openable.java:210) at org.eclipse.jdt.internal.core.Openable.codeSelect(Openable.java:132) at org.eclipse.jdt.internal.core.CompilationUnit.codeSelect (CompilationUnit.java:299) at org.eclipse.jdt.internal.core.CompilationUnit.codeSelect (CompilationUnit.java:293) at org.eclipse.jdt.internal.ui.text.java.hover.AbstractJavaEditorTextHover.getHover Info(AbstractJavaEditorTextH - locked <0x1696d288> (a org.eclipse.jdt.internal.core.CompilationUnit) at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo (BestMatchHover.java:102) at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInf o(JavaEditorTextHoverProxy.j at org.eclipse.jface.text.TextViewerHoverManager$4.run (TextViewerHoverManager.java:161) "All Types Caching" daemon prio=4 tid=0x22fcc548 nid=0x5f4 runnable [2bf3f000..2bf3fd88] at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:106) at org.eclipse.jdt.internal.core.index.DiskIndex.readDocumentNumbers (DiskIndex.java:614) - locked <0x1262f780> (a org.eclipse.jdt.internal.core.index.DiskIndex) at org.eclipse.jdt.internal.core.index.EntryResult.getDocumentNames (EntryResult.java:49) at org.eclipse.jdt.internal.core.search.pattern.InternalSearchPattern.findIndexMatc hes(InternalSearchPattern.ja at org.eclipse.jdt.internal.core.search.PatternSearchJob.search (PatternSearchJob.java:106) at org.eclipse.jdt.internal.core.search.PatternSearchJob.execute (PatternSearchJob.java:63) at org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob (JobManager.java:257) at org.eclipse.jdt.core.search.SearchEngine.searchAllTypeNames (SearchEngine.java:848) at org.eclipse.jdt.internal.corext.util.AllTypesCache.search (AllTypesCache.java:496) at org.eclipse.jdt.internal.corext.util.AllTypesCache$TypeCacher.doSearchTypes (AllTypesCache.java:180) at org.eclipse.jdt.internal.corext.util.AllTypesCache$TypeCacher.run (AllTypesCache.java:149) "Worker-82" prio=5 tid=0x22e0edf0 nid=0x75c in Object.wait() [2be3f000..2be3fd88] at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:189) - locked <0x11239318> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob (WorkerPool.java:215) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22d4c628 nid=0x574 runnable [2bb8f000..2bb8fd88] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x1c36c378> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "Worker-80" prio=5 tid=0x2306a5b0 nid=0x7c0 in Object.wait() [2ba8f000..2ba8fd88] at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:189) - locked <0x11239318> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob (WorkerPool.java:215) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22d13dd8 nid=0x76c runnable [2b87f000..2b87fd88] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x1bad56c0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22e0e968 nid=0x668 waiting for monitor entry [2b6 at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile (JavaReconcilingStrategy.java:84) - waiting to lock <0x1696d288> (a org.eclipse.jdt.internal.core.CompilationUnit) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile (JavaReconcilingStrategy.java:118) at org.eclipse.jface.text.reconciler.CompositeReconcilingStrategy.reconcile (CompositeReconcilingStrategy.java:8 at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile (JavaCompositeReconcilingStrategy at org.eclipse.jface.text.reconciler.MonoReconciler.process (MonoReconciler.java:76) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:189) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22e78d38 nid=0x7a8 runnable [2b55f000..2b55fd88] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x1b4efb38> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22debb20 nid=0x7d0 runnable [29cef000..29cefd88] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x1a03f0b0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22fb1008 nid=0x768 runnable [28f2f000..28f2fd88] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x18ce6290> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22d892d0 nid=0x7a0 runnable [2876f000..2876fd88] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x17bb4ba8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22e78f30 nid=0x548 runnable [275df000..275dfd88] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x17832a00> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22c8ee90 nid=0x6cc runnable [26aaf000..26aafd88] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x16ae5a50> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22fa0e18 nid=0x748 runnable [2676f000..2676fd88] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x16a31ec8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22c47250 nid=0x688 waiting for monitor entry [266 at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile (JavaReconcilingStrategy.java:84) - waiting to lock <0x1696d288> (a org.eclipse.jdt.internal.core.CompilationUnit) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile (JavaReconcilingStrategy.java:118) at org.eclipse.jface.text.reconciler.CompositeReconcilingStrategy.reconcile (CompositeReconcilingStrategy.java:8 at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile (JavaCompositeReconcilingStrategy at org.eclipse.jface.text.reconciler.MonoReconciler.process (MonoReconciler.java:76) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:189) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22c72258 nid=0x6e8 runnable [264ef000..264efd88] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x16757b10> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22c65a80 nid=0x660 runnable [25eef000..25eefd88] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x159460e8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x21c69ab0 nid=0x700 runnable [2240f000..2240fd88] at java.lang.Object.wait(Native Method) - waiting on <0x12087180> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x12087180> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "Java indexing" daemon prio=4 tid=0x21bafa88 nid=0x654 in Object.wait() [2220f000..2220fd88] at java.lang.Object.wait(Native Method) - waiting on <0x119da848> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager) at java.lang.Object.wait(Object.java:429) at org.eclipse.jdt.internal.core.search.processing.JobManager.run (JobManager.java:323) - locked <0x119da848> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager) at java.lang.Thread.run(Thread.java:534) "Start Level Event Dispatcher" daemon prio=5 tid=0x00966c10 nid=0x794 in Object.wait() [2143f000..2143fd88] at java.lang.Object.wait(Native Method) - waiting on <0x10fec308> (a org.eclipse.osgi.framework.eventmgr.EventThread) at java.lang.Object.wait(Object.java:429) at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent (EventThread.java:167) - locked <0x10fec308> (a org.eclipse.osgi.framework.eventmgr.EventThread) at org.eclipse.osgi.framework.eventmgr.EventThread.run (EventThread.java:118) "Framework Event Dispatcher" daemon prio=5 tid=0x2106dd90 nid=0x3c0 in Object.wait() [2133f000..2133fd88] at java.lang.Object.wait(Native Method) - waiting on <0x10fec388> (a org.eclipse.osgi.framework.eventmgr.EventThread) at java.lang.Object.wait(Object.java:429) at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent (EventThread.java:167) - locked <0x10fec388> (a org.eclipse.osgi.framework.eventmgr.EventThread) at org.eclipse.osgi.framework.eventmgr.EventThread.run (EventThread.java:118) "Signal Dispatcher" daemon prio=10 tid=0x009807f0 nid=0x7dc runnable [0..0] "Finalizer" daemon prio=9 tid=0x00970820 nid=0x6c0 in Object.wait() [20c2f000..20c2fd88] at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <0x10f7fee8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) "Reference Handler" daemon prio=10 tid=0x009714c0 nid=0x65c in Object.wait() [20b2f000..20b2fd88] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:429) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115) - locked <0x10f7ff50> (a java.lang.ref.Reference$Lock) "main" prio=7 tid=0x00235870 nid=0x754 runnable [6f000..6fc3c] at org.eclipse.swt.internal.win32.OS.WaitMessage(Native Method) at org.eclipse.swt.widgets.Display.sleep(Display.java:2888) at org.eclipse.ui.application.WorkbenchAdvisor.eventLoopIdle (WorkbenchAdvisor.java:335) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1437) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1407) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench (Workbench.java:244) 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:280) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:241) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:117) 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:267) at org.eclipse.core.launcher.Main.run(Main.java:692) at org.eclipse.core.launcher.Main.main(Main.java:676) "VM Thread" prio=5 tid=0x00922ab0 nid=0x3d4 runnable "VM Periodic Task Thread" prio=10 tid=0x00920610 nid=0x774 waiting on condition "Suspend Checker Thread" prio=10 tid=0x00972e48 nid=0x744 runnable
Full thread dump Java HotSpot(TM) Client VM (1.4.2_02-b03 mixed mode): "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22d4c628 nid=0x574 in Object.wait() [2bb8f000..2bb at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x1c3f9d30> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "Worker-80" prio=5 tid=0x2306a5b0 nid=0x7c0 in Object.wait() [2ba8f000..2ba8fd88] at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:189) - locked <0x11239318> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob (WorkerPool.java:215) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22d13dd8 nid=0x76c in Object.wait() [2b87f000..2b8 at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x1bb3e0e8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22e0e968 nid=0x668 in Object.wait() [2b66f000..2b6 at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x1b684148> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22e78d38 nid=0x7a8 in Object.wait() [2b55f000..2b5 at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x1b4f1c58> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22debb20 nid=0x7d0 in Object.wait() [29cef000..29c at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x1a0411d0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22fb1008 nid=0x768 in Object.wait() [28f2f000..28f at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x18ce83b0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22d892d0 nid=0x7a0 in Object.wait() [2876f000..287 at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x17bb6cc8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22e78f30 nid=0x548 runnable [275df000..275dfd88] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x17834b20> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22c8ee90 nid=0x6cc runnable [26aaf000..26aafd88] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x16ae6188> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22fa0e18 nid=0x748 runnable [2676f000..2676fd88] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x16a32600> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22c47250 nid=0x688 runnable [2665f000..2665fd88] at org.eclipse.jdt.internal.compiler.parser.Scanner.setSource (Scanner.java:3190) at org.eclipse.jdt.core.dom.ASTConverter.removeExtraBlanks (ASTConverter.java:3137) at org.eclipse.jdt.core.dom.ASTConverter.convertToParenthesizedExpression (ASTConverter.java:927) at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:818) at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1691) at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:909) at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:547) at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:573) at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:912) at org.eclipse.jdt.core.dom.ASTConverter.convertToVariableDeclarationFragment (ASTConverter.java:2710) at org.eclipse.jdt.core.dom.ASTConverter.convertToVariableDeclarationStatement (ASTConverter.java:2737) at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1758) at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:2042) at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1797) at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:758) at org.eclipse.jdt.core.dom.ASTConverter.buildBodyDeclarations (ASTConverter.java:330) at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:268) at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:146) at org.eclipse.jdt.core.dom.AST.convertCompilationUnit(AST.java:237) at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation (ReconcileWorkingCopyOperation.ja at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:700) at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation (JavaModelOperation.java:739) at org.eclipse.jdt.internal.core.CompilationUnit.reconcile (CompilationUnit.java:1080) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile (JavaReconcilingStrategy.java:85) - locked <0x1696d288> (a org.eclipse.jdt.internal.core.CompilationUnit) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile (JavaReconcilingStrategy.java:118) at org.eclipse.jface.text.reconciler.CompositeReconcilingStrategy.reconcile (CompositeReconcilingStrategy.java:83 at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile (JavaCompositeReconcilingStrategy. at org.eclipse.jface.text.reconciler.MonoReconciler.process (MonoReconciler.java:76) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:189) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22c72258 nid=0x6e8 runnable [264ef000..264efd88] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x16757b10> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x22c65a80 nid=0x660 runnable [25eef000..25eefd88] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x159460e8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x21c69ab0 nid=0x700 runnable [2240f000..2240fd88] at java.lang.Object.wait(Native Method) - waiting on <0x12087180> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x12087180> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "Java indexing" daemon prio=4 tid=0x21bafa88 nid=0x654 in Object.wait() [2220f000..2220fd88] at java.lang.Object.wait(Native Method) - waiting on <0x119da848> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager) at java.lang.Object.wait(Object.java:429) at org.eclipse.jdt.internal.core.search.processing.JobManager.run (JobManager.java:323) - locked <0x119da848> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager) at java.lang.Thread.run(Thread.java:534) "Start Level Event Dispatcher" daemon prio=5 tid=0x00966c10 nid=0x794 in Object.wait() [2143f000..2143fd88] at java.lang.Object.wait(Native Method) - waiting on <0x10fec308> (a org.eclipse.osgi.framework.eventmgr.EventThread) at java.lang.Object.wait(Object.java:429) at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent (EventThread.java:167) - locked <0x10fec308> (a org.eclipse.osgi.framework.eventmgr.EventThread) at org.eclipse.osgi.framework.eventmgr.EventThread.run (EventThread.java:118) "Framework Event Dispatcher" daemon prio=5 tid=0x2106dd90 nid=0x3c0 in Object.wait() [2133f000..2133fd88] at java.lang.Object.wait(Native Method) - waiting on <0x10fec388> (a org.eclipse.osgi.framework.eventmgr.EventThread) at java.lang.Object.wait(Object.java:429) at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent (EventThread.java:167) - locked <0x10fec388> (a org.eclipse.osgi.framework.eventmgr.EventThread) at org.eclipse.osgi.framework.eventmgr.EventThread.run (EventThread.java:118) "Signal Dispatcher" daemon prio=10 tid=0x009807f0 nid=0x7dc runnable [0..0] "Finalizer" daemon prio=9 tid=0x00970820 nid=0x6c0 in Object.wait() [20c2f000..20c2fd88] at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <0x10f7fee8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) "Reference Handler" daemon prio=10 tid=0x009714c0 nid=0x65c in Object.wait() [20b2f000..20b2fd88] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:429) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115) - locked <0x10f7ff50> (a java.lang.ref.Reference$Lock) "main" prio=7 tid=0x00235870 nid=0x754 runnable [6f000..6fc3c] at org.eclipse.swt.internal.win32.OS.WaitMessage(Native Method) at org.eclipse.swt.widgets.Display.sleep(Display.java:2888) at org.eclipse.ui.application.WorkbenchAdvisor.eventLoopIdle (WorkbenchAdvisor.java:335) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1437) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1407) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench (Workbench.java:244) 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:280) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:241) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:117) 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:267) at org.eclipse.core.launcher.Main.run(Main.java:692) at org.eclipse.core.launcher.Main.main(Main.java:676) "VM Thread" prio=5 tid=0x00922ab0 nid=0x3d4 runnable "VM Periodic Task Thread" prio=10 tid=0x00920610 nid=0x774 waiting on condition "Suspend Checker Thread" prio=10 tid=0x00972e48 nid=0x744 runnable
I am running on top of jdk1.4.2 with -Xmx200Mb.
Trace one: text Viewer Hover Presenter & All Types Cache active Trace two: org.eclipse.jdt.internal.ui.text.JavaReconciler active. Moving to text for comments.
...
Most likely memory leak: I get > 400Mb in half a day with recent builds.
Dirk found out that the all types cache is much bigger. He's looking into that.
This may be caused by a leak in progress monitor. See bug 58788
Just wanted to mention that both dumps were triggered while waiting for editor to recover (as it was frozen for a long time, no longer reacting to my input).
Philippe, do you still see this.
Adding my name to the cc list as we are now tracking performance issues more closely. Please remove the performance keyword if this is not a performance bug.
*ping* Philippe, is this still happening to you?
Haven't seen it in the past months (given it is a year old)
Marking as WORKSFORME.