xml api broken in 1.399?

64 views
Skip to first unread message

Brian J. Murrell

unread,
Mar 2, 2011, 12:07:48 PM3/2/11
to jenkins...@googlegroups.com
Hi,

When I try to use the XML API to fetch some information about a
project's latest build (i.e.
http://jenkins/job/foo/lastSuccessfulBuild/api/xml?xpath=//artifact/displayPath&wrapper=top
I get an error:

Status Code: 500

Exception:
Stacktrace:
hudson.util.IOException2: Error on line 1 of document : Element type
"origin" must be followed by either attribute specifications, ">" or
"/>". Nested exception: Element type "origin" must be followed by either
attribute specifications, ">" or "/>".
at hudson.model.Api.doXml(Api.java:142)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:282)
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:149)
at
org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:88)
at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:102)
at
org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:562)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:640)
at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:204)
at
org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:562)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:640)
at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:204)
at
org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:562)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:640)
at org.kohsuke.stapler.MetaClass$7.doDispatch(MetaClass.java:242)
at
org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:562)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:640)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:478)
at org.kohsuke.stapler.Stapler.service(Stapler.java:160)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
at winstone.ServletConfiguration.execute(ServletConfiguration.java:249)
at winstone.RequestDispatcher.forward(RequestDispatcher.java:335)
at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:378)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86)
at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
at
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
at
hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
at
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
at
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at
org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at
org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
at
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at
org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
at
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at
org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
at
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
at
hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
at
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at
hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
at
hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
at
winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244)
at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
at java.lang.Thread.run(Thread.java:636)
Caused by: org.dom4j.DocumentException: Error on line 1 of document :
Element type "origin" must be followed by either attribute
specifications, ">" or "/>". Nested exception: Element type "origin"
must be followed by either attribute specifications, ">" or "/>".
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.dom4j.io.SAXReader.read(SAXReader.java:365)
at hudson.model.Api.doXml(Api.java:100)
... 63 more
Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber:
163; Element type "origin" must be followed by either attribute
specifications, ">" or "/>".
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:391)
at
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1391)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.seekCloseOfStartTag(XMLDocumentFragmentScannerImpl.java:1366)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:245)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2732)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:812)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:741)
at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208)
at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525)
at org.dom4j.io.SAXReader.read(SAXReader.java:465)
... 65 more

If I try to use a more basic URL:
http://jenkins/job/foo/lastSuccessfulBuild/api/xml I get:

This page contains the following errors:

error on line 1 at column 162: error parsing attribute name
Below is a rendering of the page up to the first error.

Started by an SCM change

yet the JSON and Python APIs for the same URL work just fine:
http://jenkins/job/foo/lastSuccessfulBuild/api/xml

{"actions":[{"causes":[{"shortDescription":"Started by an SCM
change"}]},{},{"buildsByBranchName":{"...":
...
,"changeSet":{"items":[],"kind":null},"culprits":[]}

The XML API was working up until recently. Is this something that has
broken recently?

Cheers,
b.

--
Brian J. Murrell
Senior Software Engineer
Whamcloud, Inc.

signature.asc

Kohsuke Kawaguchi

unread,
Mar 2, 2011, 6:42:23 PM3/2/11
to jenkins...@googlegroups.com, Brian J. Murrell
I've improved error diagnostics toward 1.401 so that we can see how
XML is broken in the error message.

2011/3/2 Kohsuke Kawaguchi <k...@kohsuke.org>:
> Can  you run it without the 'xpath' parameter and report back what
> (broken) XML you get?
>
> 2011/3/2 Brian J. Murrell <br...@whamcloud.com>:

> --
> Kohsuke Kawaguchi
>

--
Kohsuke Kawaguchi

Kohsuke Kawaguchi

unread,
Mar 2, 2011, 6:38:55 PM3/2/11
to jenkins...@googlegroups.com, Brian J. Murrell
Can you run it without the 'xpath' parameter and report back what
(broken) XML you get?

2011/3/2 Brian J. Murrell <br...@whamcloud.com>:

--
Kohsuke Kawaguchi

Brian J. Murrell

unread,
Mar 3, 2011, 8:22:13 AM3/3/11
to jenkins...@googlegroups.com
On 11-03-02 06:38 PM, Kohsuke Kawaguchi wrote:
> Can you run it without the 'xpath' parameter and report back what
> (broken) XML you get?

That was included in my original message...

> 2011/3/2 Brian J. Murrell <br...@whamcloud.com>:
>>

>> If I try to use a more basic URL:
>> http://jenkins/job/foo/lastSuccessfulBuild/api/xml I get:
>>
>> This page contains the following errors:
>>
>> error on line 1 at column 162: error parsing attribute name
>> Below is a rendering of the page up to the first error.
>>
>> Started by an SCM change

Cheers,

signature.asc
Reply all
Reply to author
Forward
0 new messages