Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 351498 - [model]java.util.ConcurrentModificationException upon startup
Summary: [model]java.util.ConcurrentModificationException upon startup
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.7   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 3.7.1   Edit
Assignee: Satyam Kandula CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 354960 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-07-07 18:33 EDT by passmasterml CLA
Modified: 2012-05-16 06:24 EDT (History)
5 users (show)

See Also:
jarthana: review+


Attachments
Proposed patch + regression test (3.00 KB, patch)
2011-07-18 06:10 EDT, Satyam Kandula CLA
satyam.kandula: review?
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description passmasterml CLA 2011-07-07 18:33:29 EDT
Build Identifier: 20110615-0604

java.util.ConcurrentModificationException when starting indigo

Reproducible: Couldn't Reproduce
Comment 1 passmasterml CLA 2011-07-07 18:33:51 EDT
java.util.ConcurrentModificationException                                                                      
        at java.util.HashMap$HashIterator.nextEntry(Unknown Source)                                            
        at java.util.HashMap$EntryIterator.next(Unknown Source)                                                
        at java.util.HashMap$EntryIterator.next(Unknown Source)                                                
        at org.eclipse.jdt.internal.core.JavaModelManager.secondaryTypesSearching(JavaModelManager.java:4550)  
        at org.eclipse.jdt.internal.core.JavaModelManager.secondaryTypes(JavaModelManager.java:4411)           
        at org.eclipse.jdt.internal.core.NameLookup.findSecondaryType(NameLookup.java:591)                     
        at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:697)                              
        at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:621)                              
        at org.eclipse.jdt.internal.core.SearchableEnvironment.find(SearchableEnvironment.java:103)            
        at org.eclipse.jdt.internal.core.SearchableEnvironment.findType(SearchableEnvironment.java:294)        
        at org.eclipse.jdt.internal.core.CancelableNameEnvironment.findType(CancelableNameEnvironment.java:45) 
        at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:132)   
        at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getType(PackageBinding.java:127)            
        at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.isViewedAsDeprecated(PackageBinding.java:211)
        at org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isViewedAsDeprecated(ReferenceBinding.java:1217)
        at org.eclipse.jdt.internal.compiler.lookup.ClassScope.checkAndSetModifiers(ClassScope.java:424)             
        at org.eclipse.jdt.internal.compiler.lookup.ClassScope.buildType(ClassScope.java:381)                        
        at org.eclipse.jdt.internal.compiler.lookup.ClassScope.buildMemberTypes(ClassScope.java:269)                 
        at org.eclipse.jdt.internal.compiler.lookup.ClassScope.buildType(ClassScope.java:383)                        
        at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.buildTypeBindings(CompilationUnitScope.java:145)
        at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.buildTypeBindings(LookupEnvironment.java:163)      
        at org.eclipse.jdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:721)                          
        at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:381)                                  
        at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:882)                                         
        at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:958)                                         
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:202)     
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:268)     
        at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:190)
        at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
        at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)                                  
        at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)                         
        at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1244)                                 
        at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)          
        at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)           
        at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)               
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)                                                        
        at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)           
        at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.initialReconcile(JavaReconcilingStrategy.java:178)   
        at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.initialReconcile(CompositeReconcilingStrategy.java:114)
        at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.initialReconcile(JavaCompositeReconcilingStrategy.java:136)
        at org.eclipse.jface.text.reconciler.MonoReconciler.initialProcess(MonoReconciler.java:105)                                     
        at org.eclipse.jdt.internal.ui.text.JavaReconciler.initialProcess(JavaReconciler.java:406)                                      
        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:173)                       
java.util.ConcurrentModificationException                                                                                               
        at java.util.HashMap$HashIterator.nextEntry(Unknown Source)                                                                     
        at java.util.HashMap$EntryIterator.next(Unknown Source)                                                                         
        at java.util.HashMap$EntryIterator.next(Unknown Source)                                                                         
        at org.eclipse.jdt.internal.core.JavaModelManager.secondaryTypesSearching(JavaModelManager.java:4550)                           
        at org.eclipse.jdt.internal.core.JavaModelManager.secondaryTypes(JavaModelManager.java:4411)                                    
        at org.eclipse.jdt.internal.core.NameLookup.findSecondaryType(NameLookup.java:591)                                              
        at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:697)                                                       
        at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:621)                                                       
        at org.eclipse.jdt.internal.core.SearchableEnvironment.find(SearchableEnvironment.java:103)                                     
        at org.eclipse.jdt.internal.core.SearchableEnvironment.findType(SearchableEnvironment.java:294)                                 
        at org.eclipse.jdt.internal.core.CancelableNameEnvironment.findType(CancelableNameEnvironment.java:45)                          
        at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:132)                            
        at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getType(PackageBinding.java:127)                                     
        at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.isViewedAsDeprecated(PackageBinding.java:211)                        
        at org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isViewedAsDeprecated(ReferenceBinding.java:1217)                   
        at org.eclipse.jdt.internal.compiler.lookup.ClassScope.checkAndSetModifiers(ClassScope.java:424)                                
        at org.eclipse.jdt.internal.compiler.lookup.ClassScope.buildType(ClassScope.java:381)                                           
        at org.eclipse.jdt.internal.compiler.lookup.ClassScope.buildMemberTypes(ClassScope.java:269)                                    
        at org.eclipse.jdt.internal.compiler.lookup.ClassScope.buildType(ClassScope.java:383)                                           
        at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.buildTypeBindings(CompilationUnitScope.java:145)               
        at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.buildTypeBindings(LookupEnvironment.java:163)                     
        at org.eclipse.jdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:721)                                         
        at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:381)                                                 
        at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:1124)                                  
        at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:681)                                   
        at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1175)                                                    
        at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:801)                                                             
        at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)                                               
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)                                                                  
        at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)                                           
        at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)                                              
        at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:470)                                              
        at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)                                                      
        at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170)
        at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155)                
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)                                                                                                
java.util.ConcurrentModificationException                                                                                                                           
        at java.util.HashMap$HashIterator.nextEntry(Unknown Source)                                                                                                 
        at java.util.HashMap$EntryIterator.next(Unknown Source)                                                                                                     
        at java.util.HashMap$EntryIterator.next(Unknown Source)                                                                                                     
        at org.eclipse.jdt.internal.core.JavaModelManager.secondaryTypesSearching(JavaModelManager.java:4550)                                                       
        at org.eclipse.jdt.internal.core.JavaModelManager.secondaryTypes(JavaModelManager.java:4411)                                                                
        at org.eclipse.jdt.internal.core.NameLookup.findSecondaryType(NameLookup.java:591)                                                                          
        at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:697)                                                                                   
        at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:621)                                                                                   
        at org.eclipse.jdt.internal.core.SearchableEnvironment.find(SearchableEnvironment.java:103)                                                                 
        at org.eclipse.jdt.internal.core.SearchableEnvironment.findType(SearchableEnvironment.java:294)                                                             
        at org.eclipse.jdt.internal.core.CancelableNameEnvironment.findType(CancelableNameEnvironment.java:45)                                                      
        at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:132)                                                        
        at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getType(PackageBinding.java:127)                                                                 
        at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.isViewedAsDeprecated(PackageBinding.java:211)                                                    
        at org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isViewedAsDeprecated(ReferenceBinding.java:1217)                                               
        at org.eclipse.jdt.internal.compiler.lookup.ClassScope.checkAndSetModifiers(ClassScope.java:424)                                                            
        at org.eclipse.jdt.internal.compiler.lookup.ClassScope.buildType(ClassScope.java:381)                                                                       
        at org.eclipse.jdt.internal.compiler.lookup.ClassScope.buildMemberTypes(ClassScope.java:269)                                                                
        at org.eclipse.jdt.internal.compiler.lookup.ClassScope.buildType(ClassScope.java:383)                                                                       
        at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.buildTypeBindings(CompilationUnitScope.java:145)                                           
        at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.buildTypeBindings(LookupEnvironment.java:163)                                                 
        at org.eclipse.jdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:721)                                                                     
        at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:381)                                                                             
        at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:882)                                                                                    
        at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:958)                                                                                    
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:202)                                                
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:268)                                                
        at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:190)                                       
        at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)                                      
        at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)                                                                        
        at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)                                                               
        at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1244)                                                                       
        at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)                                                
        at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)                                                 
        at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)                                                     
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)                                                                                              
        at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)                                                 
        at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)                                                
        at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)                                            
        at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:104)                                   
        at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)                                                                         
        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)                                                   
java.util.ConcurrentModificationException                                                                                                                           
        at java.util.HashMap$HashIterator.nextEntry(Unknown Source)                                                                                                 
        at java.util.HashMap$EntryIterator.next(Unknown Source)                                                                                                     
        at java.util.HashMap$EntryIterator.next(Unknown Source)                                                                                                     
        at org.eclipse.jdt.internal.core.JavaModelManager.secondaryTypesSearching(JavaModelManager.java:4550)                                                       
        at org.eclipse.jdt.internal.core.JavaModelManager.secondaryTypes(JavaModelManager.java:4411)                                                                
        at org.eclipse.jdt.internal.core.NameLookup.findSecondaryType(NameLookup.java:591)                                                                          
        at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:697)                                                                                   
        at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:621)                                                                                   
        at org.eclipse.jdt.internal.core.SearchableEnvironment.find(SearchableEnvironment.java:103)                                                                 
        at org.eclipse.jdt.internal.core.SearchableEnvironment.findType(SearchableEnvironment.java:294)                                                             
        at org.eclipse.jdt.internal.core.CancelableNameEnvironment.findType(CancelableNameEnvironment.java:45)                                                      
        at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:132)                                                        
        at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getType(PackageBinding.java:127)                                                                 
        at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.isViewedAsDeprecated(PackageBinding.java:211)                                                    
        at org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isViewedAsDeprecated(ReferenceBinding.java:1217)                                               
        at org.eclipse.jdt.internal.compiler.lookup.ClassScope.checkAndSetModifiers(ClassScope.java:424)                                                            
        at org.eclipse.jdt.internal.compiler.lookup.ClassScope.buildType(ClassScope.java:381)                                                                       
        at org.eclipse.jdt.internal.compiler.lookup.ClassScope.buildMemberTypes(ClassScope.java:269)                                                                
        at org.eclipse.jdt.internal.compiler.lookup.ClassScope.buildType(ClassScope.java:383)                                                                       
        at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.buildTypeBindings(CompilationUnitScope.java:145)                                           
        at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.buildTypeBindings(LookupEnvironment.java:163)                                                 
        at org.eclipse.jdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:721)                                                                     
        at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:381)                                                                             
        at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:1124)                                                              
        at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:681)                                                               
        at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1175)                                                                                
        at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:801)                                                                                         
        at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:544)                                                                           
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)                                                                                              
        at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:537)                                                                       
        at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:480)                                                                          
        at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:470)                                                                          
        at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128)                                                                                  
        at org.eclipse.jdt.ui.OverrideIndicatorLabelDecorator.getOverrideIndicators(OverrideIndicatorLabelDecorator.java:161)                                       
        at org.eclipse.jdt.ui.OverrideIndicatorLabelDecorator.computeAdornmentFlags(OverrideIndicatorLabelDecorator.java:136)                                       
        at org.eclipse.jdt.ui.OverrideIndicatorLabelDecorator.decorate(OverrideIndicatorLabelDecorator.java:273)                                                    
        at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:269)                                      
        at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:81)                              
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)                                                                                              
        at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:365)                                            
        at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:347)                                      
        at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:370)                                                
        at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:330)                                                               
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Comment 2 Prakash Rangaraj CLA 2011-07-07 23:15:12 EDT
Moving to JDT
Comment 3 Satyam Kandula CLA 2011-07-11 02:46:21 EDT
This is happening because of the fix to bug 302455. I will work on it.
Comment 4 Satyam Kandula CLA 2011-07-18 06:10:45 EDT
Created attachment 199817 [details]
Proposed patch + regression test
Comment 5 Satyam Kandula CLA 2011-07-18 06:11:34 EDT
Jay, this is a minor change. This should go into 3.7.1. Please review.
Comment 6 Jay Arthanareeswaran CLA 2011-07-21 03:14:17 EDT
Patch looks good, Satyam.
Comment 7 Satyam Kandula CLA 2011-07-21 04:12:46 EDT
Thanks Jay for the review. 
Released in BETA_JAVA7 branch.
Comment 8 Jay Arthanareeswaran CLA 2011-08-02 09:49:32 EDT
Verified for 3.8M1 by code inspection.
Comment 9 passmasterml CLA 2011-08-17 11:13:32 EDT
*** Bug 354960 has been marked as a duplicate of this bug. ***
Comment 10 Jay Arthanareeswaran CLA 2011-12-22 11:33:16 EST
*** Bug 367440 has been marked as a duplicate of this bug. ***