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.
100% cpu when deleting big part in big xml file. When opening an 8 MB xml file it took around 10-20 sec. to open it. After deleting 80% of the file netbeans goes into a 100% cpu loop for more than 10 minutes (I did not wait longer before I killed the process). Stack traces of the problematic thread: ThreadName: AWT-EventQueue-1 ThreadState: RUNNABLE WaitedTime: -1.0E-6 WaitedCount: 5938 BlockedTime: -1.0E-6 BlockedCount: 3681 LockName: null LockOwnerName: null InNative: false Suspended: false Thread stack trace: org.netbeans.modules.editor.structure.api.DocumentModel.getChildren(DocumentModel.java:638) org.netbeans.modules.editor.structure.api.DocumentElement.getChildren(DocumentElement.java:296) org.netbeans.modules.xml.text.navigator.TreeNodeAdapter.checkDocumentContent(TreeNodeAdapter.java:500) org.netbeans.modules.xml.text.navigator.TreeNodeAdapter.getDocumentContent(TreeNodeAdapter.java:102) org.netbeans.modules.xml.text.navigator.TreeNodeAdapter.getText(TreeNodeAdapter.java:182) org.netbeans.modules.xml.text.navigator.NavigatorTreeCellRenderer.getTreeCellRendererComponent(NavigatorTreeCellRendere r.java:93) javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2709) javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:475) javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1342) javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1333) javax.swing.tree.VariableHeightLayoutCache.treeNodesChanged(VariableHeightLayoutCache.java:418) javax.swing.plaf.basic.BasicTreeUI$Handler.treeNodesChanged(BasicTreeUI.java:3764) javax.swing.tree.DefaultTreeModel.fireTreeNodesChanged(DefaultTreeModel.java:468) javax.swing.tree.DefaultTreeModel.nodesChanged(DefaultTreeModel.java:330) javax.swing.tree.DefaultTreeModel.nodeChanged(DefaultTreeModel.java:261) org.netbeans.modules.xml.text.navigator.TreeNodeAdapter.childTextElementChanged(TreeNodeAdapter.java:493) org.netbeans.modules.xml.text.navigator.TreeNodeAdapter.elementRemoved(TreeNodeAdapter.java:415) org.netbeans.modules.editor.structure.api.DocumentElement.fireDocumentElementEvent(DocumentElement.java:365) org.netbeans.modules.editor.structure.api.DocumentElement.fireDocumentElementEvent(DocumentElement.java:352) org.netbeans.modules.editor.structure.api.DocumentElement.childRemoved(DocumentElement.java:380) org.netbeans.modules.editor.structure.api.DocumentModel$DocumentModelModificationTransaction.removeDE(DocumentModel.jav a:1116) org.netbeans.modules.editor.structure.api.DocumentModel$DocumentModelModificationTransaction.commit(DocumentModel.java: 960) org.netbeans.modules.editor.structure.api.DocumentModel$DocumentModelModificationTransaction.access$200(DocumentModel.j ava:845) org.netbeans.modules.editor.structure.api.DocumentModel$2.run(DocumentModel.java:519) java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199) java.awt.EventQueue.dispatchEvent(EventQueue.java:597) org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104) java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) java.awt.EventDispatchThread.run(EventDispatchThread.java:121) ThreadName: AWT-EventQueue-1 ThreadState: RUNNABLE WaitedTime: -1.0E-6 WaitedCount: 5938 BlockedTime: -1.0E-6 BlockedCount: 3681 LockName: null LockOwnerName: null InNative: false Suspended: false Thread stack trace: org.netbeans.editor.DocumentContent.getText(DocumentContent.java:182) org.netbeans.editor.DocumentContent.getString(DocumentContent.java:169) javax.swing.text.AbstractDocument.getText(AbstractDocument.java:757) org.netbeans.modules.xml.text.navigator.TreeNodeAdapter.checkDocumentContent(TreeNodeAdapter.java:512) org.netbeans.modules.xml.text.navigator.TreeNodeAdapter.getDocumentContent(TreeNodeAdapter.java:102) org.netbeans.modules.xml.text.navigator.TreeNodeAdapter.getText(TreeNodeAdapter.java:182) org.netbeans.modules.xml.text.navigator.NavigatorTreeCellRenderer.getTreeCellRendererComponent(NavigatorTreeCellRendere r.java:93) javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2709) javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:475) javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1342) javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1333) javax.swing.tree.VariableHeightLayoutCache.treeNodesChanged(VariableHeightLayoutCache.java:418) javax.swing.plaf.basic.BasicTreeUI$Handler.treeNodesChanged(BasicTreeUI.java:3764) javax.swing.tree.DefaultTreeModel.fireTreeNodesChanged(DefaultTreeModel.java:468) javax.swing.tree.DefaultTreeModel.nodesChanged(DefaultTreeModel.java:330) javax.swing.tree.DefaultTreeModel.nodeChanged(DefaultTreeModel.java:261) org.netbeans.modules.xml.text.navigator.TreeNodeAdapter.childTextElementChanged(TreeNodeAdapter.java:493) org.netbeans.modules.xml.text.navigator.TreeNodeAdapter.elementRemoved(TreeNodeAdapter.java:415) org.netbeans.modules.editor.structure.api.DocumentElement.fireDocumentElementEvent(DocumentElement.java:365) org.netbeans.modules.editor.structure.api.DocumentElement.fireDocumentElementEvent(DocumentElement.java:352) org.netbeans.modules.editor.structure.api.DocumentElement.childRemoved(DocumentElement.java:380) org.netbeans.modules.editor.structure.api.DocumentModel$DocumentModelModificationTransaction.removeDE(DocumentModel.jav a:1116) org.netbeans.modules.editor.structure.api.DocumentModel$DocumentModelModificationTransaction.commit(DocumentModel.java: 960) org.netbeans.modules.editor.structure.api.DocumentModel$DocumentModelModificationTransaction.access$200(DocumentModel.j ava:845) org.netbeans.modules.editor.structure.api.DocumentModel$2.run(DocumentModel.java:519) java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199) java.awt.EventQueue.dispatchEvent(EventQueue.java:597) org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104) java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
This is a known issue. Time and again I have said that the DocumentModel is not an efficient one. This can only be fixed when we rewrite the Navigator. See 126968. I personally want to do this. I'll have some cycles to do it post 6.5.
*** This bug has been marked as a duplicate of bug 227432 ***