I've just come across a very odd error while configuring one of our Hudson builds to publish cobertura metrics.
The build failed, and the console log contained many, many errors a bit like this one:
FATAL: Unable to parse /var/lib/hudson/jobs/blah/builds/2009-11-27_13-37-31/coverage1986.xml hudson.util.IOException2: Cannot parse coverage results at hudson.plugins.cobertura.CoberturaCoverageParser.parse(CoberturaCoverageParser.java:85) at hudson.plugins.cobertura.CoberturaCoverageParser.parse(CoberturaCoverageParser.java:48) at hudson.plugins.cobertura.CoberturaPublisher.perform(CoberturaPublisher.java:258)
Now I hadn't generated these coverage[nnnn].xml files, and nor did my build (at least, not when I ran it on my development machine). Inspection of the files on the hudson server revealed that they contained varying content, but each looked suspiciously like one of the files from my project.
A bit of digging found a Hudson bug report. Turns out that the problem was that I hadn't specified the path to the cobertura output file, coverage.xml, in the Hudson job configuration. D'oh!