Bug 44539 - [misc] Very slow switching between perspectives
Summary: [misc] Very slow switching between perspectives
Status: RESOLVED INVALID
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Text (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: JDT-Text-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2003-10-09 08:48 EDT by Jonathan Gossage CLA
Modified: 2007-06-22 10:04 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Gossage CLA 2003-10-09 08:48:16 EDT
I am having problems with very slow performance when switching between 
perspectives. I was trying to switch from the debug perspective to the Java 
perspective and the switch took over 5 min.

I am running a dual process 933Mhz system with 1GB of memory and 512MB 
allocated to Eclipse.

I am running Windows XP with service pack 1.

I am running Sun JDK 1.4.1_02.

I am running Eclipse build I20030917.

A full thread dump follows.

JspUIPlugin: startup
java.lang.OutOfMemoryError
java.lang.OutOfMemoryError
Unhandled exception caught in event loop.
Reason:
java.lang.OutOfMemoryError
Failed to execute runnable (java.lang.OutOfMemoryError)

*** Stack trace of contained exception ***
Reason:
java.lang.OutOfMemoryError
Full thread dump Java HotSpot(TM) Client VM (1.4.1_02-b06 mixed mode):

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0BEC9668 
nid=0x644 in Object.wait() [d3af000..d3afd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <05921C90> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <05921C90> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0AFE8D70 
nid=0xfe4 in Object.wait() [d34f000..d34fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <058DB4A8> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <058DB4A8> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0B0F99E0 
nid=0x818 in Object.wait() [d2ef000..d2efd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <05891A58> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <05891A58> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0B0E2828 
nid=0x754 runnable [d28f000..d28fd8c]
        at org.eclipse.jdt.internal.compiler.codegen.CharArrayCache.put
(CharArrayCache.java:100)
        at org.eclipse.jdt.internal.compiler.codegen.ConstantPool.literalIndex
(ConstantPool.java:711)
        at org.eclipse.jdt.internal.compiler.codegen.ConstantPool.literalIndex
(ConstantPool.java:996)
        at org.eclipse.jdt.internal.compiler.codegen.CodeStream.invokestatic
(CodeStream.java:3090)
        at org.eclipse.jdt.internal.compiler.ast.MessageSend.generateCode
(MessageSend.java:81)
        at org.eclipse.jdt.internal.compiler.ast.ReturnStatement.generateCode
(ReturnStatement.java:117)
        at org.eclipse.jdt.internal.compiler.ast.SwitchStatement.generateCode
(SwitchStatement.java:188)
        at 
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode
(AbstractMethodDeclaration.java:210)
        at 
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode
(AbstractMethodDeclaration.java:156)
        at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode
(TypeDeclaration.java:477)
        at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode
(TypeDeclaration.java:531)
        at 
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.generateCode
(CompilationUnitDeclaration.java:176)
        at org.eclipse.jdt.internal.compiler.Compiler.resolve
(Compiler.java:577)
        at org.eclipse.jdt.internal.compiler.Compiler.resolve
(Compiler.java:610)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process
(CompilationUnitProblemFinder.java:168)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process
(CompilationUnitProblemFinder.java:205)
        at 
org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation
(ReconcileWorkingCopyOperation.java:62)
        at org.eclipse.jdt.internal.core.JavaModelOperation.execute
(JavaModelOperation.java:366)
        at org.eclipse.jdt.internal.core.JavaModelOperation.run
(JavaModelOperation.java:705)
        at org.eclipse.jdt.internal.core.JavaElement.runOperation
(JavaElement.java:523)
        at org.eclipse.jdt.internal.core.CompilationUnit.reconcile
(CompilationUnit.java:1031)
        at org.eclipse.jdt.internal.core.CompilationUnit.reconcile
(CompilationUnit.java:1007)
        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile
(JavaReconcilingStrategy.java:72)
        - locked <05434B10> (a org.eclipse.jdt.internal.core.CompilationUnit)
        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile
(JavaReconcilingStrategy.java:99)
        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=0x0B21F4D8 
nid=0xda8 in Object.wait() [d22f000..d22fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <051ED0F0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <051ED0F0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0B0D0D40 
nid=0xa9c in Object.wait() [d1cf000..d1cfd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0506F380> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <0506F380> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0B0CF510 
nid=0xb78 runnable [d16f000..d16fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <04FA6DC0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <04FA6DC0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0B0CD210 
nid=0x604 runnable [d10f000..d10fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <04FFB030> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <04FFB030> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0B072970 
nid=0xecc in Object.wait() [d0af000..d0afd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <04F670F0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <04F670F0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0B070490 
nid=0x110 suspended [d04f000..d04fd8c]
        at org.eclipse.jdt.internal.compiler.parser.Scanner.getNextToken
(Scanner.java:834)
        at org.eclipse.jdt.internal.compiler.parser.Parser.parse
(Parser.java:5611)
        at org.eclipse.jdt.internal.compiler.parser.Parser.parse
(Parser.java:5785)
        at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.convert
(SourceTypeConverter.java:158)
        at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.convert
(SourceTypeConverter.java:278)
        at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.convert
(SourceTypeConverter.java:128)
        at 
org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.buildCompilationUn
it(SourceTypeConverter.java:77)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.accept
(CompilationUnitProblemFinder.java:98)
        at 
org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType
(LookupEnvironment.java:106)
        at 
org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage
(PackageBinding.java:174)
        at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage
(Scope.java:1353)
        at org.eclipse.jdt.internal.compiler.lookup.Scope.getBinding
(Scope.java:1011)
        at org.eclipse.jdt.internal.compiler.lookup.BlockScope.getBinding
(BlockScope.java:393)
        at 
org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference.resolveType
(QualifiedNameReference.java:746)
        at 
org.eclipse.jdt.internal.compiler.ast.Expression.resolveTypeExpecting
(Expression.java:455)
        at 
org.eclipse.jdt.internal.compiler.ast.ArrayAllocationExpression.resolveType
(ArrayAllocationExpression.java:150)
        at org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.resolve
(LocalDeclaration.java:195)
        at 
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatemen
ts(AbstractMethodDeclaration.java:363)
        at 
org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements
(MethodDeclaration.java:137)
        at 
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve
(AbstractMethodDeclaration.java:353)
        at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:848)
        at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:889)
        at 
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve
(CompilationUnitDeclaration.java:271)
        at org.eclipse.jdt.internal.compiler.Compiler.resolve
(Compiler.java:571)
        at org.eclipse.jdt.internal.compiler.Compiler.resolve
(Compiler.java:610)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process
(CompilationUnitProblemFinder.java:168)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process
(CompilationUnitProblemFinder.java:205)
        at 
org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation
(ReconcileWorkingCopyOperation.java:62)
        at org.eclipse.jdt.internal.core.JavaModelOperation.execute
(JavaModelOperation.java:366)
        at org.eclipse.jdt.internal.core.JavaModelOperation.run
(JavaModelOperation.java:705)
        at org.eclipse.jdt.internal.core.JavaElement.runOperation
(JavaElement.java:523)
        at org.eclipse.jdt.internal.core.CompilationUnit.reconcile
(CompilationUnit.java:1031)
        at org.eclipse.jdt.internal.core.CompilationUnit.reconcile
(CompilationUnit.java:1007)
        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile
(JavaReconcilingStrategy.java:72)
        - locked <04ED5C18> (a org.eclipse.jdt.internal.core.CompilationUnit)
        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile
(JavaReconcilingStrategy.java:99)
        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=0x0B011B38 
nid=0xe34 runnable [cf2f000..cf2fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <04D686C0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <04D686C0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0B20A688 
nid=0xbe8 runnable [cecf000..cecfd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <04D4FE28> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <04D4FE28> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0B00F2F8 
nid=0x1fc runnable [ce6f000..ce6fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <04CE22A8> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <04CE22A8> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0B0194D8 
nid=0x8d8 runnable [ce0e000..ce0fd8c]
        at org.eclipse.jdt.internal.compiler.parser.Scanner.getNextChar
(Scanner.java:541)
        at org.eclipse.jdt.internal.compiler.parser.Scanner.scanNumber
(Scanner.java:2973)
        at org.eclipse.jdt.internal.compiler.parser.Scanner.getNextToken
(Scanner.java:1384)
        at org.eclipse.jdt.internal.compiler.parser.Parser.parse
(Parser.java:5611)
        at org.eclipse.jdt.internal.compiler.parser.Parser.parse
(Parser.java:5785)
        at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.convert
(SourceTypeConverter.java:158)
        at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.convert
(SourceTypeConverter.java:278)
        at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.convert
(SourceTypeConverter.java:128)
        at 
org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.buildCompilationUn
it(SourceTypeConverter.java:77)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.accept
(CompilationUnitProblemFinder.java:98)
        at 
org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType
(LookupEnvironment.java:106)
        at 
org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage
(PackageBinding.java:174)
        at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage
(Scope.java:1353)
        at org.eclipse.jdt.internal.compiler.lookup.Scope.getType
(Scope.java:1197)
        at 
org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBinding
(SingleTypeReference.java:43)
        at 
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypesFor
(SourceTypeBinding.java:824)
        at 
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.getMethods
(SourceTypeBinding.java:530)
        at 
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.getExactConstructor
(SourceTypeBinding.java:421)
        at org.eclipse.jdt.internal.compiler.lookup.BlockScope.getConstructor
(BlockScope.java:605)
        at 
org.eclipse.jdt.internal.compiler.ast.AllocationExpression.resolveType
(AllocationExpression.java:244)
        at org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.resolve
(LocalDeclaration.java:195)
        at org.eclipse.jdt.internal.compiler.ast.Block.resolveUsing
(Block.java:115)
        at org.eclipse.jdt.internal.compiler.ast.TryStatement.resolve
(TryStatement.java:469)
        at 
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatemen
ts(AbstractMethodDeclaration.java:363)
        at 
org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements
(MethodDeclaration.java:137)
        at 
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve
(AbstractMethodDeclaration.java:353)
        at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:848)
        at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:889)
        at 
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve
(CompilationUnitDeclaration.java:271)
        at org.eclipse.jdt.internal.compiler.Compiler.resolve
(Compiler.java:571)
        at org.eclipse.jdt.internal.compiler.Compiler.resolve
(Compiler.java:610)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process
(CompilationUnitProblemFinder.java:168)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process
(CompilationUnitProblemFinder.java:205)
        at 
org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation
(ReconcileWorkingCopyOperation.java:62)
        at org.eclipse.jdt.internal.core.JavaModelOperation.execute
(JavaModelOperation.java:366)
        at org.eclipse.jdt.internal.core.JavaModelOperation.run
(JavaModelOperation.java:705)
        at org.eclipse.jdt.internal.core.JavaElement.runOperation
(JavaElement.java:523)
        at org.eclipse.jdt.internal.core.CompilationUnit.reconcile
(CompilationUnit.java:1031)
        at org.eclipse.jdt.internal.core.CompilationUnit.reconcile
(CompilationUnit.java:1007)
        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile
(JavaReconcilingStrategy.java:72)
        - locked <04C5EC10> (a org.eclipse.jdt.internal.core.CompilationUnit)
        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile
(JavaReconcilingStrategy.java:99)
        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=0x0AFF1B08 
nid=0xd60 runnable [cdaf000..cdafd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <04BC7C68> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <04BC7C68> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0AFF01B0 
nid=0x5c8 runnable [cd4f000..cd4fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <04B74178> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <04B74178> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0B0C88F0 
nid=0xe9c runnable [ccef000..ccefd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <04B09390> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <04B09390> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0AFE0CD0 
nid=0xd3c runnable [cc8f000..cc8fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <04A8BB80> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <04A8BB80> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0AFEE0F0 
nid=0xe04 runnable [cc2f000..cc2fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <04A53538> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <04A53538> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0AF7BCD8 
nid=0x5b4 runnable [cbcf000..cbcfd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <049524D0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <049524D0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0AF6AE98 
nid=0x8d0 runnable [cb6f000..cb6fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <048EE330> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <048EE330> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0AF4B170 
nid=0xcb8 runnable [cb0e000..cb0fd8c]
        at org.eclipse.jdt.internal.compiler.parser.Scanner.getNextChar
(Scanner.java:467)
        at org.eclipse.jdt.internal.compiler.parser.Scanner.scanNumber
(Scanner.java:2934)
        at org.eclipse.jdt.internal.compiler.parser.Scanner.getNextToken
(Scanner.java:1384)
        at org.eclipse.jdt.internal.compiler.parser.Parser.parse
(Parser.java:5611)
        at org.eclipse.jdt.internal.compiler.parser.Parser.parse
(Parser.java:5785)
        at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.convert
(SourceTypeConverter.java:158)
        at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.convert
(SourceTypeConverter.java:278)
        at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.convert
(SourceTypeConverter.java:128)
        at 
org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.buildCompilationUn
it(SourceTypeConverter.java:77)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.accept
(CompilationUnitProblemFinder.java:98)
        at 
org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType
(LookupEnvironment.java:106)
        at 
org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage
(PackageBinding.java:174)
        at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage
(Scope.java:1353)
        at org.eclipse.jdt.internal.compiler.lookup.Scope.getType
(Scope.java:1197)
        at 
org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBinding
(SingleTypeReference.java:43)
        at 
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypesFor
(SourceTypeBinding.java:847)
        at 
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.getMethods
(SourceTypeBinding.java:530)
        at 
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.getExactMethod
(SourceTypeBinding.java:458)
        at 
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.getExactMethod
(SourceTypeBinding.java:477)
        at org.eclipse.jdt.internal.compiler.lookup.Scope.findExactMethod
(Scope.java:170)
        at org.eclipse.jdt.internal.compiler.lookup.BlockScope.getMethod
(BlockScope.java:1042)
        at org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType
(MessageSend.java:230)
        at org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType
(MessageSend.java:193)
        at org.eclipse.jdt.internal.compiler.ast.FieldReference.resolveType
(FieldReference.java:490)
        at org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.resolve
(LocalDeclaration.java:195)
        at org.eclipse.jdt.internal.compiler.ast.Statement.resolveCase
(Statement.java:79)
        at org.eclipse.jdt.internal.compiler.ast.SwitchStatement.resolve
(SwitchStatement.java:258)
        at org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:101)
        at org.eclipse.jdt.internal.compiler.ast.ForStatement.resolve
(ForStatement.java:321)
        at 
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatemen
ts(AbstractMethodDeclaration.java:363)
        at 
org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements
(MethodDeclaration.java:137)
        at 
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve
(AbstractMethodDeclaration.java:353)
        at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:848)
        at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:889)
        at 
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve
(CompilationUnitDeclaration.java:271)
        at org.eclipse.jdt.internal.compiler.Compiler.resolve
(Compiler.java:571)
        at org.eclipse.jdt.internal.compiler.Compiler.resolve
(Compiler.java:610)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process
(CompilationUnitProblemFinder.java:168)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process
(CompilationUnitProblemFinder.java:205)
        at 
org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation
(ReconcileWorkingCopyOperation.java:62)
        at org.eclipse.jdt.internal.core.JavaModelOperation.execute
(JavaModelOperation.java:366)
        at org.eclipse.jdt.internal.core.JavaModelOperation.run
(JavaModelOperation.java:705)
        at org.eclipse.jdt.internal.core.JavaElement.runOperation
(JavaElement.java:523)
        at org.eclipse.jdt.internal.core.CompilationUnit.reconcile
(CompilationUnit.java:1031)
        at org.eclipse.jdt.internal.core.CompilationUnit.reconcile
(CompilationUnit.java:1007)
        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile
(JavaReconcilingStrategy.java:72)
        - locked <048787B8> (a org.eclipse.jdt.internal.core.CompilationUnit)
        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile
(JavaReconcilingStrategy.java:99)
        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=0x0AF69950 
nid=0xd6c runnable [caaf000..caafd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <04842090> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <04842090> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0AD55388 
nid=0xd2c runnable [ca4f000..ca4fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <047A80B8> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <047A80B8> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0AD53008 
nid=0x9b8 runnable [c9ef000..c9efd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <04743AA0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <04743AA0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0AD63BC0 
nid=0x6a4 runnable [c99f000..c99fd8c]
        at org.eclipse.jdt.internal.compiler.parser.Scanner.getNextChar
(Scanner.java:541)
        at org.eclipse.jdt.internal.compiler.parser.Scanner.scanNumber
(Scanner.java:2973)
        at org.eclipse.jdt.internal.compiler.parser.Scanner.getNextToken
(Scanner.java:1384)
        at org.eclipse.jdt.internal.compiler.parser.Parser.parse
(Parser.java:5611)
        at org.eclipse.jdt.internal.compiler.parser.Parser.parse
(Parser.java:5785)
        at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.convert
(SourceTypeConverter.java:158)
        at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.convert
(SourceTypeConverter.java:278)
        at org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.convert
(SourceTypeConverter.java:128)
        at 
org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.buildCompilationUn
it(SourceTypeConverter.java:77)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.accept
(CompilationUnitProblemFinder.java:98)
        at 
org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType
(LookupEnvironment.java:106)
        at 
org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage
(PackageBinding.java:174)
        at 
org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findOnDemandImpor
t(CompilationUnitScope.java:373)
        at 
org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findSingleTypeImp
ort(CompilationUnitScope.java:432)
        at 
org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInImports
(CompilationUnitScope.java:309)
        at 
org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInTypes
(CompilationUnitScope.java:359)
        at org.eclipse.jdt.internal.compiler.Compiler.resolve
(Compiler.java:564)
        at org.eclipse.jdt.internal.compiler.Compiler.resolve
(Compiler.java:610)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process
(CompilationUnitProblemFinder.java:168)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process
(CompilationUnitProblemFinder.java:205)
        at 
org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation
(ReconcileWorkingCopyOperation.java:62)
        at org.eclipse.jdt.internal.core.JavaModelOperation.execute
(JavaModelOperation.java:366)
        at org.eclipse.jdt.internal.core.JavaModelOperation.run
(JavaModelOperation.java:705)
        at org.eclipse.jdt.internal.core.JavaElement.runOperation
(JavaElement.java:523)
        at org.eclipse.jdt.internal.core.CompilationUnit.reconcile
(CompilationUnit.java:1031)
        at org.eclipse.jdt.internal.core.CompilationUnit.reconcile
(CompilationUnit.java:1007)
        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile
(JavaReconcilingStrategy.java:72)
        - locked <046BCA60> (a org.eclipse.jdt.internal.core.CompilationUnit)
        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile
(JavaReconcilingStrategy.java:99)
        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=0x0AD60DA8 
nid=0x930 runnable [c95f000..c95fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <04643840> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <04643840> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0B182EF0 
nid=0xcc4 runnable [b68f000..b68fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0387AF40> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <0387AF40> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Java indexing" daemon prio=4 tid=0x0AF3BA90 nid=0xb44 in Object.wait() 
[b64f000..b64fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0371DF48> (a 
org.eclipse.jdt.internal.core.search.indexing.IndexManager)
        at java.lang.Object.wait(Object.java:426)
        at org.eclipse.jdt.internal.core.search.processing.JobManager.run
(JobManager.java:358)
        - locked <0371DF48> (a 
org.eclipse.jdt.internal.core.search.indexing.IndexManager)
        at java.lang.Thread.run(Thread.java:536)

"Signal Dispatcher" daemon prio=10 tid=0x009A8C80 nid=0xdb4 waiting on 
condition [0..0]

"Finalizer" daemon prio=9 tid=0x009A5218 nid=0x35c in Object.wait() 
[ab1f000..ab1fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <02F566B0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
        - locked <02F566B0> (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=0x009EDDF8 nid=0xe28 in Object.wait() 
[aadf000..aadfd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <02F56718> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:426)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:113)
        - locked <02F56718> (a java.lang.ref.Reference$Lock)

"main" prio=5 tid=0x000354E8 nid=0x838 runnable [7f000..7fc40]
        at org.eclipse.swt.internal.win32.OS.WaitMessage(Native Method)
        at org.eclipse.swt.widgets.Display.sleep(Display.java:2484)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2038)
        at org.eclipse.ui.internal.Workbench.run(Workbench.java:2020)
        at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:858)
        at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461)
        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:295)
        at org.eclipse.core.launcher.Main.run(Main.java:751)
        at org.eclipse.core.launcher.Main.main(Main.java:587)

"VM Thread" prio=5 tid=0x009ECB48 nid=0x594 runnable

"VM Periodic Task Thread" prio=10 tid=0x009A7638 nid=0xa60 waiting on condition
"Suspend Checker Thread" prio=10 tid=0x009A8230 nid=0x764 runnable
java.lang.OutOfMemoryError
java.lang.OutOfMemoryError
java.lang.OutOfMemoryError
java.lang.OutOfMemoryError
java.lang.OutOfMemoryError
Comment 1 John Arthorne CLA 2003-10-09 12:07:01 EDT
Moving to JDT UI

Interesting to note there are six reconciler threads that are actively running.
Comment 2 Dani Megert CLA 2003-10-09 12:20:45 EDT
How do you start Eclipse? Do you give it more memory via command line argument?
Comment 3 Dani Megert CLA 2003-10-09 12:41:53 EDT
The reconciler threads might be "dead" since there's an out of memory exception.
Comment 4 Jonathan Gossage CLA 2003-10-09 12:48:13 EDT
This is the command line I am currently using so that I can get thread dumps 
if needed. Note that I allow 512MB for Eclipse.

C:\WINNT\system32\java.exe -cp startup.jar org.eclipse.core.launcher.Main -
update -data E:\CRYPTOAdminBug665 -showlocation -vmargs -Xmx512M
Comment 5 Dani Megert CLA 2003-10-09 12:56:43 EDT
The dump shows an out of memory exception. Once you reached the limit all
functions either degrade in performance or won't work.

Can you answer some questions:
1. is it also very slow after starting up Eclipse?
2. how many open editors per perspective? which kind of editors
3. are the perspectives in one window or per window?
Comment 6 Jonathan Gossage CLA 2003-10-09 13:08:22 EDT
1. It takes about 5 min. to come up but that has not changed in a long time. I 
have Eclipse configured to do a refresh at startup. Things go well for 2-3 
min. after startup completes (althogh this varies depending on exactly what I 
am doing) and then starts to slow down very significantly. For example it 
typically can take a minute after I encounter a breakpoint before the UI will 
allow me to do anything. For about 45 sec. the busy wait cursor is presented 
and is not present for the last 15 sec. or so.

2. At the moment I have 24 editors open. This varies between 1-40 depending on 
exactly what I am doing. All the editors are Java editors.

3. I only run one window.

Note that I am using about 128MB out of 512MB permitted until things 
Comment 7 Dani Megert CLA 2003-10-09 13:14:17 EDT
can you do the following test for me:
When it's very slow close all editors and then try to switch. Is it still slow then?
Comment 8 Jonathan Gossage CLA 2003-10-09 13:28:26 EDT
This only happens occasionally. Today it has only happened once. When it does 
happen the CPU usage on both processors is pegged at 100%. I suspect that the 
root cause is whatever triggered the high CPU usage.
Comment 9 Dani Megert CLA 2003-10-09 13:48:52 EDT
Please reopen once you have more info and a stack trace which is not combine
with an out of memory exception.
Comment 10 Dani Megert CLA 2007-06-22 09:59:05 EDT
Get rid of deprecated state.
Comment 11 Dani Megert CLA 2007-06-22 10:04:24 EDT
.