The “ant logfile […] does not exist” exception of the CruiseControl Ant task is very often misleading:

In most cases, CruiseControl has failed to invoke Ant altogether, but continues without any Exception and subsequently fails when trying to collect the logfile that Ant should have created…

For example, this logfile excerpt shows an Ant error (due to an invalid VM arg) at lines 2-4, but CruiseControl eats it and throws a different exception that has nothing to do with the original error:

[cc]jectController- MACHwb-nightly Controller: build progress event: now building
[cc]ScriptRunner  - Error occurred during initialization of VM
[cc]ScriptRunner  - Could not reserve enough space for object heap
[cc]ScriptRunner  - Could not create the Java virtual machine.
[cc]Project       - Project MACHwb-nightly:  idle
[cc]jectController- MACHwb-nightly Controller: build progress event: idle
[cc]Project       - exception attempting build in project MACHwb-nightly
net.sourceforge.cruisecontrol.CruiseControlException: ant logfile
D:\builds\projects\MACHwb-nightly\log.xml does not exist.
at net.sourceforge.cruisecontrol.builders.AntBuilder.getAntLogAsElement(AntBuilder.java:346)
at net.sourceforge.cruisecontrol.builders.AntBuilder.build(AntBuilder.java:177)
at net.sourceforge.cruisecontrol.Schedule.build(Schedule.java:159)
at net.sourceforge.cruisecontrol.Project.build(Project.java:221)
at net.sourceforge.cruisecontrol.Project.execute(Project.java:146)
at net.sourceforge.cruisecontrol.ProjectConfig.execute(ProjectConfig.java:369)
at net.sourceforge.cruisecontrol.ProjectWrapper.run(ProjectWrapper.java:69)
at java.lang.Thread.run(Thread.java:619)