I didn't manage to find a scenario to reproduce it.  If someone want to try,
it is a very interresting algorithmic exercice.

Writing a new test case scenario is easy.  Understanding the executed
algortithm is more difficult.  But finding a scenario that loops is a
challenge.  Anyone interrested?


By the way, an other challenge could be to find a simpler graph sorting
algorithm.


Gilles


2007/10/17, Nascif Abousalh-Neto <[EMAIL PROTECTED]>:
>
> Created as https://issues.apache.org/jira/browse/IVY-624
> Thanks,
>   Nascif
>
> -----Original Message-----
> From: Xavier Hanin [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, October 17, 2007 3:52 PM
> To: [EMAIL PROTECTED]
> Subject: Re: StackOverflowError in 2.0 alpha2
>
> On 10/17/07, Nascif Abousalh-Neto <[EMAIL PROTECTED]> wrote:
> >
> > We are having a stack overflow problem in our build, which we recently
> > switched to alpha2.
> >
> > Here is the stack trace:
> > java.lang.StackOverflowError
> >         at
> > org.apache.tools.ant.Project.executeSortedTargets(Project.java:1225)
> >         at
> org.apache.tools.ant.Project.executeTarget(Project.java:1185)
> >       <deleted>
> >         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
> > Caused by: java.lang.StackOverflowError
> >         at java.io.FileOutputStream.write(FileOutputStream.java:260)
> >       <deleted>
> >         at java.io.PrintStream.println(PrintStream.java:739)
> >         at
> > org.apache.tools.ant.sdsLogger.printMessage(sdsLogger.java:368)
> >         at
> > org.apache.tools.ant.sdsLogger.messageLogged(sdsLogger.java:334)
> >         at
> > org.apache.tools.ant.Project.fireMessageLoggedEvent(Project.java:2009)
> >         at
> > org.apache.tools.ant.Project.fireMessageLogged(Project.java:2058)
> >         at org.apache.tools.ant.Project.log(Project.java:367)
> >         at org.apache.tools.ant.Task.log(Task.java:346)
> >         at
> org.apache.ivy.ant.AntMessageImpl.log(AntMessageImpl.java:81)
> >         at org.apache.ivy.util.Message.debug(Message.java:107)
> >         at
> > org.apache.ivy.core.sort.ModuleInSort.isSorted(ModuleInSort.java:70)
> >         at
> >
> org.apache.ivy.core.sort.ModuleInSort.addToSortList(ModuleInSort.java:13
> > 8)
> >         at
> >
> org.apache.ivy.core.sort.ModuleInSort.addToSortList(ModuleInSort.java:13
> > 6)
> >         at
> >
> org.apache.ivy.core.sort.ModuleInSort.addToSortList(ModuleInSort.java:13
> > 6)
> >         at
> >
> org.apache.ivy.core.sort.ModuleInSort.addToSortList(ModuleInSort.java:13
> > 6)
> >         at
> >
> org.apache.ivy.core.sort.ModuleInSort.addToSortList(ModuleInSort.java:13
> > 6)
> >         at
> >
> org.apache.ivy.core.sort.ModuleInSort.addToSortList(ModuleInSort.java:13
> > 6)
> >
> > The details: a previous project in the overall build had circular
> > dependencies and evictions. Ivy printed warnings when resolving them
> >
> > [ivy:resolve]   [ SAS | sas.expr.visuals | 9.2.0.20071011130105 ] by
> [[
> > SAS | sas.expr.visuals | 9.2.0.20071017131948 ]] in [compile]
> > [ivy:resolve]   [ SAS | sas.common.framework | 4.2.0.20071011130835 ]
> by
> > [[ SAS | sas.common.framework | 4.2.0.20071017133619 ]] in [compile]
> > [ivy:resolve]   [ SAS | sas.rpf | 9.2.0.20071011130107 ] by [[ SAS |
> > sas.rpf | 9.2.0.20071017131949 ]] in [compile]
> > [ivy:resolve]   [ SAS | sas.graph.esrimap | 9.2.0.20071011131401 ] by
> [[
> > SAS | sas.graph.esrimap | 9.2.0.20071017135759 ]] in [compile]
> > [ivy:resolve]   [ SAS | sas.svc.events | 9.2.0.20071011130331 ] by [[
> > SAS | sas.svc.events | 9.2.0.20071017132640 ]] in [compile]
> > [ivy:resolve]   [ SAS | sas.oma.omi | 9.2.0.20071011130103 ] by [[ SAS
> |
> > sas.oma.omi | 9.2.0.20071017132154 ]] in [compile]
> >
> > ---------------------------------------------------------------------
> >         |                  |            modules            ||
> > artifacts   |
> >         |       conf       | number| search|dwnlded|evicted||
> > number|dwnlded|
> >
> > ---------------------------------------------------------------------
> >         |      compile     |  184  |   49  |   0   |   37  ||  140  |
> > 2   |
> >
> > ---------------------------------------------------------------------
> > [ivy:resolve]
> > [ivy:resolve] :: problems summary ::
> > [ivy:resolve] :::: WARNINGS
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.entities.util |
> 9.2.0.20071017132455
> > ]->[ SAS | sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS |
> > sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS | sas.swing |
> > 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.report.config |
> 9.2.0.20071017132642
> > ]->[ SAS | sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS |
> > sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.connection.platform |
> > 9.2.0.20071017132640 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.events | 9.2.0.20071017132640
> > ]->[ SAS | sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS |
> > sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.entities.util |
> 9.2.0.20071017132455
> > ]->[ SAS | sas.svc.storedprocess | 9.2.0.20071017133130 ]->[ SAS |
> > sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote
> |
> > 9.2.0.20071017133644 ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.connection.platform |
> > 9.2.0.20071017132640 ]->[ SAS | sas.svc.storedprocess |
> > 9.2.0.20071017133130 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.storedprocess |
> > 9.2.0.20071017133130 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.events | 9.2.0.20071017132640
> > ]->[ SAS | sas.svc.storedprocess | 9.2.0.20071017133130 ]->[ SAS |
> > sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote
> |
> > 9.2.0.20071017133644 ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[
> > SAS | sas.svc.core | 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.connection.platform |
> > 9.2.0.20071017132640 ]->[ SAS | sas.svc.publish | 9.2.0.20071017132941
> > ]->[ SAS | sas.svc.storedprocess | 9.2.0.20071017133130 ]->[ SAS |
> > sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote
> |
> > 9.2.0.20071017133644 ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[
> > SAS | sas.svc.core | 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.publish | 9.2.0.20071017132941
> > ]->[ SAS | sas.svc.storedprocess | 9.2.0.20071017133130 ]->[ SAS |
> > sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote
> |
> > 9.2.0.20071017133644 ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[
> > SAS | sas.svc.core | 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.svc.storedprocess |
> > 9.2.0.20071017133130 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.entities.util |
> 9.2.0.20071017132455
> > ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503 ]->[ SAS |
> > sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS | sas.swing |
> > 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.entities.util |
> 9.2.0.20071017132455
> > ]->[ SAS | sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS |
> > sas.iqueryutil | 9.2.0.20071017133503 ]->[ SAS | sas.swing.remote |
> > 9.2.0.20071017133644 ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.report.config |
> 9.2.0.20071017132642
> > ]->[ SAS | sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS |
> > sas.iqueryutil | 9.2.0.20071017133503 ]->[ SAS | sas.swing.remote |
> > 9.2.0.20071017133644 ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[
> > SAS | sas.svc.core | 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.connection.platform |
> > 9.2.0.20071017132640 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455
> ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455
> ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.events | 9.2.0.20071017132640
> > ]->[ SAS | sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS |
> > sas.iqueryutil | 9.2.0.20071017133503 ]->[ SAS | sas.swing.remote |
> > 9.2.0.20071017133644 ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[
> > SAS | sas.svc.core | 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.entities.util |
> 9.2.0.20071017132455
> > ]->[ SAS | sas.svc.storedprocess | 9.2.0.20071017133130 ]->[ SAS |
> > sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil |
> > 9.2.0.20071017133503 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.connection.platform |
> > 9.2.0.20071017132640 ]->[ SAS | sas.svc.storedprocess |
> > 9.2.0.20071017133130 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455
> ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.storedprocess |
> > 9.2.0.20071017133130 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455
> ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.events | 9.2.0.20071017132640
> > ]->[ SAS | sas.svc.storedprocess | 9.2.0.20071017133130 ]->[ SAS |
> > sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil |
> > 9.2.0.20071017133503 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.connection.platform |
> > 9.2.0.20071017132640 ]->[ SAS | sas.svc.publish | 9.2.0.20071017132941
> > ]->[ SAS | sas.svc.storedprocess | 9.2.0.20071017133130 ]->[ SAS |
> > sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil |
> > 9.2.0.20071017133503 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.publish | 9.2.0.20071017132941
> > ]->[ SAS | sas.svc.storedprocess | 9.2.0.20071017133130 ]->[ SAS |
> > sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil |
> > 9.2.0.20071017133503 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.svc.storedprocess |
> > 9.2.0.20071017133130 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.connection.platform |
> > 9.2.0.20071017132640 ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455
> ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455
> ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.report.config |
> 9.2.0.20071017132642
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455
> ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.connection.platform |
> > 9.2.0.20071017132640 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.connection.platform |
> > 9.2.0.20071017132640 ]->[ SAS | sas.svc.publish | 9.2.0.20071017132941
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455
> ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.publish | 9.2.0.20071017132941
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455
> ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.entities.util |
> 9.2.0.20071017132455
> > ]->[ SAS | sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS |
> > sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS | sas.swing |
> > 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.report.config |
> 9.2.0.20071017132642
> > ]->[ SAS | sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS |
> > sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.connection.platform |
> > 9.2.0.20071017132640 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.events | 9.2.0.20071017132640
> > ]->[ SAS | sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS |
> > sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.entities.util |
> 9.2.0.20071017132455
> > ]->[ SAS | sas.svc.storedprocess | 9.2.0.20071017133130 ]->[ SAS |
> > sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote
> |
> > 9.2.0.20071017133644 ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.connection.platform |
> > 9.2.0.20071017132640 ]->[ SAS | sas.svc.storedprocess |
> > 9.2.0.20071017133130 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.storedprocess |
> > 9.2.0.20071017133130 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.events | 9.2.0.20071017132640
> > ]->[ SAS | sas.svc.storedprocess | 9.2.0.20071017133130 ]->[ SAS |
> > sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote
> |
> > 9.2.0.20071017133644 ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[
> > SAS | sas.svc.core | 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.connection.platform |
> > 9.2.0.20071017132640 ]->[ SAS | sas.svc.publish | 9.2.0.20071017132941
> > ]->[ SAS | sas.svc.storedprocess | 9.2.0.20071017133130 ]->[ SAS |
> > sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote
> |
> > 9.2.0.20071017133644 ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[
> > SAS | sas.svc.core | 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.publish | 9.2.0.20071017132941
> > ]->[ SAS | sas.svc.storedprocess | 9.2.0.20071017133130 ]->[ SAS |
> > sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote
> |
> > 9.2.0.20071017133644 ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[
> > SAS | sas.svc.core | 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.svc.storedprocess |
> > 9.2.0.20071017133130 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.entities.util |
> 9.2.0.20071017132455
> > ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503 ]->[ SAS |
> > sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS | sas.swing |
> > 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.entities.util |
> 9.2.0.20071017132455
> > ]->[ SAS | sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS |
> > sas.iqueryutil | 9.2.0.20071017133503 ]->[ SAS | sas.swing.remote |
> > 9.2.0.20071017133644 ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.report.config |
> 9.2.0.20071017132642
> > ]->[ SAS | sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS |
> > sas.iqueryutil | 9.2.0.20071017133503 ]->[ SAS | sas.swing.remote |
> > 9.2.0.20071017133644 ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[
> > SAS | sas.svc.core | 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.connection.platform |
> > 9.2.0.20071017132640 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455
> ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455
> ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.events | 9.2.0.20071017132640
> > ]->[ SAS | sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS |
> > sas.iqueryutil | 9.2.0.20071017133503 ]->[ SAS | sas.swing.remote |
> > 9.2.0.20071017133644 ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[
> > SAS | sas.svc.core | 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.entities.util |
> 9.2.0.20071017132455
> > ]->[ SAS | sas.svc.storedprocess | 9.2.0.20071017133130 ]->[ SAS |
> > sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil |
> > 9.2.0.20071017133503 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.connection.platform |
> > 9.2.0.20071017132640 ]->[ SAS | sas.svc.storedprocess |
> > 9.2.0.20071017133130 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455
> ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.storedprocess |
> > 9.2.0.20071017133130 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455
> ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.events | 9.2.0.20071017132640
> > ]->[ SAS | sas.svc.storedprocess | 9.2.0.20071017133130 ]->[ SAS |
> > sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil |
> > 9.2.0.20071017133503 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.connection.platform |
> > 9.2.0.20071017132640 ]->[ SAS | sas.svc.publish | 9.2.0.20071017132941
> > ]->[ SAS | sas.svc.storedprocess | 9.2.0.20071017133130 ]->[ SAS |
> > sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil |
> > 9.2.0.20071017133503 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.publish | 9.2.0.20071017132941
> > ]->[ SAS | sas.svc.storedprocess | 9.2.0.20071017133130 ]->[ SAS |
> > sas.iquery.services | 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil |
> > 9.2.0.20071017133503 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.svc.storedprocess |
> > 9.2.0.20071017133130 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.iquery.services |
> > 9.2.0.20071017133322 ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.connection.platform |
> > 9.2.0.20071017132640 ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455
> ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455
> ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.iqueryutil | 9.2.0.20071017133503
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.report.config |
> 9.2.0.20071017132642
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455
> ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.connection.platform |
> > 9.2.0.20071017132640 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.connection.platform |
> > 9.2.0.20071017132640 ]->[ SAS | sas.svc.publish | 9.2.0.20071017132941
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455
> ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.svc.core |
> > 9.2.0.20071017132455 ]->[ SAS | sas.svc.publish | 9.2.0.20071017132941
> > ]->[ SAS | sas.swing.remote | 9.2.0.20071017133644 ]->[ SAS |
> sas.swing
> > | 9.2.0.20071017132332 ]->[ SAS | sas.svc.core | 9.2.0.20071017132455
> ]
> > [ivy:resolve]   circular dependency found: [ SAS | sas.swing |
> > 9.2.0.20071017132332 ]->[ SAS | sas.swing.remote |
> 9.2.0.20071017133644
> > ]->[ SAS | sas.swing | 9.2.0.20071017132332 ]
> >
> > But the build completed with no errors. The build that thrown the
> > exception happened afterwards, and in this particular case, all
> entries
> > where already in the cache, loaded from the build from a previous
> > project - there were no download messages. I wonder if the loop checks
> > are being done in the first scenario (as dependencies are being
> > downloaded) but not in the second (when they are read from the cache)
> ?
> >
> > Here is the code causing the recursion:
> > 133:   private void addToSortList(List sortedList) {
> > 134:        for (Iterator it = loopElements.iterator(); it.hasNext();)
> {
> > 135:            ModuleInSort moduleInLoop = (ModuleInSort) it.next();
> > 136:            moduleInLoop.addToSortList(sortedList);
> > 137:        }
> > 138:        if (!this.isSorted()) {
> > 139:            sortedList.add(module);
> > 140:            this.isSorted = true;
> > 141:        }
> > 142:    }
> >
> > There is no check inlines 134-136 to make sure it is safe to keep the
> > recursion; actually since you are creating a brand new iterator on
> > loopElements on every call, moduleInLoop always point to the first
> > element of loopElements. I don't see how this code will *not* result
> in
> > an infinite loop if loopElements is not empty!
>
>
> You don't always have an infinite recursion because the addToSort method
> is
> called on another ModuleInSort instance, which has its own loopElements,
> which may be empty. I think an infinite recursion will occur "only" if a
> ModuleInSort can be found among the loopElements of any of the
> ModuleInSort
> of its loopElements, recursively. Having a junit test case to reproduce
> the
> problem may not be easy, but we can add a guard against this infinite
> recursion. Anyway, I think it deserves a new JIRA issue.
>
> Xavier
>
> I don't have a unit test case, as this is part of a really large build.
> > We will post one if we can isolate it.
> > Is this a known issue or does it deserve a new JIRA entry? I saw a
> > similar discussion in August but it was about 1.4.1. There was (to my
> > knowledge) no JIRA issue created for that one.
> >
> > Thanks,
> >   Nascif
> >
> >
> >
> >
>
>
> --
> Xavier Hanin - Independent Java Consultant
> http://xhab.blogspot.com/
> http://ant.apache.org/ivy/
> http://www.xoocode.org/
>



-- 
Gilles SCOKART

Reply via email to