Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-7299

/api/xml?depth=1 throws exception

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Component/s: core
    • Labels:
      None
    • Environment:
      RHEL5.5

      Description

      We're running the latest Hudson 1.373 and trying to call /api/xml?depth=1. We get the following stack trace:

      [Winstone 2010/08/25 11:57:08] - Untrapped Error in Servlet
      javax.servlet.ServletException: org.kohsuke.stapler.export.NotExportableException: class hudson.util.DescribableList doesn't have @ExportedBean
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:569)
      at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:181)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:534)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:450)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:132)
      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.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 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.kohsuke.stapler.export.NotExportableException: class hudson.util.DescribableList doesn't have @ExportedBean
      at org.kohsuke.stapler.export.Model.<init>(Model.java:46)
      at org.kohsuke.stapler.export.ModelBuilder.get(ModelBuilder.java:25)
      at org.kohsuke.stapler.export.Property.writeValue(Property.java:181)
      at org.kohsuke.stapler.export.Property.writeValue(Property.java:106)
      at org.kohsuke.stapler.export.Property.writeTo(Property.java:83)
      at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:156)
      at org.kohsuke.stapler.export.Property.writeValue(Property.java:188)
      at org.kohsuke.stapler.export.Property.writeValue(Property.java:151)
      at org.kohsuke.stapler.export.Property.writeValue(Property.java:106)
      at org.kohsuke.stapler.export.Property.writeTo(Property.java:83)
      at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:156)
      at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:153)
      at org.kohsuke.stapler.export.Model.writeTo(Model.java:129)
      at org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:176)
      at hudson.model.Api.doXml(Api.java:88)
      at sun.reflect.GeneratedMethodAccessor73.invoke(Unknown Source)
      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:259)
      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:126)
      at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:65)
      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:79)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:534)
      ... 25 more

        Issue Links

          Activity

          ncdc ncdc created issue -
          Hide
          mindless Alan Harder added a comment -

          what plugins do you use?
          if you disable various plugins, restart hudson and try the xml api again, can you narrow down to which plugin is causing this?

          Show
          mindless Alan Harder added a comment - what plugins do you use? if you disable various plugins, restart hudson and try the xml api again, can you narrow down to which plugin is causing this?
          Hide
          spingel spingel added a comment -

          I can reproduce this with a vanilla 1.373 with a simple job that I had setup for testing. Simply going to http://localhost:8080/api/xml?depth=1 will trigger the 500 error. If I leave out the depth paramater and go to http://localhost:8080/api/xml it works fine.

          Show
          spingel spingel added a comment - I can reproduce this with a vanilla 1.373 with a simple job that I had setup for testing. Simply going to http://localhost:8080/api/xml?depth=1 will trigger the 500 error. If I leave out the depth paramater and go to http://localhost:8080/api/xml it works fine.
          Hide
          ncdc ncdc added a comment -

          I just grabbed a clean copy of 1.374, installed it, ran it, and tried to access http://localhost:8080/api/xml?depth=1. It still throws the same exception. Leaving off ?depth=1 will return XML. This is with 0 jobs and 0 plugins installed.

          Show
          ncdc ncdc added a comment - I just grabbed a clean copy of 1.374, installed it, ran it, and tried to access http://localhost:8080/api/xml?depth=1 . It still throws the same exception. Leaving off ?depth=1 will return XML. This is with 0 jobs and 0 plugins installed.
          Hide
          akiko_pusu akiko_pusu added a comment -

          Hello. I saw the same situation.
          When 1.372, this was not happened.
          After updating to 1.374, the result was the same.

          I'm using redmine_hudson plugin and the plugin call hudson's url like this:
          -----------------------------------------------------------------------------
          http://localhost:8080/api/xml?depth=1&xpath=/hudson&exclude=/hudson/view&exclude=/hudson/primaryView&exclude=/hudson/job/build&exclude=/hudson/job/lastCompletedBuild&exclude=/hudson/job/lastStableBuild&exclude=/hudson/job/lastSuccessfulBuild
          -----------------------------------------------------------------------------

          redmine_hudson plugin, http://www.r-labs.org/projects/r-labs/wiki/Hudson_En, is quite useful for us, so I hope this will be fixed soon.

          Show
          akiko_pusu akiko_pusu added a comment - Hello. I saw the same situation. When 1.372, this was not happened. After updating to 1.374, the result was the same. I'm using redmine_hudson plugin and the plugin call hudson's url like this: ----------------------------------------------------------------------------- http://localhost:8080/api/xml?depth=1&xpath=/hudson&exclude=/hudson/view&exclude=/hudson/primaryView&exclude=/hudson/job/build&exclude=/hudson/job/lastCompletedBuild&exclude=/hudson/job/lastStableBuild&exclude=/hudson/job/lastSuccessfulBuild ----------------------------------------------------------------------------- redmine_hudson plugin, http://www.r-labs.org/projects/r-labs/wiki/Hudson_En , is quite useful for us, so I hope this will be fixed soon.
          mindless Alan Harder made changes -
          Field Original Value New Value
          Assignee mindless [ mindless ]
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in hudson
          User: : mindless
          Path:
          trunk/hudson/main/core/src/main/java/hudson/model/labels/LabelAtom.java
          trunk/www/changelog.html
          http://jenkins-ci.org/commit/34310
          Log:
          [FIXED JENKINS-7299] export just LabelAtomProperty objs, not DescribableList which
          is not exportable, and was generating errors in remote API.

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in hudson User: : mindless Path: trunk/hudson/main/core/src/main/java/hudson/model/labels/LabelAtom.java trunk/www/changelog.html http://jenkins-ci.org/commit/34310 Log: [FIXED JENKINS-7299] export just LabelAtomProperty objs, not DescribableList which is not exportable, and was generating errors in remote API.
          scm_issue_link SCM/JIRA link daemon made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          dogfood dogfood added a comment -

          Integrated in hudson_main_trunk #241
          [FIXED JENKINS-7299] export just LabelAtomProperty objs, not DescribableList which
          is not exportable, and was generating errors in remote API.

          mindless :
          Files :

          • /trunk/www/changelog.html
          • /trunk/hudson/main/core/src/main/java/hudson/model/labels/LabelAtom.java
          Show
          dogfood dogfood added a comment - Integrated in hudson_main_trunk #241 [FIXED JENKINS-7299] export just LabelAtomProperty objs, not DescribableList which is not exportable, and was generating errors in remote API. mindless : Files : /trunk/www/changelog.html /trunk/hudson/main/core/src/main/java/hudson/model/labels/LabelAtom.java
          Hide
          max_av Maxim Abrashkin added a comment -

          Hello,

          I've verified this issue on Hudson 1.375 and found that it is not fixed.

          Stacktrace:

          [Winstone 2010/09/06 10:53:29] - Untrapped Error in Servlet
          javax.servlet.ServletException: org.kohsuke.stapler.export.NotExportableException: class hudson.util.DescribableList doesn't have @ExportedBean
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:569)
          at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:181)
          at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:534)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:450)
          at org.kohsuke.stapler.Stapler.service(Stapler.java:132)
          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.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:51)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:97)
          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 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:619)
          Caused by: org.kohsuke.stapler.export.NotExportableException: class hudson.util.DescribableList doesn't have @ExportedBean
          at org.kohsuke.stapler.export.Model.<init>(Model.java:46)
          at org.kohsuke.stapler.export.ModelBuilder.get(ModelBuilder.java:25)
          at org.kohsuke.stapler.export.Property.writeValue(Property.java:181)
          at org.kohsuke.stapler.export.Property.writeValue(Property.java:106)
          at org.kohsuke.stapler.export.Property.writeTo(Property.java:83)
          at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:156)
          at org.kohsuke.stapler.export.Property.writeValue(Property.java:188)
          at org.kohsuke.stapler.export.Property.writeValue(Property.java:151)
          at org.kohsuke.stapler.export.Property.writeValue(Property.java:106)
          at org.kohsuke.stapler.export.Property.writeTo(Property.java:83)
          at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:156)
          at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:153)
          at org.kohsuke.stapler.export.Model.writeTo(Model.java:129)
          at org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:176)
          at hudson.model.Api.doXml(Api.java:87)
          at sun.reflect.GeneratedMethodAccessor234.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:597)
          at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:259)
          at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:126)
          at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:65)
          at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:79)
          at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:534)
          ... 42 more

          Show
          max_av Maxim Abrashkin added a comment - Hello, I've verified this issue on Hudson 1.375 and found that it is not fixed. Stacktrace: [Winstone 2010/09/06 10:53:29] - Untrapped Error in Servlet javax.servlet.ServletException: org.kohsuke.stapler.export.NotExportableException: class hudson.util.DescribableList doesn't have @ExportedBean at org.kohsuke.stapler.Stapler.invoke(Stapler.java:569) at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:181) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:534) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:450) at org.kohsuke.stapler.Stapler.service(Stapler.java:132) 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.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:51) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:97) 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 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:619) Caused by: org.kohsuke.stapler.export.NotExportableException: class hudson.util.DescribableList doesn't have @ExportedBean at org.kohsuke.stapler.export.Model.<init>(Model.java:46) at org.kohsuke.stapler.export.ModelBuilder.get(ModelBuilder.java:25) at org.kohsuke.stapler.export.Property.writeValue(Property.java:181) at org.kohsuke.stapler.export.Property.writeValue(Property.java:106) at org.kohsuke.stapler.export.Property.writeTo(Property.java:83) at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:156) at org.kohsuke.stapler.export.Property.writeValue(Property.java:188) at org.kohsuke.stapler.export.Property.writeValue(Property.java:151) at org.kohsuke.stapler.export.Property.writeValue(Property.java:106) at org.kohsuke.stapler.export.Property.writeTo(Property.java:83) at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:156) at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:153) at org.kohsuke.stapler.export.Model.writeTo(Model.java:129) at org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:176) at hudson.model.Api.doXml(Api.java:87) at sun.reflect.GeneratedMethodAccessor234.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:259) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:126) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:65) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:79) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:534) ... 42 more
          max_av Maxim Abrashkin made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Hide
          mindless Alan Harder added a comment -

          oops, I put this in the changelog for 1.375, but just checked svn and it was not included. I'll update the changelog.. it'll be in 1.376

          Show
          mindless Alan Harder added a comment - oops, I put this in the changelog for 1.375, but just checked svn and it was not included. I'll update the changelog.. it'll be in 1.376
          mindless Alan Harder made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in hudson
          User: : mindless
          Path:
          trunk/www/changelog.html
          http://jenkins-ci.org/commit/34509
          Log:
          oops, JENKINS-7299 didn't make the cut for 1.375.. moved it to next

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in hudson User: : mindless Path: trunk/www/changelog.html http://jenkins-ci.org/commit/34509 Log: oops, JENKINS-7299 didn't make the cut for 1.375.. moved it to next
          mindless Alan Harder made changes -
          Link This issue is related to JENKINS-7808 [ JENKINS-7808 ]

            People

            • Assignee:
              mindless Alan Harder
              Reporter:
              ncdc ncdc
            • Votes:
              7 Vote for this issue
              Watchers:
              12 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: