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
