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.
Happened during html file editing. Similar to the former one I fixed by the "isLeaf" pre-computation. Now it really seems to be necessary to move the ElemewntNode.updateRecursively() out of the parsing lock. Found one Java-level deadlock: ============================= "Editor Parsing Loop (20120427-a81a653a2eda)": waiting to lock monitor 000000000285823c (object 0000000005a5e2c8, a org.openide.nodes.ChildrenArray), which is held by "AWT-EventQueue-1" "AWT-EventQueue-1": waiting for ownable synchronizer 000000000c467f38, (a java.util.concurrent.locks.ReentrantLock$FairSync), which is held by "Editor Parsing Loop (20120427-a81a653a2eda)" Java stack information for the threads listed above: =================================================== "Editor Parsing Loop (20120427-a81a653a2eda)": at org.openide.nodes.ChildrenArray.nodesFor(ChildrenArray.java:132) - waiting to lock <0000000005a5e2c8> (a org.openide.nodes.ChildrenArray) at org.openide.nodes.EntrySupport$Default$Info.nodes(EntrySupport.java:943) at org.openide.nodes.EntrySupport$Default.justComputeNodes(EntrySupport.java:253) at org.openide.nodes.ChildrenArray.nodes(ChildrenArray.java:88) at org.openide.nodes.EntrySupport$Default.getNodes(EntrySupport.java:183) at org.openide.nodes.EntrySupport$Default.snapshot(EntrySupport.java:149) at org.openide.nodes.Children.snapshot(Children.java:532) at org.openide.explorer.view.TreeView.expandNode(TreeView.java:608) at org.netbeans.modules.csl.navigation.ClassMemberPanelUI.expandNode(ClassMemberPanelUI.java:274) at org.netbeans.modules.csl.navigation.ClassMemberPanelUI.expandNodeByDefault(ClassMemberPanelUI.java:301) at org.netbeans.modules.csl.navigation.ClassMemberPanelUI.expandNodeByDefaultRecursively(ClassMemberPanelUI.java:286) at org.netbeans.modules.csl.navigation.ClassMemberPanelUI.expandNodeByDefaultRecursively(ClassMemberPanelUI.java:279) at org.netbeans.modules.csl.navigation.ElementNode.updateRecursively(ElementNode.java:306) at org.netbeans.modules.csl.navigation.ClassMemberPanelUI.refresh(ClassMemberPanelUI.java:224) at org.netbeans.modules.csl.navigation.ElementScanningTask.run(ElementScanningTask.java:198) at org.netbeans.modules.csl.navigation.ClassMemberNavigatorSourceFactory$ProxyElementScanningTask.run(ClassMemberNavigatorSourceFactory.java:138) at org.netbeans.modules.csl.navigation.ClassMemberNavigatorSourceFactory$ProxyElementScanningTask.run(ClassMemberNavigatorSourceFactory.java:110) at org.netbeans.modules.parsing.impl.TaskProcessor.callParserResultTask(TaskProcessor.java:558) at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:734) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:680) "AWT-EventQueue-1": at sun.misc.Unsafe.park(Native Method) - parking to wait for <000000000c467f38> (a java.util.concurrent.locks.ReentrantLock$FairSync) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:842) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1178) at java.util.concurrent.locks.ReentrantLock$FairSync.lock(ReentrantLock.java:201) at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262) at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:189) at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:102) at org.netbeans.modules.html.editor.gsf.HtmlStructureItem.getNestedItems(HtmlStructureItem.java:152) - locked <0000000005bbb268> (a org.netbeans.modules.html.editor.gsf.HtmlStructureItem) at org.netbeans.modules.csl.navigation.ElementNode.<init>(ElementNode.java:105) at org.netbeans.modules.csl.navigation.ElementNode$ElementChildren.createNodes(ElementNode.java:347) at org.netbeans.modules.csl.navigation.ElementNode$ElementChildren.createNodes(ElementNode.java:336) at org.openide.nodes.Children$Keys$KE.nodes(Children.java:1661) at org.openide.nodes.ChildrenArray.nodesFor(ChildrenArray.java:149) - locked <0000000005a5e2c8> (a org.openide.nodes.ChildrenArray) at org.openide.nodes.EntrySupport$Default$Info.nodes(EntrySupport.java:943) at org.openide.nodes.EntrySupport$Default.justComputeNodes(EntrySupport.java:253) at org.openide.nodes.ChildrenArray.nodes(ChildrenArray.java:88) at org.openide.nodes.EntrySupport$Default.getNodes(EntrySupport.java:183) at org.openide.nodes.EntrySupport$Default.getNodes(EntrySupport.java:228) at org.openide.nodes.Children.getNodes(Children.java:469) at org.netbeans.modules.csl.navigation.ElementNode.getNodeForOffset(ElementNode.java:244) at org.netbeans.modules.csl.navigation.ElementNode.getNodeForOffset(ElementNode.java:251) at org.netbeans.modules.csl.navigation.ElementNode.getMimeRootNodeForOffset(ElementNode.java:232) at org.netbeans.modules.csl.navigation.ClassMemberPanelUI$3.run(ClassMemberPanelUI.java:204) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:682) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:643) at java.awt.EventQueue$1.run(EventQueue.java:641) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:652) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:158) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Found 1 deadlock. Heap par new generation total 14784K, used 12709K [0000000005010000, 0000000006010000, 0000000009010000) eden space 13184K, 93% used [0000000005010000, 0000000005c0a030, 0000000005cf0000) from space 1600K, 27% used [0000000005cf0000, 0000000005d5f3e8, 0000000005e80000) to space 1600K, 0% used [0000000005e80000, 0000000005e80000, 0000000006010000) concurrent mark-sweep generation total 137524K, used 100687K [0000000009010000, 000000001165d000, 0000000035010000) concurrent-mark-sweep perm gen total 118836K, used 74982K [0000000035010000, 000000003c41d000, 000000004d010000)
Bug #212022 looks similar.
Will be fixed in jet-main #0cd60fc2abc0
*** Bug 212174 has been marked as a duplicate of this bug. ***
*** Bug 212022 has been marked as a duplicate of this bug. ***
Integrated into 'main-golden', will be available in build *201205090400* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-golden/rev/0cd60fc2abc0 User: Svata Dedic <sdedic@netbeans.org> Log: #212080: expansion and update moved to a RP; fixed unwanted scrolling after expansion introduced by 2c21a99cfccb
*** Bug 211992 has been marked as a duplicate of this bug. ***