Re: StackOverflow caused by TreeView#wlpc
Fortunately, I could solve the issue in the mean time after breaking it all down to new AbstractNode(Children.LEAF); My Problem was that I was using the wrong Lookup. I'm not knowledged enough to judge whether this is just misuse or a case which could be prevented by NB. The Code I was basing this off is: https://github.com/jMonkeyEngine/sdk/blob/master/jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/MatDefNavigatorPanel.java#L127 I changed that line to mgr.setRootContext(new MyNode(lookup)); though, but that shows the issue, I had to use new MyNode(data.getLookup()); "lookup" is not the lookup wanted anyway, but I wonder why that could trigger an endless recursion, maybe because of the "ContextListener" calling updateData? Or is this related to ExplorerUtils.createLookup? Am 09.12.18 um 16:35 schrieb Emilian Bold: > If your code is really simple please provide a short example that > reproduces the issue and post it here or preferably on Apache JIRA for > the NETBEANS project. > > --emi > > http://coolbeans.xyz/ - CoolBeans: An IDE for Java, JavaEE, PHP and more! > On Sun, Dec 9, 2018 at 5:11 PM Geertjan Wielenga > wrote: >> Provide a way to reproduce or a simple sample on GitHub etc, thanks. >> >> Gj >> >> On Sunday, December 9, 2018, Marc Streckfuß >> wrote: >>> Hey Guys, >>> >>> So this issue is on Netbeans 8.2, I cannot test them with NB 9.0 yet as >>> I have other issues preventing an upgrade. >>> I am also talking about the Netbeans Platform Facility here, not >>> Netbeans itself. >>> >>> I tried adding Properties Support by adding a Navigator with the Nodes >>> API, which works so far (I can see the Nodes in the Navigator panel). >>> The Problem is that selecting a Node in the Navigator leads to a >>> StackOverflowException because TreeView's Weak PropertyChangeListener >>> (that's my finding so far, the debugger only shows that it's a >>> WeakListenerImpl) and EMLookup/ProxyLookup hang at ArrayList#addAll() >>> because it calls Collection#toArray, which in turn calls addAll at some >>> point. >>> >>> java.lang.StackOverflowError >>> at >>> org.openide.util.lookup.ProxyLookup$LazyCollection.getComputed(ProxyLookup.java:1306) >>> at >>> org.openide.util.lookup.ProxyLookup$LazyCollection.computeDelegate(ProxyLookup.java:1116) >>> at >>> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1090) >>> at >>> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1073) >>> at >>> org.openide.util.lookup.ProxyLookup$LazyCollection.size(ProxyLookup.java:1158) >>> at >>> org.openide.explorer.DefaultEMLookup$NoNodeLookup$ExclusionResult.allItems(DefaultEMLookup.java:254) >>> at >>> org.openide.util.lookup.ProxyLookup$LazyCollection.computeSingleResult(ProxyLookup.java:1296) >>> at >>> org.openide.util.lookup.ProxyLookup$LazyCollection.computeDelegate(ProxyLookup.java:1123) >>> at >>> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1090) >>> at >>> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1073) >>> at >>> org.openide.util.lookup.ProxyLookup$LazyCollection.toArray(ProxyLookup.java:1179) >>> at java.util.ArrayList.addAll(ArrayList.java:581) >>> at >>> org.openide.util.lookup.ProxyLookup$LazyCollection.computeDelegate(ProxyLookup.java:1143) >>> at >>> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1090) >>> at >>> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1073) >>> at >>> org.openide.util.lookup.ProxyLookup$LazyCollection.size(ProxyLookup.java:1158) >>> at >>> org.openide.explorer.DefaultEMLookup$NoNodeLookup$ExclusionResult.allItems(DefaultEMLookup.java:254) >>> at >>> org.openide.util.lookup.ProxyLookup$LazyCollection.computeSingleResult(ProxyLookup.java:1296) >>> at >>> org.openide.util.lookup.ProxyLookup$LazyCollection.computeDelegate(ProxyLookup.java:1123) >>> at >>> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1090) >>> at >>> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1073) >>> at >>> org.openide.util.lookup.ProxyLookup$LazyCollection.toArray(ProxyLookup.java:1179) >>> at java.util.ArrayList.addAll(ArrayList.java:581) >>> >>> With a Breakpoint on addAll I could see that it happens in >>> PropertyChangeSupport#fire() with a selectedNodes event. >>> Now since my code is really simple (actually only extending AbstractNode >>> and using the ChildFactory), I am unsure how to proceed/try to debug. >>> >>> Also this kind of error has been seen on the issue tracker: >>> https://netbeans.org/bugzilla/show_bug.cgi?id=210689 (the exception is >>> only different since we have enough RAM) >>> Is there a way to find out what the fuzz is about those Lookups? Could >>> that be related to my code doing something wrong? or not registering >>> something to the lookup?
Re: StackOverflow caused by TreeView#wlpc
If your code is really simple please provide a short example that reproduces the issue and post it here or preferably on Apache JIRA for the NETBEANS project. --emi http://coolbeans.xyz/ - CoolBeans: An IDE for Java, JavaEE, PHP and more! On Sun, Dec 9, 2018 at 5:11 PM Geertjan Wielenga wrote: > > Provide a way to reproduce or a simple sample on GitHub etc, thanks. > > Gj > > On Sunday, December 9, 2018, Marc Streckfuß wrote: >> >> Hey Guys, >> >> So this issue is on Netbeans 8.2, I cannot test them with NB 9.0 yet as >> I have other issues preventing an upgrade. >> I am also talking about the Netbeans Platform Facility here, not >> Netbeans itself. >> >> I tried adding Properties Support by adding a Navigator with the Nodes >> API, which works so far (I can see the Nodes in the Navigator panel). >> The Problem is that selecting a Node in the Navigator leads to a >> StackOverflowException because TreeView's Weak PropertyChangeListener >> (that's my finding so far, the debugger only shows that it's a >> WeakListenerImpl) and EMLookup/ProxyLookup hang at ArrayList#addAll() >> because it calls Collection#toArray, which in turn calls addAll at some >> point. >> >> java.lang.StackOverflowError >> at >> org.openide.util.lookup.ProxyLookup$LazyCollection.getComputed(ProxyLookup.java:1306) >> at >> org.openide.util.lookup.ProxyLookup$LazyCollection.computeDelegate(ProxyLookup.java:1116) >> at >> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1090) >> at >> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1073) >> at >> org.openide.util.lookup.ProxyLookup$LazyCollection.size(ProxyLookup.java:1158) >> at >> org.openide.explorer.DefaultEMLookup$NoNodeLookup$ExclusionResult.allItems(DefaultEMLookup.java:254) >> at >> org.openide.util.lookup.ProxyLookup$LazyCollection.computeSingleResult(ProxyLookup.java:1296) >> at >> org.openide.util.lookup.ProxyLookup$LazyCollection.computeDelegate(ProxyLookup.java:1123) >> at >> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1090) >> at >> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1073) >> at >> org.openide.util.lookup.ProxyLookup$LazyCollection.toArray(ProxyLookup.java:1179) >> at java.util.ArrayList.addAll(ArrayList.java:581) >> at >> org.openide.util.lookup.ProxyLookup$LazyCollection.computeDelegate(ProxyLookup.java:1143) >> at >> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1090) >> at >> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1073) >> at >> org.openide.util.lookup.ProxyLookup$LazyCollection.size(ProxyLookup.java:1158) >> at >> org.openide.explorer.DefaultEMLookup$NoNodeLookup$ExclusionResult.allItems(DefaultEMLookup.java:254) >> at >> org.openide.util.lookup.ProxyLookup$LazyCollection.computeSingleResult(ProxyLookup.java:1296) >> at >> org.openide.util.lookup.ProxyLookup$LazyCollection.computeDelegate(ProxyLookup.java:1123) >> at >> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1090) >> at >> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1073) >> at >> org.openide.util.lookup.ProxyLookup$LazyCollection.toArray(ProxyLookup.java:1179) >> at java.util.ArrayList.addAll(ArrayList.java:581) >> >> With a Breakpoint on addAll I could see that it happens in >> PropertyChangeSupport#fire() with a selectedNodes event. >> Now since my code is really simple (actually only extending AbstractNode >> and using the ChildFactory), I am unsure how to proceed/try to debug. >> >> Also this kind of error has been seen on the issue tracker: >> https://netbeans.org/bugzilla/show_bug.cgi?id=210689 (the exception is >> only different since we have enough RAM) >> Is there a way to find out what the fuzz is about those Lookups? Could >> that be related to my code doing something wrong? or not registering >> something to the lookup? >> Is there a workaround to use the Properties Panel without Nodes? (as >> that's essentially what I need, I already have a graphical >> representation of the contents of the Navigator) >> >> Thanks in Advance, >> Marc Streckfuß >> >> >> >> >> - >> To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org >> For additional commands, e-mail: users-h...@netbeans.apache.org >> >> For further information about the NetBeans mailing lists, visit: >> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists >> - To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org For additional commands, e-mail: users-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
Re: StackOverflow caused by TreeView#wlpc
Provide a way to reproduce or a simple sample on GitHub etc, thanks. Gj On Sunday, December 9, 2018, Marc Streckfuß wrote: > Hey Guys, > > So this issue is on Netbeans 8.2, I cannot test them with NB 9.0 yet as > I have other issues preventing an upgrade. > I am also talking about the Netbeans Platform Facility here, not > Netbeans itself. > > I tried adding Properties Support by adding a Navigator with the Nodes > API, which works so far (I can see the Nodes in the Navigator panel). > The Problem is that selecting a Node in the Navigator leads to a > StackOverflowException because TreeView's Weak PropertyChangeListener > (that's my finding so far, the debugger only shows that it's a > WeakListenerImpl) and EMLookup/ProxyLookup hang at ArrayList#addAll() > because it calls Collection#toArray, which in turn calls addAll at some > point. > > java.lang.StackOverflowError > at > org.openide.util.lookup.ProxyLookup$LazyCollection. > getComputed(ProxyLookup.java:1306) > at > org.openide.util.lookup.ProxyLookup$LazyCollection. > computeDelegate(ProxyLookup.java:1116) > at > org.openide.util.lookup.ProxyLookup$LazyCollection. > delegate(ProxyLookup.java:1090) > at > org.openide.util.lookup.ProxyLookup$LazyCollection. > delegate(ProxyLookup.java:1073) > at > org.openide.util.lookup.ProxyLookup$LazyCollection. > size(ProxyLookup.java:1158) > at > org.openide.explorer.DefaultEMLookup$NoNodeLookup$ > ExclusionResult.allItems(DefaultEMLookup.java:254) > at > org.openide.util.lookup.ProxyLookup$LazyCollection.computeSingleResult( > ProxyLookup.java:1296) > at > org.openide.util.lookup.ProxyLookup$LazyCollection. > computeDelegate(ProxyLookup.java:1123) > at > org.openide.util.lookup.ProxyLookup$LazyCollection. > delegate(ProxyLookup.java:1090) > at > org.openide.util.lookup.ProxyLookup$LazyCollection. > delegate(ProxyLookup.java:1073) > at > org.openide.util.lookup.ProxyLookup$LazyCollection. > toArray(ProxyLookup.java:1179) > at java.util.ArrayList.addAll(ArrayList.java:581) > at > org.openide.util.lookup.ProxyLookup$LazyCollection. > computeDelegate(ProxyLookup.java:1143) > at > org.openide.util.lookup.ProxyLookup$LazyCollection. > delegate(ProxyLookup.java:1090) > at > org.openide.util.lookup.ProxyLookup$LazyCollection. > delegate(ProxyLookup.java:1073) > at > org.openide.util.lookup.ProxyLookup$LazyCollection. > size(ProxyLookup.java:1158) > at > org.openide.explorer.DefaultEMLookup$NoNodeLookup$ > ExclusionResult.allItems(DefaultEMLookup.java:254) > at > org.openide.util.lookup.ProxyLookup$LazyCollection.computeSingleResult( > ProxyLookup.java:1296) > at > org.openide.util.lookup.ProxyLookup$LazyCollection. > computeDelegate(ProxyLookup.java:1123) > at > org.openide.util.lookup.ProxyLookup$LazyCollection. > delegate(ProxyLookup.java:1090) > at > org.openide.util.lookup.ProxyLookup$LazyCollection. > delegate(ProxyLookup.java:1073) > at > org.openide.util.lookup.ProxyLookup$LazyCollection. > toArray(ProxyLookup.java:1179) > at java.util.ArrayList.addAll(ArrayList.java:581) > > With a Breakpoint on addAll I could see that it happens in > PropertyChangeSupport#fire() with a selectedNodes event. > Now since my code is really simple (actually only extending AbstractNode > and using the ChildFactory), I am unsure how to proceed/try to debug. > > Also this kind of error has been seen on the issue tracker: > https://netbeans.org/bugzilla/show_bug.cgi?id=210689 (the exception is > only different since we have enough RAM) > Is there a way to find out what the fuzz is about those Lookups? Could > that be related to my code doing something wrong? or not registering > something to the lookup? > Is there a workaround to use the Properties Panel without Nodes? (as > that's essentially what I need, I already have a graphical > representation of the contents of the Navigator) > > Thanks in Advance, > Marc Streckfuß > > > > > - > To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org > For additional commands, e-mail: users-h...@netbeans.apache.org > > For further information about the NetBeans mailing lists, visit: > https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists > >
StackOverflow caused by TreeView#wlpc
Hey Guys, So this issue is on Netbeans 8.2, I cannot test them with NB 9.0 yet as I have other issues preventing an upgrade. I am also talking about the Netbeans Platform Facility here, not Netbeans itself. I tried adding Properties Support by adding a Navigator with the Nodes API, which works so far (I can see the Nodes in the Navigator panel). The Problem is that selecting a Node in the Navigator leads to a StackOverflowException because TreeView's Weak PropertyChangeListener (that's my finding so far, the debugger only shows that it's a WeakListenerImpl) and EMLookup/ProxyLookup hang at ArrayList#addAll() because it calls Collection#toArray, which in turn calls addAll at some point. java.lang.StackOverflowError at org.openide.util.lookup.ProxyLookup$LazyCollection.getComputed(ProxyLookup.java:1306) at org.openide.util.lookup.ProxyLookup$LazyCollection.computeDelegate(ProxyLookup.java:1116) at org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1090) at org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1073) at org.openide.util.lookup.ProxyLookup$LazyCollection.size(ProxyLookup.java:1158) at org.openide.explorer.DefaultEMLookup$NoNodeLookup$ExclusionResult.allItems(DefaultEMLookup.java:254) at org.openide.util.lookup.ProxyLookup$LazyCollection.computeSingleResult(ProxyLookup.java:1296) at org.openide.util.lookup.ProxyLookup$LazyCollection.computeDelegate(ProxyLookup.java:1123) at org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1090) at org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1073) at org.openide.util.lookup.ProxyLookup$LazyCollection.toArray(ProxyLookup.java:1179) at java.util.ArrayList.addAll(ArrayList.java:581) at org.openide.util.lookup.ProxyLookup$LazyCollection.computeDelegate(ProxyLookup.java:1143) at org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1090) at org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1073) at org.openide.util.lookup.ProxyLookup$LazyCollection.size(ProxyLookup.java:1158) at org.openide.explorer.DefaultEMLookup$NoNodeLookup$ExclusionResult.allItems(DefaultEMLookup.java:254) at org.openide.util.lookup.ProxyLookup$LazyCollection.computeSingleResult(ProxyLookup.java:1296) at org.openide.util.lookup.ProxyLookup$LazyCollection.computeDelegate(ProxyLookup.java:1123) at org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1090) at org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1073) at org.openide.util.lookup.ProxyLookup$LazyCollection.toArray(ProxyLookup.java:1179) at java.util.ArrayList.addAll(ArrayList.java:581) With a Breakpoint on addAll I could see that it happens in PropertyChangeSupport#fire() with a selectedNodes event. Now since my code is really simple (actually only extending AbstractNode and using the ChildFactory), I am unsure how to proceed/try to debug. Also this kind of error has been seen on the issue tracker: https://netbeans.org/bugzilla/show_bug.cgi?id=210689 (the exception is only different since we have enough RAM) Is there a way to find out what the fuzz is about those Lookups? Could that be related to my code doing something wrong? or not registering something to the lookup? Is there a workaround to use the Properties Panel without Nodes? (as that's essentially what I need, I already have a graphical representation of the contents of the Navigator) Thanks in Advance, Marc Streckfuß - To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org For additional commands, e-mail: users-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists