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 exists in FCS RC5 FFJ build. If Tomcat 4.0 node was expanded too early after enabling TC plugin, then NPE is thrown and no TC installations are available underneath this node. How to reproduce: 1. Add external TC installation (it takes more time for TC plugin to initialize both internal and external installations). 2. Disable TC plugin 3. Enable TC plugin and try to expand Tomcat 4.0 node immedeatly after it appears in the Runtime tab. Observe the following NPE and notice that no TC istallations appears after that: Thu May 23 20:52:47 PDT 2002: java.lang.NullPointerException: <no message> java.lang.NullPointerException at org.netbeans.modules.tomcat.tomcat40.Tomcat40Children.createNodes(Tomcat40Children.java:65) at org.openide.nodes.Children$Keys$KE.nodes(Children.java:1826) at org.openide.nodes.ChildrenArray.nodesFor(ChildrenArray.java:125) at org.openide.nodes.Children$Info.nodes(Children.java:929) at org.openide.nodes.Children.updateAdd(Children.java:737) at org.openide.nodes.Children.setEntries(Children.java:526) at org.openide.nodes.Children$3.run(Children.java:1719) at org.openide.util.Mutex.leave(Mutex.java:604) at org.openide.util.Mutex.readAccess(Mutex.java:173) at org.openide.explorer.view.VisualizerNode.getChildren(VisualizerNode.java:147) at org.openide.explorer.view.VisualizerNode.getChildCount(VisualizerNode.java:187) at javax.swing.tree.DefaultTreeModel.getChildCount(DefaultTreeModel.java:168) at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1461) at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1270) at javax.swing.tree.VariableHeightLayoutCache.ensurePathIsExpanded(VariableHeightLayoutCache.java:966) at javax.swing.tree.VariableHeightLayoutCache.setExpandedState(VariableHeightLayoutCache.java:164) at javax.swing.plaf.basic.BasicTreeUI.updateExpandedDescendants(BasicTreeUI.java:1494) at javax.swing.plaf.basic.BasicTreeUI$TreeExpansionHandler.treeExpanded(BasicTreeUI.java:2312) at javax.swing.JTree.fireTreeExpanded(JTree.java:2238) at javax.swing.JTree.setExpandedState(JTree.java:3009) at javax.swing.JTree.expandPath(JTree.java:1744) at javax.swing.plaf.basic.BasicTreeUI.toggleExpandState(BasicTreeUI.java:2093) at javax.swing.plaf.basic.BasicTreeUI.handleExpandControlClick(BasicTreeUI.java:2080) at javax.swing.plaf.basic.BasicTreeUI.checkForClickInExpandControl(BasicTreeUI.java:2034) at javax.swing.plaf.basic.BasicTreeUI$MouseHandler.handleSelection(BasicTreeUI.java:2809) at javax.swing.plaf.basic.BasicTreeUI$MouseHandler.mousePressed(BasicTreeUI.java:2779) at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:218) at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:217) at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:217) at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:217) at java.awt.Component.processMouseEvent(Component.java:5018) at java.awt.Component.processEvent(Component.java:4818) at java.awt.Container.processEvent(Container.java:1380) at java.awt.Component.dispatchEventImpl(Component.java:3526) at java.awt.Container.dispatchEventImpl(Container.java:1437) at java.awt.Component.dispatchEvent(Component.java:3367) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3214) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2926) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2859) at java.awt.Container.dispatchEventImpl(Container.java:1423) at java.awt.Window.dispatchEventImpl(Window.java:1566) at java.awt.Component.dispatchEvent(Component.java:3367) [catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:445) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:190) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:144) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130) at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)
It would be probably easier to reproduce with some automed test. We should have such test.
Tomcat4.0 node children should be defined as CHILDREN.LEAF until tomcat module is correctly installed, then the children should be refreshed.
Fixed in trunk(Netbeans 3.4).
VERIFIED