For the curious, as detailed in the above JIRA this is actually this Ant bug: http://issues.apache.org/bugzilla/show_bug.cgi?id=42742. It's not really an Ivy problem, but is easy to trigger with the recommended buildlist/subant usage pattern for large builds. Briefly - if you do this, and re-taskdef your tasks every time, your PermGen space fills up with unused class definitions that are never released by Ant and everything slows to a crawl.
The solution for us was to do all our taskdefs once up front in our master build file. Taskdefs are persistent across subant calls, luckily. This has the side effect of preventing our inner build files from being independent, but in our case this wasn't a problem since we never build our modules independently anyway (in fact, the inner build files are about to be removed and replaced with the genericantfile option to subant). Cheers, Colin
