ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gilles Scokart" <gscok...@gmail.com>
Subject Re: Out of memory problems with interdependent project
Date Mon, 13 Aug 2007 09:17:34 GMT
Ivy is suposed to handle circular dependencies.  And it is suposed to
work on big project.  I persoanlly use it on a project with +/- 60
modules to build with +/- 40 external modules and it works (but we
don't have circualar dependencies).

So the things you can certainly do is raising a jira issue.  It seems
to be a severe problem so we will probably handle it soon.

Depending on the time you want to spend on it, you can of curse also
dig into the code, propose a unit test illustrating your problem, or
propose a patch for it :-) (See [1]).

Thanks anyway to have reported the problem.

[1] http://incubator.apache.org/ivy/history/trunk/dev.html

2007/8/13, Jeffrey Blattman <jeffrey.blattman@gmail.com>:
> Ivy does add the memory requirements of ant, so you might just trying
> increasing the heap and stack size when the build runs. it might be that
> simple.
>
> Colin Fleming wrote:
> > Hi all,
> >
> > We're trying to convert an existing large project to use Ivy. It's an
> > OSGi project, so it's already sorted into modules (bundles) and Ivy
> > makes a lot of sense. The problem is that the project has a lot of
> > modules (83) and since we're moving from a monolithic project it's
> > massively interdependent, there are circular dependencies all through
> > it. When we try to run an ivy:buildlist on the whole project, it just
> > barfs with a java.lang.OutOfMemoryError: Java heap space. If we try to
> > run the buildlist giving it a single module as a root it gives a
> > java.lang.StackOverflowError:
> >
> > Caused by: java.lang.StackOverflowError
> >       at java.util.HashMap.hash(HashMap.java:264)
> >       at java.util.HashMap.get(HashMap.java:320)
> >       at org.apache.ivy.ant.IvyBuildList.processFilterNodeFromRoot(IvyBuildList.java:331)
> >       at org.apache.ivy.ant.IvyBuildList.processFilterNodeFromRoot(IvyBuildList.java:334)
> >       at org.apache.ivy.ant.IvyBuildList.processFilterNodeFromRoot(IvyBuildList.java:334)
> >       at org.apache.ivy.ant.IvyBuildList.processFilterNodeFromRoot(IvyBuildList.java:334)
> >       at org.apache.ivy.ant.IvyBuildList.processFilterNodeFromRoot(IvyBuildList.java:334)
> > etc etc
> >
> > The program outputs are available here:
> >
> > http://colinfleming.net/all.html (caution - 11Mb)
> > http://colinfleming.net/compilation.html
> >
> > Is there anything that we can do to get this up and running? Obviously
> > we have a lot of refactoring to do, but if possible I'd at least like
> > to get the thing building first. Is this an Ivy bug or does it simply
> > not handle circular dependencies well?
> >
> > Thanks in advance,
> > Colin
> >
> >
>


-- 
Gilles SCOKART

Mime
View raw message