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

Reply via email to