[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.technology.buckminster] Re: Strange exceptions using headless buckminster r07488

Hi Thomas,

Indeed this is circular dependency most likely caused by support for
.product files. I have played a little more with it, here is what I get.

The project is structured in this way:

+product.plugin
+--+product.product
|  \--product.feature
\-- ..

+product.feature
+--+feature.xml
|  \--product.plugin
\-- ..

+other.plugins
\-- ..

Product file is in plugin. Product is feature based therefore it includes 
the product.feature. On the other hand product.feature lists product.plugin 
in its feature.xml. Before version 0.3.0 product files where not parsed so 
there was no problem with my layout.

I have tried several scenarios:

1) Materialize product.plugin. Then I get something working and I can 
perform buckminster actions. However product.feature does not get 
materialized. It seems that in this case product file is not considered by 
buckminster.

2) Materialize product.feature. I get this error at resolve and can not 
proceed further:

Circular component dependency detected. Chain is product.plugin -> product.feature -> product.plugin

3) I add advisor node to my cquery:

<advisorNode namePattern="product.feature" componentType="eclipse.feature" allowCircularDependency="true"/>

Then I materialize everything successfully but get endless recursion on 
perform action.


I hope this information helps,

Vaidas

Thomas Hallgren wrote:

> Hi Vaidas,
> This is odd. I can't recall I've modified anything that would have an
> impact on the resolver. Are the things you're working on proprietary or is
> there a chance for me to look at it? I must get some more info somehow in
> order to address this.
> 
>  From the looks of it, you get an endless recursion in LocalResolver but
>  I'm not sure why that would
> happen. Any chance you have introduced a circular dependency? If you have,
> it should be trapped and not result in a stack overflow so something is
> definitely wrong, but I'm still curious.
> 
> Regards,
> Thomas Hallgren
> 
> Vaidas Nargelas wrote:
>> Hi Thomas,
>> 
>> I have upgraded buckminster to r07488 and headless r07406 and I can no
>> longer perform an action. When I do perform plugin_x#bundle.jar I get
>> this exception:
>> 
>> java.lang.StackOverflowError
>>         at sun.nio.cs.UTF_8$Encoder.encodeArrayLoop(UTF_8.java:446)
>>         at sun.nio.cs.UTF_8$Encoder.encodeLoop(UTF_8.java:517)
>>         at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:544)
>>         at java.lang.StringCoding$StringEncoder.encode(StringCoding.java:240)
>>         at java.lang.StringCoding.encode(StringCoding.java:272)
>>         at java.lang.String.getBytes(String.java:947)
>>         at java.io.UnixFileSystem.getBooleanAttributes0(Native Method)
>>         at java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:228)
>>         at java.io.File.exists(File.java:733)
>>         at org.eclipse.buckminster.core.metadata.WorkspaceInfo.getMaterialization(WorkspaceInfo.java:397)
>>         at org.eclipse.buckminster.core.metadata.WorkspaceInfo.getMaterialization(WorkspaceInfo.java:419)
>>         at org.eclipse.buckminster.core.resolver.LocalResolver.localResolve(LocalResolver.java:190)
>>         at org.eclipse.buckminster.core.resolver.LocalResolver.deepResolve(LocalResolver.java:405)
>>         at org.eclipse.buckminster.core.resolver.LocalResolver.deepResolve(LocalResolver.java:450)
>>         at org.eclipse.buckminster.core.resolver.LocalResolver.deepResolve(LocalResolver.java:450)
>>         at org.eclipse.buckminster.core.resolver.LocalResolver.deepResolve(LocalResolver.java:450)
>>         at org.eclipse.buckminster.core.resolver.LocalResolver.deepResolve(LocalResolver.java:450)
>>         at org.eclipse.buckminster.core.resolver.LocalResolver.deepResolve(LocalResolver.java:450)
>>         at org.eclipse.buckminster.core.resolver.LocalResolver.deepResolve(LocalResolver.java:450)
>>         at org.eclipse.buckminster.core.resolver.LocalResolver.deepResolve(LocalResolver.java:450)
>>         ...
>> 
>> I can successfully perform the action with r7034.
>> 
>> Thanks,
>> 
>> Vaidas