Bug 120419 - Code Assist has very slow response with Default Package
Summary: Code Assist has very slow response with Default Package
Status: RESOLVED INVALID
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.1.1   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: JDT-Core-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2005-12-12 13:29 EST by Bryan Schmidt CLA
Modified: 2009-08-30 02:08 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bryan Schmidt CLA 2005-12-12 13:29:36 EST
With a large java project (~500 files), code assist behaves abnormally slow when applied on .java files that are inside a (default package).  With .java files that declare a package, code assist works normally.
Comment 1 Dani Megert CLA 2005-12-12 13:33:39 EST
Which build?
Please provide numbers for "abnormally".
Comment 2 Dani Megert CLA 2005-12-12 13:34:23 EST
Tom, I assume we're not involved here.
Comment 3 Bryan Schmidt CLA 2005-12-12 15:03:44 EST
I apologize, I am new to bugzilla:

Version: 3.1.1
Build id: M20050929-0840

'Abnormally slow' means a 5 to 10 second delay.
Comment 4 David Audel CLA 2005-12-14 11:23:00 EST
I fail to reproduce the problem.

Could you give me more detail to reproduce it or a test case ?
How many classes are in the default package ?
Is it occur for all kinds of completions or only for some specific cases ? (only when completing a type or only when completins a method declaration or ...)
Comment 5 Bryan Schmidt CLA 2005-12-16 10:18:12 EST
Note: Given the same project, the problem does *not* occur in Eclipse:
Version: 3.0.2
Build id: 200503110845

I am running WinXP Sp2 (all updates) with j2sdk1.4.2_10.  The problem occurs in any java file in any (default package).  However, the problem seems to be more evident the larger the file.  

The problem can be reproduced by using code assist on pretty much any type... this., String., class., etc... even unknowns cause the probem (i.e. adsfasdfas.)

It is also worth mentioning that until the code assist process is complete, Eclipse seems to stall out (the cursor stops blinking).
Comment 6 David Audel CLA 2005-12-16 11:01:29 EST
I cannot reproduce the problem. The problem is probably due to something specific in your project or eclipse configuration.

When you reproduce the problem could you do a thread dump and add it to this bug report ? With this thread dump i could see where the time is spend.

Another solution would be to give me the offending project if you can.



Comment 7 Bryan Schmidt CLA 2005-12-16 13:46:55 EST
Unfortunately, I cannot send you the project.  Instead, here is a thread dump:

Full thread dump Java HotSpot(TM) Client VM (1.4.2_10-b03 mixed mode):

"Stack Trace Remote Thread" prio=5 tid=0x031c3b80 nid=0x9d8 waiting on condition [0..4c5fb7c]

"Worker-5" prio=5 tid=0x03399d50 nid=0x8ec in Object.wait() [439f000..439fd68]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x1158af68> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
	- locked <0x1158af68> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:205)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:69)

"Worker-4" prio=5 tid=0x033544b8 nid=0x17c in Object.wait() [401f000..401fd68]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x1158af68> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
	- locked <0x1158af68> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:205)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:69)

"Worker-3" prio=5 tid=0x03379d98 nid=0xaa0 in Object.wait() [3fdf000..3fdfd68]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x1158af68> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
	- locked <0x1158af68> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:205)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:69)

"Worker-2" prio=5 tid=0x033b6098 nid=0x92c in Object.wait() [3f9f000..3f9fd68]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x1158af68> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
	- locked <0x1158af68> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:205)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:69)

"Worker-1" prio=5 tid=0x02db43f8 nid=0xfc0 in Object.wait() [3f5f000..3f5fd68]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x1158af68> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
	- locked <0x1158af68> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:205)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:69)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x00a37658 nid=0xd24 in Object.wait() [3dbf000..3dbfd68]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x11b1f710> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
	at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:176)
	- locked <0x11b1f710> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Java indexing" daemon prio=4 tid=0x030c2ff8 nid=0xeb0 in Object.wait() [3d6f000..3d6fd68]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x119cbf38> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
	at java.lang.Object.wait(Unknown Source)
	at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:349)
	- locked <0x119cbf38> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
	at java.lang.Thread.run(Unknown Source)

"Worker-0" prio=5 tid=0x030947f0 nid=0x4d8 in Object.wait() [393f000..393fd68]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x1158af68> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
	- locked <0x1158af68> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:205)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:69)

"Start Level Event Dispatcher" daemon prio=5 tid=0x00a07b38 nid=0xc78 in Object.wait() [305f000..305fd68]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x113e71f8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(Unknown Source)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:349)
	- locked <0x113e71f8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:287)

"Framework Event Dispatcher" daemon prio=5 tid=0x02e28738 nid=0xc40 in Object.wait() [301f000..301fd68]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x113e7248> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(Unknown Source)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:349)
	- locked <0x113e7248> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:287)

"State Data Manager" daemon prio=5 tid=0x02e2ed20 nid=0x380 waiting on condition [2fdf000..2fdfd68]
	at java.lang.Thread.sleep(Native Method)
	at org.eclipse.osgi.framework.adaptor.core.StateManager.run(StateManager.java:289)
	at java.lang.Thread.run(Unknown Source)

"Signal Dispatcher" daemon prio=10 tid=0x0098c268 nid=0xf00 runnable [0..0]

"Finalizer" daemon prio=9 tid=0x00989898 nid=0xd4 in Object.wait() [2c2f000..2c2fd68]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x113c02b0> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	- locked <0x113c02b0> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

"Reference Handler" daemon prio=10 tid=0x00988510 nid=0xb20 in Object.wait() [2bef000..2befd68]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x113c00c8> (a java.lang.ref.Reference$Lock)
	at java.lang.Object.wait(Unknown Source)
	at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
	- locked <0x113c00c8> (a java.lang.ref.Reference$Lock)

"main" prio=7 tid=0x00355d00 nid=0x538 runnable [6f000..6fc08]
	at org.eclipse.swt.internal.win32.OS.WaitMessage(Native Method)
	at org.eclipse.swt.widgets.Display.sleep(Display.java:3386)
	at org.eclipse.ui.application.WorkbenchAdvisor.eventLoopIdle(WorkbenchAdvisor.java:333)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1700)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
	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.core.launcher.Main.invokeFramework(Main.java:334)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
	at org.eclipse.core.launcher.Main.run(Main.java:973)
	at org.eclipse.core.launcher.Main.main(Main.java:948)

"VM Thread" prio=5 tid=0x009c76b0 nid=0xecc runnable 

"VM Periodic Task Thread" prio=10 tid=0x009c8958 nid=0x94c waiting on condition 
"Suspend Checker Thread" prio=10 tid=0x0098b7d0 nid=0xf68 runnable 
Comment 8 Bryan Schmidt CLA 2005-12-16 13:49:49 EST
Correction:  Here is the thread dump during the 'stall':

Full thread dump Java HotSpot(TM) Client VM (1.4.2_10-b03 mixed mode):

"Stack Trace Remote Thread" prio=5 tid=0x044a6008 nid=0xd94 runnable [0..401fb7c]

"AutoAssist Delay" prio=7 tid=0x0326a008 nid=0xc60 in Object.wait() [3d2f000..3d2fd68]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x122dc890> (a org.eclipse.swt.widgets.RunnableLock)
	at java.lang.Object.wait(Unknown Source)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:169)
	- locked <0x122dc890> (a org.eclipse.swt.widgets.RunnableLock)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:28)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:3413)
	at org.eclipse.jface.text.contentassist.ContentAssistant$AutoAssistListener.showAssist(ContentAssistant.java:324)
	at org.eclipse.jface.text.contentassist.ContentAssistant$AutoAssistListener.run(ContentAssistant.java:246)
	at java.lang.Thread.run(Unknown Source)

"Worker-1" prio=5 tid=0x02db43f8 nid=0xfc0 waiting for monitor entry [3f5e000..3f5fd68]
	at org.eclipse.jdt.internal.core.JavaModelManager.intern(JavaModelManager.java:1713)
	- waiting to lock <0x118c9bc0> (a org.eclipse.jdt.internal.core.JavaModelManager)
	at org.eclipse.jdt.internal.core.JarPackageFragmentRoot.initPackageFragToTypes(JarPackageFragmentRoot.java:249)
	at org.eclipse.jdt.internal.core.JarPackageFragmentRoot.computeChildren(JarPackageFragmentRoot.java:91)
	at org.eclipse.jdt.internal.core.PackageFragmentRoot.buildStructure(PackageFragmentRoot.java:174)
	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:233)
	at org.eclipse.jdt.internal.core.JarPackageFragment.generateInfos(JarPackageFragment.java:113)
	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:488)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:232)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:218)
	at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:173)
	at org.eclipse.jdt.internal.core.JavaElement.getChildrenOfType(JavaElement.java:187)
	at org.eclipse.jdt.internal.core.JarPackageFragment.getClassFiles(JarPackageFragment.java:120)
	at org.eclipse.jdt.internal.core.NameLookup.seekTypesInBinaryPackage(NameLookup.java:793)
	at org.eclipse.jdt.internal.core.NameLookup.seekTypes(NameLookup.java:769)
	at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:542)
	at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:501)
	at org.eclipse.jdt.internal.core.SearchableEnvironment.find(SearchableEnvironment.java:85)
	at org.eclipse.jdt.internal.core.SearchableEnvironment.findType(SearchableEnvironment.java:188)
	at org.eclipse.jdt.internal.core.CancelableNameEnvironment.findType(CancelableNameEnvironment.java:45)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:119)
	at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:178)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2438)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2177)
	at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBinding(SingleTypeReference.java:39)
	at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:124)
	at org.eclipse.jdt.internal.compiler.ast.Argument.resolveForCatch(Argument.java:101)
	at org.eclipse.jdt.internal.compiler.ast.TryStatement.resolve(TryStatement.java:517)
	at org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:101)
	at org.eclipse.jdt.internal.compiler.ast.ForStatement.resolve(ForStatement.java:303)
	at org.eclipse.jdt.internal.compiler.ast.Block.resolveUsing(Block.java:115)
	at org.eclipse.jdt.internal.compiler.ast.TryStatement.resolve(TryStatement.java:504)
	at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatements(AbstractMethodDeclaration.java:418)
	at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements(MethodDeclaration.java:178)
	at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:396)
	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1072)
	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1121)
	at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:305)
	at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:821)
	at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:498)
	at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:789)
	at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:588)
	at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:566)
	at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
	at org.eclipse.core.runtime.Platform.run(Platform.java:783)
	at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:563)
	at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:493)
	at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:165)
	at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$3.run(SelectionListenerWithASTManager.java:142)
	- locked <0x11a67e40> (a java.lang.Object)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:76)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x00a37658 nid=0xd24 runnable [3dbe000..3dbfd68]
	at java.util.zip.ZipFile.getNextEntry(Native Method)
	at java.util.zip.ZipFile.access$400(Unknown Source)
	at java.util.zip.ZipFile$2.nextElement(Unknown Source)
	- locked <0x12690930> (a java.util.zip.ZipFile)
	at org.eclipse.jdt.internal.core.JarPackageFragmentRoot.computeChildren(JarPackageFragmentRoot.java:86)
	at org.eclipse.jdt.internal.core.PackageFragmentRoot.buildStructure(PackageFragmentRoot.java:174)
	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:233)
	at org.eclipse.jdt.internal.core.JarPackageFragment.generateInfos(JarPackageFragment.java:113)
	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:488)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:232)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:218)
	at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:173)
	at org.eclipse.jdt.internal.core.JavaElement.getChildrenOfType(JavaElement.java:187)
	at org.eclipse.jdt.internal.core.JarPackageFragment.getClassFiles(JarPackageFragment.java:120)
	at org.eclipse.jdt.internal.core.NameLookup.seekTypesInBinaryPackage(NameLookup.java:793)
	at org.eclipse.jdt.internal.core.NameLookup.seekTypes(NameLookup.java:769)
	at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:542)
	at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:501)
	at org.eclipse.jdt.internal.core.SearchableEnvironment.find(SearchableEnvironment.java:85)
	at org.eclipse.jdt.internal.core.SearchableEnvironment.findType(SearchableEnvironment.java:188)
	at org.eclipse.jdt.internal.core.CancelableNameEnvironment.findType(CancelableNameEnvironment.java:45)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:119)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getType(LookupEnvironment.java:741)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getJavaLangObject(Scope.java:2040)
	at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectSuperclass(ClassScope.java:763)
	at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy(ClassScope.java:947)
	at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy(CompilationUnitScope.java:258)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:195)
	at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:556)
	at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:175)
	at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:156)
	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:233)
	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:488)
	at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:956)
	at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:61)
	at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:718)
	at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:777)
	at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1081)
	at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:98)
	- locked <0x11959270> (a org.eclipse.jdt.internal.core.CompilationUnit)
	at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
	at org.eclipse.core.runtime.Platform.run(Platform.java:783)
	at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:82)
	at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:147)
	at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
	at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:94)
	at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:75)
	at org.eclipse.jdt.internal.ui.text.JavaReconciler.process(JavaReconciler.java:339)
	- locked <0x1190fee0> (a java.lang.Object)
	at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:204)

"Java indexing" daemon prio=4 tid=0x030c2ff8 nid=0xeb0 in Object.wait() [3d6f000..3d6fd68]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x118d15a8> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
	at java.lang.Object.wait(Unknown Source)
	at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:349)
	- locked <0x118d15a8> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
	at java.lang.Thread.run(Unknown Source)

"Worker-0" prio=5 tid=0x030947f0 nid=0x4d8 in Object.wait() [393f000..393fd68]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x114e4ce8> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
	- locked <0x114e4ce8> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:205)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:69)

"Start Level Event Dispatcher" daemon prio=5 tid=0x00a07b38 nid=0xc78 in Object.wait() [305f000..305fd68]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x113e2278> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(Unknown Source)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:349)
	- locked <0x113e2278> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:287)

"Framework Event Dispatcher" daemon prio=5 tid=0x02e28738 nid=0xc40 in Object.wait() [301f000..301fd68]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x113e22c8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(Unknown Source)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:349)
	- locked <0x113e22c8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:287)

"State Data Manager" daemon prio=5 tid=0x02e2ed20 nid=0x380 waiting on condition [2fdf000..2fdfd68]
	at java.lang.Thread.sleep(Native Method)
	at org.eclipse.osgi.framework.adaptor.core.StateManager.run(StateManager.java:289)
	at java.lang.Thread.run(Unknown Source)

"Signal Dispatcher" daemon prio=10 tid=0x0098c268 nid=0xf00 runnable [0..0]

"Finalizer" daemon prio=9 tid=0x00989898 nid=0xd4 in Object.wait() [2c2f000..2c2fd68]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x113c02b0> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	- locked <0x113c02b0> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

"Reference Handler" daemon prio=10 tid=0x00988510 nid=0xb20 in Object.wait() [2bef000..2befd68]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x113c00c8> (a java.lang.ref.Reference$Lock)
	at java.lang.Object.wait(Unknown Source)
	at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
	- locked <0x113c00c8> (a java.lang.ref.Reference$Lock)

"main" prio=7 tid=0x00355d00 nid=0x538 runnable [6e000..6fc08]
	at org.eclipse.jdt.internal.core.JavaModelManager.removeInfoAndChildren(JavaModelManager.java:2077)
	- waiting to lock <0x118c9bc0> (a org.eclipse.jdt.internal.core.JavaModelManager)
	at org.eclipse.jdt.internal.core.JavaElement.close(JavaElement.java:75)
	at org.eclipse.jdt.internal.core.JavaModelManager.removeInfoAndChildren(JavaModelManager.java:2111)
	- locked <0x118c9bc0> (a org.eclipse.jdt.internal.core.JavaModelManager)
	at org.eclipse.jdt.internal.core.JavaElement.close(JavaElement.java:75)
	at org.eclipse.jdt.internal.core.JavaModelManager.removeInfoAndChildren(JavaModelManager.java:2111)
	- locked <0x118c9bc0> (a org.eclipse.jdt.internal.core.JavaModelManager)
	at org.eclipse.jdt.internal.core.JavaElement.close(JavaElement.java:75)
	at org.eclipse.jdt.internal.core.ElementCache.close(ElementCache.java:53)
	at org.eclipse.jdt.internal.core.OverflowingLRUCache.privateRemoveEntry(OverflowingLRUCache.java:295)
	at org.eclipse.jdt.internal.core.OverflowingLRUCache.makeSpace(OverflowingLRUCache.java:183)
	at org.eclipse.jdt.internal.core.OverflowingLRUCache.put(OverflowingLRUCache.java:362)
	at org.eclipse.jdt.internal.core.JavaModelCache.putInfo(JavaModelCache.java:128)
	at org.eclipse.jdt.internal.core.JavaModelManager.putInfos(JavaModelManager.java:1973)
	- locked <0x118c9bc0> (a org.eclipse.jdt.internal.core.JavaModelManager)
	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:502)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:232)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:218)
	at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:173)
	at org.eclipse.jdt.internal.core.JavaElement.getChildrenOfType(JavaElement.java:187)
	at org.eclipse.jdt.internal.core.JarPackageFragment.getClassFiles(JarPackageFragment.java:120)
	at org.eclipse.jdt.internal.core.NameLookup.seekTypesInBinaryPackage(NameLookup.java:793)
	at org.eclipse.jdt.internal.core.NameLookup.seekTypes(NameLookup.java:769)
	at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:542)
	at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:501)
	at org.eclipse.jdt.internal.core.SearchableEnvironment.find(SearchableEnvironment.java:85)
	at org.eclipse.jdt.internal.core.SearchableEnvironment.findType(SearchableEnvironment.java:188)
	at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:119)
	at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:178)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2438)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2177)
	at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBinding(SingleTypeReference.java:39)
	at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:124)
	at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypesFor(SourceTypeBinding.java:1248)
	at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.methods(SourceTypeBinding.java:1011)
	at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.faultInTypesForFieldsAndMethods(SourceTypeBinding.java:617)
	at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInTypes(CompilationUnitScope.java:397)
	at org.eclipse.jdt.internal.codeassist.CompletionEngine.complete(CompletionEngine.java:1513)
	at org.eclipse.jdt.internal.core.Openable.codeComplete(Openable.java:128)
	at org.eclipse.jdt.internal.core.CompilationUnit.codeComplete(CompilationUnit.java:301)
	at org.eclipse.jdt.internal.core.CompilationUnit.codeComplete(CompilationUnit.java:294)
	at org.eclipse.jdt.internal.ui.text.java.JavaCompletionProcessor.internalComputeCompletionProposals(JavaCompletionProcessor.java:336)
	at org.eclipse.jdt.internal.ui.text.java.JavaCompletionProcessor.computeCompletionProposals(JavaCompletionProcessor.java:313)
	at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssistant.java:1503)
	at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposalPopup.java:301)
	at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$13(CompletionProposalPopup.java:298)
	at org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java:261)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
	at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPopup.java:256)
	at org.eclipse.jface.text.contentassist.ContentAssistant$2.run(ContentAssistant.java:327)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
	- locked <0x122dc890> (a org.eclipse.swt.widgets.RunnableLock)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3057)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2716)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
	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.core.launcher.Main.invokeFramework(Main.java:334)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
	at org.eclipse.core.launcher.Main.run(Main.java:973)
	at org.eclipse.core.launcher.Main.main(Main.java:948)

"VM Thread" prio=5 tid=0x009c76b0 nid=0xecc runnable 

"VM Periodic Task Thread" prio=10 tid=0x009c8958 nid=0x94c waiting on condition 
"Suspend Checker Thread" prio=10 tid=0x0098b7d0 nid=0xf68 runnable 
Comment 9 Bryan Schmidt CLA 2005-12-20 11:25:57 EST
(In reply to comment #6)
> I cannot reproduce the problem. The problem is probably due to something
> specific in your project or eclipse configuration.
> When you reproduce the problem could you do a thread dump and add it to this
> bug report ? With this thread dump i could see where the time is spend.
> Another solution would be to give me the offending project if you can.

Any luck with the thread dump?
Comment 10 Jerome Lanneluc CLA 2006-02-16 04:32:22 EST
From the thread dump, it looks like a dup of bug 121652.
Can you please try with one of the latest integration builds (e.g. I20060216-0010) or with 3.2 M5 when it is available (end of the week) ?
Comment 11 David Audel CLA 2006-03-29 08:47:38 EST
i was never able to reproduce the problem and it's probably a duplicate of bug 121652.

If you can reproduce the problem with a recent build, reopen this bug.

Comment 12 Denis Roy CLA 2009-08-30 02:08:48 EDT
As of now 'LATER' and 'REMIND' resolutions are no longer supported.
Please reopen this bug if it is still valid for you.