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 > <geertjan.wiele...@googlemail.com.invalid> wrote: >> Provide a way to reproduce or a simple sample on GitHub etc, thanks. >> >> Gj >> >> On Sunday, December 9, 2018, Marc Streckfuß <marc.streckf...@gmail.com> >> 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 > --------------------------------------------------------------------- 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