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 257156 - NullPointerException at org.netbeans.modules.viewmodel.TreeModelRoot$ModelChangeListener$1.run
Summary: NullPointerException at org.netbeans.modules.viewmodel.TreeModelRoot$ModelCha...
Status: VERIFIED FIXED
Alias: None
Product: debugger
Classification: Unclassified
Component: Code (show other bugs)
Version: 8.1
Hardware: All All
: P3 normal (vote)
Assignee: Martin Entlicher
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-15 15:44 UTC by Alexander Pepin
Modified: 2016-02-08 12:13 UTC (History)
3 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter: 221687


Attachments
stacktrace (12.22 KB, text/plain)
2015-12-15 15:44 UTC, Alexander Pepin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Pepin 2015-12-15 15:44:17 UTC
Build: IDE for C, C++, and Fortran (Studio 12.5 Beta [2015/12/07 2aae00f8464e])
VM: Java HotSpot(TM) 64-Bit Server VM, 24.80-b11, Java(TM) SE Runtime Environment, 1.7.0_80-b15
OS: Linux

User Comments:
apepin: See bug #256544




Stacktrace: 
java.lang.NullPointerException
   at org.netbeans.modules.viewmodel.TreeModelRoot$ModelChangeListener$1.run(TreeModelRoot.java:406)
   at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:745)
   at java.awt.EventQueue.access$300(EventQueue.java:103)
   at java.awt.EventQueue$3.run(EventQueue.java:706)
   at java.awt.EventQueue$3.run(EventQueue.java:704)
Comment 1 Alexander Pepin 2015-12-15 15:44:18 UTC
Created attachment 157797 [details]
stacktrace
Comment 2 Alexander Pepin 2015-12-15 15:56:20 UTC
See bug #256544 for the test scenario.

In the latest Studio build the following glue errors appear:

glue: MsgSnd.snd_via(): socket write of msg 'DBX_STACK_NOTIFY' failed -- Broken pipe

glue: MsgSnd.snd_via(): no socket -- msg 'DBX_THREADS_NOTIFY dropped

glue: MsgSnd.snd_via(): socket write of msg 'dbx_locals_notify' failed -- Broken pipe

glue: MsgSnd.snd_via(): socket write of msg 'dbx_mem_notify' failed -- Broken pipe

followed by:

java.lang.NullPointerException
	at org.netbeans.modules.viewmodel.TreeModelRoot$ModelChangeListener$1.run(TreeModelRoot.java:406)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:745)
	at java.awt.EventQueue.access$300(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:706)
	at java.awt.EventQueue$3.run(EventQueue.java:704)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:715)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
[catch] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:154)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)
	at java.awt.Dialog.show(Dialog.java:1082)
	at org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:1065)
	at org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:1115)
	at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:1087)
	at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:128)
	at org.netbeans.modules.openide.util.NbMutexEventProvider$Event.doEventAccess(NbMutexEventProvider.java:138)
	at org.netbeans.modules.openide.util.NbMutexEventProvider$Event.readAccess(NbMutexEventProvider.java:98)
	at org.netbeans.modules.openide.util.LazyMutexImplementation.readAccess(LazyMutexImplementation.java:94)
	at org.openide.util.Mutex.readAccess(Mutex.java:218)
	at org.netbeans.core.windows.services.NbPresenter.show(NbPresenter.java:1072)
	at java.awt.Component.show(Component.java:1655)
	at java.awt.Component.setVisible(Component.java:1607)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.showDialog(DialogDisplayerImpl.java:266)
	at org.netbeans.core.windows.services.DialogDisplayerImpl.notify(DialogDisplayerImpl.java:282)
	at org.netbeans.core.windows.services.DialogDisplayerImpl.notify(DialogDisplayerImpl.java:173)
	at org.netbeans.modules.cnd.debugger.common2.debugger.NativeDebuggerManager.warning(NativeDebuggerManager.java:1782)
	at org.netbeans.modules.cnd.debugger.dbx.resources.Installer$1.warn(Installer.java:80)
	at com.sun.tools.swdev.glue.GErr.warn(GErr.java:20)
	at com.sun.tools.swdev.glue.MsgSnd.snd_via(MsgSnd.java:223)
	at com.sun.tools.swdev.glue.Messenger.send(Messenger.java:70)
	at com.sun.tools.swdev.glue.dbx.GPDbxSurrogate.locals_notify(GPDbxSurrogate.java:1816)
	at org.netbeans.modules.cnd.debugger.dbx.DbxDebuggerImpl$LocalEnableLatch.setEnabled(DbxDebuggerImpl.java:2357)
	at org.netbeans.modules.cnd.debugger.dbx.DbxDebuggerImpl$EnableLatch.update(DbxDebuggerImpl.java:4292)
	at org.netbeans.modules.cnd.debugger.dbx.DbxDebuggerImpl.setShowAutos(DbxDebuggerImpl.java:2311)
	at org.netbeans.modules.cnd.debugger.common2.debugger.LocalModel.addModelListener(LocalModel.java:191)
	at org.netbeans.spi.viewmodel.Models$DelegatingTreeModel.addModelListener(Models.java:1968)
	at org.netbeans.spi.viewmodel.Models$CompoundModel.addModelListener(Models.java:4659)
	at org.netbeans.modules.viewmodel.TreeModelRoot.<init>(TreeModelRoot.java:146)
	at org.netbeans.modules.viewmodel.OutlineTable.setModel(OutlineTable.java:496)
	at org.netbeans.spi.viewmodel.Models$1.run(Models.java:193)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:745)
	at java.awt.EventQueue.access$300(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:706)
	at java.awt.EventQueue$3.run(EventQueue.java:704)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:715)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:154)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)
	at java.awt.Dialog.show(Dialog.java:1082)
	at org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:1065)
	at org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:1115)
	at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:1087)
	at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:128)
	at org.netbeans.modules.openide.util.NbMutexEventProvider$Event.doEventAccess(NbMutexEventProvider.java:138)
	at org.netbeans.modules.openide.util.NbMutexEventProvider$Event.readAccess(NbMutexEventProvider.java:98)
	at org.netbeans.modules.openide.util.LazyMutexImplementation.readAccess(LazyMutexImplementation.java:94)
	at org.openide.util.Mutex.readAccess(Mutex.java:218)
	at org.netbeans.core.windows.services.NbPresenter.show(NbPresenter.java:1072)
	at java.awt.Component.show(Component.java:1655)
	at java.awt.Component.setVisible(Component.java:1607)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.showDialog(DialogDisplayerImpl.java:266)
	at org.netbeans.core.windows.services.DialogDisplayerImpl.notify(DialogDisplayerImpl.java:282)
	at org.netbeans.core.windows.services.DialogDisplayerImpl.notify(DialogDisplayerImpl.java:173)
	at org.netbeans.modules.cnd.debugger.common2.debugger.NativeDebuggerManager.warning(NativeDebuggerManager.java:1782)
	at org.netbeans.modules.cnd.debugger.dbx.resources.Installer$1.warn(Installer.java:80)
	at com.sun.tools.swdev.glue.GErr.warn(GErr.java:20)
	at com.sun.tools.swdev.glue.MsgSnd.snd_via(MsgSnd.java:223)
	at com.sun.tools.swdev.glue.Messenger.send(Messenger.java:70)
	at com.sun.tools.swdev.glue.dbx.GPDbxSurrogate.stack_notify(GPDbxSurrogate.java:1828)
	at org.netbeans.modules.cnd.debugger.dbx.DbxDebuggerImpl$StackEnableLatch.setEnabled(DbxDebuggerImpl.java:2467)
	at org.netbeans.modules.cnd.debugger.dbx.DbxDebuggerImpl$EnableLatch.recalculate(DbxDebuggerImpl.java:4299)
	at org.netbeans.modules.cnd.debugger.dbx.DbxDebuggerImpl$EnableLatch.setRegistered(DbxDebuggerImpl.java:4279)
	at org.netbeans.modules.cnd.debugger.dbx.DbxDebuggerImpl.registerDebuggingViewModel(DbxDebuggerImpl.java:1645)
	at org.netbeans.modules.cnd.debugger.common2.debugger.debugging.DebuggingViewModel.addModelListener(DebuggingViewModel.java:101)
	at org.netbeans.spi.viewmodel.Models$DelegatingTreeModel.addModelListener(Models.java:1968)
	at org.netbeans.spi.viewmodel.Models$CompoundModel.addModelListener(Models.java:4659)
	at org.netbeans.modules.viewmodel.TreeModelRoot.<init>(TreeModelRoot.java:109)
	at org.netbeans.spi.viewmodel.Models.createNodes(Models.java:169)
	at org.netbeans.modules.debugger.ui.views.debugging.DebuggingViewComponent$4.run(DebuggingViewComponent.java:455)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:745)
	at java.awt.EventQueue.access$300(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:706)
	at java.awt.EventQueue$3.run(EventQueue.java:704)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:715)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:154)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)
	at java.awt.Dialog.show(Dialog.java:1082)
	at org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:1065)
	at org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:1115)
	at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:1087)
	at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:128)
	at org.netbeans.modules.openide.util.NbMutexEventProvider$Event.doEventAccess(NbMutexEventProvider.java:138)
	at org.netbeans.modules.openide.util.NbMutexEventProvider$Event.readAccess(NbMutexEventProvider.java:98)
	at org.netbeans.modules.openide.util.LazyMutexImplementation.readAccess(LazyMutexImplementation.java:94)
	at org.openide.util.Mutex.readAccess(Mutex.java:218)
	at org.netbeans.core.windows.services.NbPresenter.show(NbPresenter.java:1072)
	at java.awt.Component.show(Component.java:1655)
	at java.awt.Component.setVisible(Component.java:1607)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.showDialog(DialogDisplayerImpl.java:266)
	at org.netbeans.core.windows.services.DialogDisplayerImpl.notify(DialogDisplayerImpl.java:282)
	at org.netbeans.core.windows.services.DialogDisplayerImpl.notify(DialogDisplayerImpl.java:173)
	at org.netbeans.modules.cnd.debugger.common2.debugger.NativeDebuggerManager.warning(NativeDebuggerManager.java:1782)
	at org.netbeans.modules.cnd.debugger.dbx.resources.Installer$1.warn(Installer.java:80)
	at com.sun.tools.swdev.glue.GErr.warn(GErr.java:20)
	at com.sun.tools.swdev.glue.MsgSnd.snd_via(MsgSnd.java:223)
	at com.sun.tools.swdev.glue.Messenger.send(Messenger.java:70)
	at com.sun.tools.swdev.glue.dbx.GPDbxSurrogate.mem_notify(GPDbxSurrogate.java:1796)
	at org.netbeans.modules.cnd.debugger.dbx.DbxDebuggerImpl.registerMemoryWindow(DbxDebuggerImpl.java:3826)
	at org.netbeans.modules.cnd.debugger.common2.debugger.NativeDebuggerImpl.activate(NativeDebuggerImpl.java:1117)
	at org.netbeans.modules.cnd.debugger.dbx.DbxDebuggerImpl.activate(DbxDebuggerImpl.java:264)
	at org.netbeans.modules.cnd.debugger.common2.debugger.NativeDebuggerManager$4.run(NativeDebuggerManager.java:625)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:745)
	at java.awt.EventQueue.access$300(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:706)
	at java.awt.EventQueue$3.run(EventQueue.java:704)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:715)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)



============================================================================
java.lang.NullPointerException
	at org.netbeans.modules.viewmodel.TreeModelRoot.destroy(TreeModelRoot.java:290)
	at org.netbeans.modules.viewmodel.OutlineTable.setModel(OutlineTable.java:367)
	at org.netbeans.modules.viewmodel.OutlineTable.setModel(OutlineTable.java:345)
	at org.netbeans.modules.viewmodel.OutlineTable.removeNotify(OutlineTable.java:1083)
	at java.awt.Container.removeNotify(Container.java:2800)
	at javax.swing.JComponent.removeNotify(JComponent.java:4771)
	at java.awt.Container.removeNotify(Container.java:2800)
	at javax.swing.JComponent.removeNotify(JComponent.java:4771)
	at java.awt.Container.remove(Container.java:1199)
	at java.awt.Container.remove(Container.java:1257)
	at org.netbeans.swing.tabcontrol.plaf.DefaultTabbedContainerUI$ModelListener.indicesChanged(DefaultTabbedContainerUI.java:1243)
	at org.netbeans.swing.tabcontrol.DefaultTabDataModel.fireIndicesChanged(DefaultTabDataModel.java:542)
	at org.netbeans.swing.tabcontrol.DefaultTabDataModel.setTabs(DefaultTabDataModel.java:129)
	at org.netbeans.core.windows.view.ui.tabcontrol.AbstractTabbedImpl.setTopComponents(AbstractTabbedImpl.java:229)
	at org.netbeans.core.windows.view.ui.TabbedHandler.setTopComponents(TabbedHandler.java:168)
	at org.netbeans.core.windows.view.ui.AbstractModeContainer.setTopComponents(AbstractModeContainer.java:126)
	at org.netbeans.core.windows.view.ModeView.setTopComponents(ModeView.java:138)
	at org.netbeans.core.windows.view.ViewHierarchy.updateViewForAccessor(ViewHierarchy.java:283)
	at org.netbeans.core.windows.view.ViewHierarchy.updateViewForAccessor(ViewHierarchy.java:255)
	at org.netbeans.core.windows.view.ViewHierarchy.updateViewForAccessor(ViewHierarchy.java:255)
	at org.netbeans.core.windows.view.ViewHierarchy.updateViewHierarchy(ViewHierarchy.java:169)
	at org.netbeans.core.windows.view.DefaultView.changeGUI(DefaultView.java:156)
	at org.netbeans.core.windows.ViewRequestor.dispatchRequest(ViewRequestor.java:275)
	at org.netbeans.core.windows.ViewRequestor.processRequest(ViewRequestor.java:251)
	at org.netbeans.core.windows.ViewRequestor.postRequest(ViewRequestor.java:189)
	at org.netbeans.core.windows.ViewRequestor.scheduleRequest(ViewRequestor.java:127)
	at org.netbeans.core.windows.Central.addModeClosedTopComponent(Central.java:880)
	at org.netbeans.core.windows.ModeImpl.addClosedTopComponent(ModeImpl.java:366)
	at org.netbeans.core.windows.ModeImpl.close(ModeImpl.java:281)
	at org.netbeans.core.windows.WindowManagerImpl.topComponentClose(WindowManagerImpl.java:1321)
	at org.openide.windows.TopComponent.close(TopComponent.java:561)
	at org.openide.windows.TopComponent.close(TopComponent.java:548)
	at org.netbeans.modules.debugger.ui.DebuggerManagerListener.closeTopComponentsList(DebuggerManagerListener.java:314)
	at org.netbeans.modules.debugger.ui.DebuggerManagerListener.access$1200(DebuggerManagerListener.java:96)
	at org.netbeans.modules.debugger.ui.DebuggerManagerListener$5.run(DebuggerManagerListener.java:535)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:745)
	at java.awt.EventQueue.access$300(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:706)
	at java.awt.EventQueue$3.run(EventQueue.java:704)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:715)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
[catch] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Comment 3 Martin Entlicher 2015-12-17 17:27:52 UTC
Fixed by changeset:   294592:e324bd239f02
http://hg.netbeans.org/core-main/rev/e324bd239f02
Comment 4 Quality Engineering 2015-12-19 02:49:01 UTC
Integrated into 'main-silver', will be available in build *201512190002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/e324bd239f02
User: mentlicher@netbeans.org
Log: #257156: Assure that only a correctly created instance of rootNode is accessed.
Comment 5 Martin Entlicher 2016-01-14 13:59:34 UTC
Can you please verify the fix in trunk so that we can integrate it into 81 patch?
Thanks.
Comment 6 henk89 2016-01-20 14:39:53 UTC
We've just built Studio based on the NB trunk. We are going to test it ASAP.
Comment 7 Jiri Kovalsky 2016-01-26 10:14:17 UTC
Any update on this ASAP please? Thanks.
Comment 8 Alexander Pepin 2016-01-26 12:22:49 UTC
Verified in Studio IDE build with updated org-netbeans-spi-viewmodel.jar provided by Martin.
Comment 9 Martin Entlicher 2016-01-27 10:27:24 UTC
Transplanted into release81 by changeset:   305728:9cd7aa52eb6f
http://hg.netbeans.org/releases/rev/9cd7aa52eb6f
Comment 10 Alexander Pepin 2016-02-08 12:13:24 UTC
Verified in build 20160130.