See <http://hudson.zones.apache.org/hudson/job/Shindig/1128/changes>

Changes:

[johnh] This patch implements validation of the v= param used by the gadget 
rendering
and JS servlets to version and thus aggressively cache their content.

The patch introduces two new validation methods to UrlGenerator, one for
IframeUrls and one for JsUrls. Each is sufficiently generic that other
configuration mismatches could be validated in them as well. This does bloat
UrlGenerator a bit, which gives stronger reason to split it into separate URL
generation interfaces (gadget, js) sooner than later.

DefaultUrlGenerator is updated with JS validation using the jsChecksum already
available to it. The Iframe validation method is implemented with existing
semantics: trust v= if it exists. Subclasses may improve on this by doing
something like @Injecting a request-scoped Gadget object (directly or otherwise)
and validating the spec checksum directly.

JsServlet/GadgetRenderingServlet updated to avoid caching altogether in the case
of invalid/stale URLs.

Existing tests updated; it would be nice, at least during refactoring, to
improve tests to cover v= cases thoroughly.

------------------------------------------
[...truncated 210114 lines...]
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
        at 
hudson.plugins.cobertura.CoberturaCoverageParser.parse(CoberturaCoverageParser.java:77)
        ... 11 more
FATAL: Unable to parse 
/export/home/hudson/hudson/jobs/Shindig/builds/2009-10-05_19-32-01/coverage7113.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)
        at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
        at 
hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:480)
        at 
hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:466)
        at 
hudson.maven.MavenModuleSetBuild$RunnerImpl.post2(MavenModuleSetBuild.java:593)
        at 
hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:438)
        at hudson.model.Run.run(Run.java:1143)
        at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:303)
        at hudson.model.ResourceController.execute(ResourceController.java:88)
        at hudson.model.Executor.run(Executor.java:123)
Caused by: org.xml.sax.SAXParseException: Content is not allowed in trailing 
section.
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
        at 
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
        at 
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1411)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$TrailingMiscDriver.next(XMLDocumentScannerImpl.java:1438)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
        at 
hudson.plugins.cobertura.CoberturaCoverageParser.parse(CoberturaCoverageParser.java:77)
        ... 11 more
FATAL: Unable to parse 
/export/home/hudson/hudson/jobs/Shindig/builds/2009-10-05_19-32-01/coverage6753.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)
        at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
        at 
hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:480)
        at 
hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:466)
        at 
hudson.maven.MavenModuleSetBuild$RunnerImpl.post2(MavenModuleSetBuild.java:593)
        at 
hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:438)
        at hudson.model.Run.run(Run.java:1143)
        at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:303)
        at hudson.model.ResourceController.execute(ResourceController.java:88)
        at hudson.model.Executor.run(Executor.java:123)
Caused by: org.xml.sax.SAXParseException: Premature end of file.
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
        at 
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
        at 
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1411)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1044)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
        at 
hudson.plugins.cobertura.CoberturaCoverageParser.parse(CoberturaCoverageParser.java:77)
        ... 11 more
FATAL: Unable to parse 
/export/home/hudson/hudson/jobs/Shindig/builds/2009-10-05_19-32-01/coverage5646.xml
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 
Invalid byte 1 of 1-byte UTF-8 sequence.
        at 
com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:674)
        at 
com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:547)
        at 
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1742)
        at 
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.arrangeCapacity(XMLEntityScanner.java:1619)
        at 
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipString(XMLEntityScanner.java:1657)
        at 
com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:193)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
        at 
hudson.plugins.cobertura.CoberturaCoverageParser.parse(CoberturaCoverageParser.java:77)
        at 
hudson.plugins.cobertura.CoberturaCoverageParser.parse(CoberturaCoverageParser.java:48)
        at 
hudson.plugins.cobertura.CoberturaPublisher.perform(CoberturaPublisher.java:258)
        at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
        at 
hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:480)
        at 
hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:466)
        at 
hudson.maven.MavenModuleSetBuild$RunnerImpl.post2(MavenModuleSetBuild.java:593)
        at 
hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:438)
        at hudson.model.Run.run(Run.java:1143)
        at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:303)
        at hudson.model.ResourceController.execute(ResourceController.java:88)
        at hudson.model.Executor.run(Executor.java:123)
FATAL: Unable to parse 
/export/home/hudson/hudson/jobs/Shindig/builds/2009-10-05_19-32-01/coverage434.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)
        at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
        at 
hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:480)
        at 
hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:466)
        at 
hudson.maven.MavenModuleSetBuild$RunnerImpl.post2(MavenModuleSetBuild.java:593)
        at 
hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:438)
        at hudson.model.Run.run(Run.java:1143)
        at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:303)
        at hudson.model.ResourceController.execute(ResourceController.java:88)
        at hudson.model.Executor.run(Executor.java:123)
Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
        at 
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
        at 
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1411)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1024)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
        at 
hudson.plugins.cobertura.CoberturaCoverageParser.parse(CoberturaCoverageParser.java:77)
        ... 11 more
FATAL: Unable to parse 
/export/home/hudson/hudson/jobs/Shindig/builds/2009-10-05_19-32-01/coverage846.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)
        at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
        at 
hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:480)
        at 
hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:466)
        at 
hudson.maven.MavenModuleSetBuild$RunnerImpl.post2(MavenModuleSetBuild.java:593)
        at 
hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:438)
        at hudson.model.Run.run(Run.java:1143)
        at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:303)
        at hudson.model.ResourceController.execute(ResourceController.java:88)
        at hudson.model.Executor.run(Executor.java:123)
Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
        at 
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
        at 
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1411)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1024)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
        at 
hudson.plugins.cobertura.CoberturaCoverageParser.parse(CoberturaCoverageParser.java:77)
        ... 11 more
FATAL: Unable to parse 
/export/home/hudson/hudson/jobs/Shindig/builds/2009-10-05_19-32-01/coverage393.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)
        at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
        at 
hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:480)
        at 
hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:466)
        at 
hudson.maven.MavenModuleSetBuild$RunnerImpl.post2(MavenModuleSetBuild.java:593)
        at 
hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:438)
        at hudson.model.Run.run(Run.java:1143)
        at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:303)
        at hudson.model.ResourceController.execute(ResourceController.java:88)
        at hudson.model.Executor.run(Executor.java:123)
Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
        at 
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
        at 
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1411)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1024)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
        at 
hudson.plugins.cobertura.CoberturaCoverageParser.parse(CoberturaCoverageParser.java:77)
        ... 11 more
FATAL: Unable to parse 
/export/home/hudson/hudson/jobs/Shindig/builds/2009-10-05_19-32-01/coverage1758.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)
        at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
        at 
hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:480)
        at 
hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:466)
        at 
hudson.maven.MavenModuleSetBuild$RunnerImpl.post2(MavenModuleSetBuild.java:593)
        at 
hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:438)
        at hudson.model.Run.run(Run.java:1143)
        at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:303)
        at hudson.model.ResourceController.execute(ResourceController.java:88)
        at hudson.model.Executor.run(Executor.java:123)
Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
        at 
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
        at 
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1411)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1024)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
        at 
hudson.plugins.cobertura.CoberturaCoverageParser.parse(CoberturaCoverageParser.java:77)
        ... 11 more
FATAL: Unable to parse 
/export/home/hudson/hudson/jobs/Shindig/builds/2009-10-05_19-32-01/coverage4006.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)
        at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
        at 
hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:480)
        at 
hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:466)
        at 
hudson.maven.MavenModuleSetBuild$RunnerImpl.post2(MavenModuleSetBuild.java:593)
        at 
hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:438)
        at hudson.model.Run.run(Run.java:1143)
        at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:303)
        at hudson.model.ResourceController.execute(ResourceController.java:88)
        at hudson.model.Executor.run(Executor.java:123)
Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
        at 
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
        at 
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1411)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1024)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
        at 
hudson.plugins.cobertura.CoberturaCoverageParser.parse(CoberturaCoverageParser.java:77)
        ... 11 more

Reply via email to