[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 Vaidas,
of course. Stupid mistake. I'll correct this ASAP. Thanks for a very clear analyze. It does indeed help a lot.


Regards,
Thomas Hallgren

vaidasn@xxxxxxxxx wrote:
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