Bug 77948

Summary: NPE in cnd.debugger.gdb.profiles.ui.ProfileNodeProvider
Product: cnd Reporter: Nikolay Molchanov <nikmolchanov>
Component: -- Other --Assignee: issues <issues.netbeans.org>
Status: RESOLVED WORKSFORME QA Contact: issues <issues.netbeans.org>
Priority: P1 CC: gordonp
Version: 5.x   
Target Milestone: 5.x   
Hardware: All   
OS: All   
Whiteboard: CND1-FCS gdb
Issue Type: DEFECT Exception Report:

Description Nikolay Molchanov 2006-06-15 00:49:48 UTC
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)
Comment 1 Nikolay Molchanov 2006-06-15 00:56:11 UTC
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.
Comment 2 Thomas Preisler 2006-07-10 22:58:53 UTC
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.
Comment 3 julieg 2006-09-13 23:00:56 UTC
According to the FCS quality criteria, NPE is a P1 bug.
Comment 4 _ gordonp 2006-09-14 00:04:44 UTC
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.
Comment 5 _ gordonp 2006-09-14 22:41:41 UTC
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.
By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo