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.
I cannot say for sure what caused this problem, but once it happened, there is no way to avoid it. Each time I open a project properties dialog and click on "Debugging" property, there is Null Pointer Exception: java.lang.NullPointerException at org.netbeans.modules.cnd.debugger.gdb.profiles.ui.ProfileNodeProvider$CndProfileGeneralCustomizerNode.getSheet(ProfileNodeProvider.java:54) at org.netbeans.modules.cnd.makeproject.ui.customizer.MakeCustomizer$ConfigurationNode.getSheet(MakeCustomizer.java:956) at org.netbeans.modules.cnd.makeproject.ui.customizer.MakeCustomizer$CategoryView$ManagerChangeListener.propertyChange(MakeCustomizer.java:408) at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:333) at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:270) at org.openide.explorer.ExplorerManager$2.run(ExplorerManager.java:770) at org.openide.util.Mutex.doEvent(Mutex.java:1152) at org.openide.util.Mutex.readAccess(Mutex.java:278) at org.openide.explorer.ExplorerManager.fireInAWT(ExplorerManager.java:767) at org.openide.explorer.ExplorerManager.access$600(ExplorerManager.java:52) at org.openide.explorer.ExplorerManager$1AtomicSetSelectedNodes.updateSelection(ExplorerManager.java:242) at org.openide.explorer.ExplorerManager$1AtomicSetSelectedNodes.run(ExplorerManager.java:247) at org.openide.util.Mutex.readAccess(Mutex.java:287) at org.openide.explorer.ExplorerManager.setSelectedNodes(ExplorerManager.java:253) at org.openide.explorer.ExplorerManager$1SetExploredContextAndSelection.run(ExplorerManager.java:328) at org.openide.util.Mutex.readAccess(Mutex.java:287) at org.openide.explorer.ExplorerManager.setExploredContextAndSelection(ExplorerManager.java:347) at org.openide.explorer.view.BeanTreeView.selectionChanged(BeanTreeView.java:97) at org.openide.explorer.view.TreeView.callSelectionChanged(TreeView.java:704) at org.openide.explorer.view.TreeView$TreePropertyListener.run(TreeView.java:1239) at org.openide.util.Mutex.postRequest(Mutex.java:1113) at org.openide.util.Mutex.postReadRequest(Mutex.java:466) at org.openide.explorer.view.TreeView$TreePropertyListener.valueChanged(TreeView.java:1210) at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeSelectionModel.java:629) at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTreeSelectionModel.java:1078) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(DefaultTreeSelectionModel.java:287) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(DefaultTreeSelectionModel.java:170) at javax.swing.JTree.setSelectionPath(JTree.java:1174) at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(BasicTreeUI.java:2296) at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelectionImpl(BasicTreeUI.java:3505) at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(BasicTreeUI.java:3480) at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(BasicTreeUI.java:3461) at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:222) at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:221) at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:221) at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:221) at java.awt.Component.processMouseEvent(Component.java:5485) at javax.swing.JComponent.processMouseEvent(JComponent.java:3126) at java.awt.Component.processEvent(Component.java:5253) at java.awt.Container.processEvent(Container.java:1966) at java.awt.Component.dispatchEventImpl(Component.java:3955) at java.awt.Container.dispatchEventImpl(Container.java:2024) at java.awt.Component.dispatchEvent(Component.java:3803) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3889) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822) at java.awt.Container.dispatchEventImpl(Container.java:2010) at java.awt.Window.dispatchEventImpl(Window.java:1774) at java.awt.Component.dispatchEvent(Component.java:3803) [catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:463) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Here is the source code, where the exception happens: File: ProfileNodeProvider.java public Sheet getSheet(Project project, ConfigurationDescriptor configurationDescriptor, Configuration configuration) { GdbProfile profile = (GdbProfile) configuration.getAuxObject(GdbProfile.GDB_PROFILE_ID); return profile.getSheet(); ^^^^^^^^^^^^^^^^^^ - line 54 } } The problem is that configuration.getAuxObject(GdbProfile.GDB_PROFILE_ID) returned null.
the code that gets the gdb debugger object look OK to me. It should never return null though. But it can happen if the xml file descriptor file is corrupted or not valid xml code in which case there should be some warnings/errors in the console.
According to the FCS quality criteria, NPE is a P1 bug.
Nik, as far as I'm concerned this was an unexplainable NPE which (according to the code) couldn't happen and has never been seen since. Do you have any problem with my closing it as WORKSFORME? Nobody has ever been able to duplicate it nor has it been seen since shortly after you filed it.
This problem was only seen by one person over a short period of time. Both Thomas and myself think it very unlikely to be a persistent problem.