Bug in ivy

My build failed with this error below. I supposed you need to escape '&' in the file name (scroll down to the end).

Any quick work-around? I suppose I will need to excluding this file from artifacts somehow.

: Unexpected error: problem during retrieve of org : java.text.ParseException: failed to parse report: C:\TeamCity\buildAgent\work\.ivy\cache\org-bt4-default.xml: The reference to entity "PHalfFloats_vendor" must end with the ';' delimiter.
: java.lang.RuntimeException: problem during retrieve of org : java.text.ParseException: failed to parse report: C:\TeamCity\buildAgent\work\.ivy\cache\org-bt4-default.xml: The reference to entity "PHalfFloats_vendor" must end with the ';' delimiter.
java.lang.RuntimeException: problem during retrieve of org : java.text.ParseException: failed to parse report: C:\TeamCity\buildAgent\work\.ivy\cache\org-bt4-default.xml: The reference to entity "PHalfFloats_vendor" must end with the ';' delimiter.
at fr.jayasoft.ivy.Ivy.retrieve(Ivy.java:1996)
at fr.jayasoft.ivy.Ivy.retrieve(Ivy.java:1914)
at fr.jayasoft.ivy.Ivy.retrieve(Ivy.java:1910)
at fr.jayasoft.ivy.Ivy.retrieve(Ivy.java:1904)
at jetbrains.buildServer.agent.impl.DependencyResolverImpl.resolve(DependencyResolverImpl.java:109)
at jetbrains.buildServer.agent.impl.BuildAgentImpl$BuildRunAction.runActualBuild(BuildAgentImpl.java:1112)
at jetbrains.buildServer.agent.impl.BuildAgentImpl$BuildRunAction.run(BuildAgentImpl.java:1057)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.text.ParseException: failed to parse report: C:\TeamCity\buildAgent\work\.ivy\cache\org-bt4-default.xml: The reference to entity "PHalfFloats_vendor" must end with the ';' delimiter.
at fr.jayasoft.ivy.xml.XmlReportParser.getArtifacts(XmlReportParser.java:150)
at fr.jayasoft.ivy.xml.XmlReportParser.getArtifacts(XmlReportParser.java:141)
at fr.jayasoft.ivy.Ivy.determineArtifactsToCopy(Ivy.java:2038)
at fr.jayasoft.ivy.Ivy.retrieve(Ivy.java:1930)
... 7 more
Caused by: org.xml.sax.SAXParseException: The reference to entity "PHalfFloats_vendor" must end with the ';' delimiter.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
at org.apache.xerces.impl.XMLScanner.scanAttributeValue(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanAttribute(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:311)
at fr.jayasoft.ivy.xml.XmlReportParser$SaxXmlReportParser.parse(XmlReportParser.java:50)
at fr.jayasoft.ivy.xml.XmlReportParser.getArtifacts(XmlReportParser.java:147)
... 10 more

Fragment from .ivy\cache\org-bt4-default.xml

/vendor/1.6.0.4EndDateS&PHalfFloats_vendor" type="sql" ext="sql" status="successful" size="663"> ]]>

1 comment

It's a known bug in Ivy. They fixed it in the source repository but there were no official release of the Ivy yet. In TeamCity 4.0 EAP we are using Ivy-2.0-beta2 which is known to work correctly with such files. Unfortunately you can't just take Ivy-2.0 and put it in 3.1.X TeamCity server because the Ivy API we used has been changed too.

So at the moment you have the following options:
- upgrade to Calcutta 4.0 EAP
- do not publish artifact with such name (rename artifact)

--
Pavel Sher

0

Please sign in to leave a comment.