Re: StackOverflow caused by TreeView#wlpc

2018-12-10 Thread Marc Streckfuß
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

2018-12-09 Thread 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?
>> 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

2018-12-09 Thread Geertjan Wielenga
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

2018-12-09 Thread Marc Streckfuß
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