This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 167645

Summary: deadlock when creating project - org.netbeans.modules.java.source.usages.ClassIndexManager
Product: java Reporter: Milos Kleint <mkleint>
Component: SourceAssignee: David Strupl <dstrupl>
Status: RESOLVED DUPLICATE    
Severity: blocker    
Priority: P3    
Version: 6.x   
Hardware: All   
OS: All   
Issue Type: DEFECT Exception Reporter:

Description Milos Kleint 2009-06-25 13:43:18 UTC
custom build from current trunk.


  [exec] Found one Java-level deadlock:                                                                                
                
     [exec] =============================                                                                              
                   
     [exec] "Parsing & Indexing Loop (090622)":                                                                        
                   
     [exec]   waiting to lock monitor 0x087f6e04 (object 0x90f00060, a org.netbeans.api.java.source.ClassIndex),       
                   
     [exec]   which is held by "AWT-EventQueue-1"                                                                      
                   
     [exec] "AWT-EventQueue-1":                                                                                        
                   
     [exec]   waiting to lock monitor 0x087f6cc4 (object 0x8fabe218, a
org.netbeans.modules.java.source.usages.ClassIndexManager$InternalLock),                                               
                                                                                       
     [exec]   which is held by "Parsing & Indexing Loop (090622)"                                                      
                   
     [exec]                                                                                                            
                   
     [exec] Java stack information for the threads listed above:                                                       
                   
     [exec] ===================================================                                                        
                   
     [exec] "Parsing & Indexing Loop (090622)":                                                                        
                   
     [exec]     at org.netbeans.api.java.source.ClassIndex$1.run(ClassIndex.java:419)                                  
                   
     [exec]     - waiting to lock <0x90f00060> (a org.netbeans.api.java.source.ClassIndex)                             
                   
     [exec]     at org.openide.util.Mutex.readAccess(Mutex.java:362)                                                   
                   
     [exec]     at org.netbeans.api.java.source.ClassIndex.reset(ClassIndex.java:415)                                  
                   
     [exec]     at org.netbeans.api.java.source.ClassIndex.access$1400(ClassIndex.java:87)                             
                   
     [exec]     at org.netbeans.api.java.source.ClassIndex$SPIListener.classIndexAdded(ClassIndex.java:560)            
                   
     [exec]     at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source)                                        
                   
     [exec]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)               
                   
     [exec]     at java.lang.reflect.Method.invoke(Method.java:585)                                                    
                   
     [exec]     at org.openide.util.WeakListenerImpl$ProxyListener.invoke(WeakListenerImpl.java:451)                   
                   
     [exec]     at $Proxy13.classIndexAdded(Unknown Source)                                                            
                   
     [exec]     at org.netbeans.modules.java.source.usages.ClassIndexManager.fire(ClassIndexManager.java:228)          
                   
     [exec]     at
org.netbeans.modules.java.source.usages.ClassIndexManager.reserveWriteLock(ClassIndexManager.java:122)                  
     [exec]     - locked <0x8fabe218> (a org.netbeans.modules.java.source.usages.ClassIndexManager$InternalLock)       
                   
     [exec]     at org.netbeans.modules.java.source.indexing.JavaBinaryIndexer.index(JavaBinaryIndexer.java:70)        
                   
     [exec]     at org.netbeans.modules.parsing.spi.indexing.Indexable$MyAccessor.index(Indexable.java:157)            
                   
     [exec]     at
org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.indexBinary(RepositoryUpdater.java:1318)              
     [exec]     at
org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$RootsWork.scanBinaries(RepositoryUpdater.java:2071)        
     [exec]     at
org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$RootsWork.getDone(RepositoryUpdater.java:1876)             
     [exec]     at
org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Work.doTheWork(RepositoryUpdater.java:1439)                
     [exec]     at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task._run(RepositoryUpdater.java:2544) 
                   
     [exec]     at org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater$Task.run(RepositoryUpdater.java:2491)  
                   
     [exec]     at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:581)          
                   
     [exec]     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)                             
                   
     [exec]     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)                                  
                   
     [exec]     at java.util.concurrent.FutureTask.run(FutureTask.java:123)                                            
                   
     [exec]     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)                 
                   
     [exec]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)                     
                   
     [exec]     at java.lang.Thread.run(Thread.java:595)                                                               
                   
     [exec] "AWT-EventQueue-1":                                                                                        
                   
     [exec]     at org.netbeans.modules.java.source.usages.ClassIndexManager.getUsagesQuery(ClassIndexManager.java:159)
                   
     [exec]     - waiting to lock <0x8fabe218> (a
org.netbeans.modules.java.source.usages.ClassIndexManager$InternalLock)                  
     [exec]     at org.netbeans.api.java.source.ClassIndex.createQueriesForRoots(ClassIndex.java:472)                  
                   
     [exec]     at org.netbeans.api.java.source.ClassIndex.access$600(ClassIndex.java:87)                              
                   
     [exec]     at org.netbeans.api.java.source.ClassIndex$1.run(ClassIndex.java:435)                                  
                   
     [exec]     - locked <0x90f00060> (a org.netbeans.api.java.source.ClassIndex)                                      
                   
     [exec]     at org.openide.util.Mutex.readAccess(Mutex.java:362)                                                   
                   
     [exec]     at org.netbeans.api.java.source.ClassIndex.reset(ClassIndex.java:415)                                  
                   
     [exec]     at org.netbeans.api.java.source.ClassIndex.<init>(ClassIndex.java:235)                                 
                   
     [exec]     at org.netbeans.api.java.source.ClasspathInfo.getClassIndex(ClasspathInfo.java:342)                    
                   
     [exec]     - locked <0x90f00210> (a org.netbeans.api.java.source.ClasspathInfo)                                   
                   
     [exec]     at
org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper.registerPersistentObjectManager(AnnotationModelHelper.java:130)
                                                                                                             
     [exec]     at
org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper.createPersistentObjectManager(AnnotationModelHelper.java:122)
                                                                                                               
     [exec]     - locked <0x90f00258> (a
org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper)            
     [exec]     at org.netbeans.modules.websvc.rest.model.impl.RestServicesImpl.initialize(RestServicesImpl.java:109)  
                   
     [exec]     at org.netbeans.modules.websvc.rest.model.impl.RestServicesImpl.create(RestServicesImpl.java:93)       
                   
     [exec]     at
org.netbeans.modules.websvc.rest.model.impl.RestServicesMetadataModelImpl.<init>(RestServicesMetadataModelImpl.java:69) 
     [exec]     at
org.netbeans.modules.websvc.rest.model.spi.RestServicesMetadataModelFactory.createMetadataModel(RestServicesMetadataModelFactory.java:60)
                                                                                                                         
     [exec]     at org.netbeans.modules.websvc.rest.spi.RestSupport.getRestServicesModel(RestSupport.java:216)         
                   
     [exec]     at
org.netbeans.modules.websvc.rest.nodes.RestServicesNodeFactory$RestNodeList.getModel(RestServicesNodeFactory.java:155)  
     [exec]     at
org.netbeans.modules.websvc.rest.nodes.RestServicesNodeFactory$RestNodeList.keys(RestServicesNodeFactory.java:108)      
     [exec]     at
org.netbeans.spi.project.ui.support.NodeFactorySupport$DelegateChildren.addKeys(NodeFactorySupport.java:220)            
     [exec]     at
org.netbeans.spi.project.ui.support.NodeFactorySupport$DelegateChildren.addNotify(NodeFactorySupport.java:176)          
     [exec]     - locked <0x90c6cb40> (a java.util.HashMap)                                                            
                   
     [exec]     - locked <0x90c63600> (a org.netbeans.spi.project.ui.support.NodeFactorySupport$DelegateChildren)      
                   
     [exec]     at org.openide.nodes.Children.callAddNotify(Children.java:547)                                         
                   
     [exec]     at org.openide.nodes.EntrySupport$Default.getArray(EntrySupport.java:733)                              
                   
     [exec]     at org.openide.nodes.EntrySupport$Default.getNodes(EntrySupport.java:163)                              
                   
     [exec]     at org.openide.nodes.EntrySupport$Default.getNodes(EntrySupport.java:219)                              
                   
     [exec]     at org.openide.nodes.Children.getNodes(Children.java:441)                                              
                   
     [exec]     at org.openide.nodes.FilterNode$Children$DefaultSupport.updateKeys(FilterNode.java:1686)               
                   
     [exec]     at org.openide.nodes.FilterNode$Children$DefaultSupport.update(FilterNode.java:1673)                   
                   
     [exec]     at org.openide.nodes.FilterNode$Children.addNotifyImpl(FilterNode.java:1467)                           
                   
     [exec]     at org.openide.nodes.FilterNode$Children.addNotify(FilterNode.java:1460)                               
                   
     [exec]     at org.openide.nodes.Children.callAddNotify(Children.java:547)                                         
                   
     [exec]     at org.openide.nodes.EntrySupport$Default.getArray(EntrySupport.java:733)                              
                   
     [exec]     at org.openide.nodes.EntrySupport$Default.getNodes(EntrySupport.java:163)                              
                   
     [exec]     at org.openide.nodes.EntrySupport$Default.getNodes(EntrySupport.java:219)                              
                   
     [exec]     at org.openide.nodes.EntrySupport$Default.getNodesCount(EntrySupport.java:223)                         
                   
     [exec]     at org.openide.nodes.Children.getNodesCount(Children.java:481)                                         
                   
     [exec]     at org.openide.explorer.view.VisualizerNode.getChildren(VisualizerNode.java:255)                       
                   
     [exec]     at org.openide.explorer.view.VisualizerNode.getChildren(VisualizerNode.java:245)                       
                   
     [exec]     at org.openide.explorer.view.VisualizerNode.getChildCount(VisualizerNode.java:322)                     
                   
     [exec]     at javax.swing.tree.DefaultTreeModel.getChildCount(DefaultTreeModel.java:168)
     [exec]     at javax.swing.tree.FixedHeightLayoutCache$FHTreeStateNode.expand(FixedHeightLayoutCache.java:1135)
     [exec]     at javax.swing.tree.FixedHeightLayoutCache.ensurePathIsExpanded(FixedHeightLayoutCache.java:645)
     [exec]     at javax.swing.tree.FixedHeightLayoutCache.setExpandedState(FixedHeightLayoutCache.java:282)
     [exec]     at javax.swing.plaf.basic.BasicTreeUI.updateExpandedDescendants(BasicTreeUI.java:1556)
     [exec]     at javax.swing.plaf.basic.BasicTreeUI$Handler.treeExpanded(BasicTreeUI.java:3649)
     [exec]     at javax.swing.JTree.fireTreeExpanded(JTree.java:2235)
     [exec]     at javax.swing.JTree.setExpandedState(JTree.java:3006)
     [exec]     at javax.swing.JTree.expandPath(JTree.java:1742)
     [exec]     at org.openide.explorer.view.TreeView$2.run(TreeView.java:572)
     [exec]     at org.openide.util.Mutex.readAccess(Mutex.java:362)
     [exec]     at org.openide.util.Mutex$1R.run(Mutex.java:1301)
     [exec]     at org.openide.nodes.Children$ProjectManagerDeadlockDetector.execute(Children.java:1811)
     [exec]     at org.openide.util.Mutex.doWrapperAccess(Mutex.java:1320)
     [exec]     at org.openide.util.Mutex.readAccess(Mutex.java:351)
     [exec]     at org.openide.explorer.view.VisualizerNode$QP.run(VisualizerNode.java:676)
     [exec]     at org.openide.util.Mutex.doEvent(Mutex.java:1335)
     [exec]     at org.openide.util.Mutex.writeAccess(Mutex.java:452)
     [exec]     at org.openide.explorer.view.VisualizerNode$QP.runSafe(VisualizerNode.java:658)
     [exec]     at org.openide.explorer.view.VisualizerNode.runSafe(VisualizerNode.java:596)
     [exec]     at org.openide.explorer.view.TreeView.expandNode(TreeView.java:569)
     [exec]     at org.netbeans.modules.project.ui.ProjectTab.expandNode(ProjectTab.java:545)
     [exec]     at org.netbeans.modules.project.ui.ProjectUtilities$2.run(ProjectUtilities.java:248)
     [exec]     at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
     [exec]     at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
     [exec]     at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:131)
     [exec]     at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
     [exec]     at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
     [exec]     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
     [exec]     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
     [exec]     at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
     [exec]
     [exec] Found 1 deadlock.
     [exec]
Comment 1 Jan Jancura 2009-08-18 15:42:03 UTC
mklient: Use attachements next time, please! Inlined dumps are not readable!
ClassIndex<>ClassIndexManager$InternalLock lock > java.source
Comment 2 Jan Lahoda 2009-08-20 09:57:52 UTC
Reassigning all moonko's java/source bugs to myself.
Comment 3 David Strupl 2009-10-19 14:20:14 UTC
I will check this.
Comment 4 David Strupl 2009-10-19 14:28:18 UTC
This has been fixed as 168388.

*** This issue has been marked as a duplicate of 168388 ***