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

UpdateCenter REST API crashes when plugin installation failed

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      When plugin installation failed for some reason, http://localhost:8080/updateCenter/api/json?tree=jobs[error] returns 500 Error.
      Since UpdateCenter#UpdateCenterJob#getError returns Throwable instance, we should expose Throwable#getErrorMessage instead of itself.

      This happens since https://github.com/jenkinsci/jenkins/commit/76832379d8c3ed019b7ef8f36935df31ea23d261 is released.

      Status Code: 500
      Exception: org.kohsuke.stapler.export.NotExportableException: class java.net.UnknownHostException doesn't have @ExportedBean
      Stacktrace:
      
      javax.servlet.ServletException: org.kohsuke.stapler.export.NotExportableException: class java.net.UnknownHostException doesn't have @ExportedBean
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:615)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:658)
      	at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:203)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:573)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:658)
      	at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:203)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:573)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:658)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:487)
      	at org.kohsuke.stapler.Stapler.service(Stapler.java:164)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
      	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1367)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
      	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:101)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1338)
      	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1338)
      	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      	at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90)
      	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1338)
      	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1338)
      	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1338)
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:484)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
      	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:499)
      	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
      	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
      	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
      	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
      	at org.eclipse.jetty.server.Server.handle(Server.java:350)
      	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
      	at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)
      	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)
      	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
      	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
      	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:620)
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
      	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
      	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
      	at java.lang.Thread.run(Thread.java:680)
      Caused by: org.kohsuke.stapler.export.NotExportableException: class java.net.UnknownHostException doesn't have @ExportedBean
      	at org.kohsuke.stapler.export.Model.<init>(Model.java:71)
      	at org.kohsuke.stapler.export.ModelBuilder.get(ModelBuilder.java:48)
      	at org.kohsuke.stapler.export.Property.writeValue(Property.java:225)
      	at org.kohsuke.stapler.export.Property.writeValue(Property.java:137)
      	at org.kohsuke.stapler.export.Property.writeTo(Property.java:114)
      	at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:187)
      	at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:182)
      	at org.kohsuke.stapler.export.Property.writeValue(Property.java:232)
      	at org.kohsuke.stapler.export.Property.writeValue(Property.java:182)
      	at org.kohsuke.stapler.export.Property.writeValue(Property.java:137)
      	at org.kohsuke.stapler.export.Property.writeTo(Property.java:114)
      	at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:187)
      	at org.kohsuke.stapler.export.Model.writeTo(Model.java:154)
      	at org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:222)
      	at hudson.model.Api.doJson(Api.java:192)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	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:288)
      	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:151)
      	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:90)
      	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:111)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:573)
      	... 51 more
      

        Attachments

          Activity

          Show
          cynipe cynipe added a comment - https://github.com/jenkinsci/jenkins/pull/713
          Show
          cynipe cynipe added a comment - https://github.com/cynipe/jenkins/commit/e239228ea95d643024a8bbaa2319daac7f81ed69
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: cynipe
          Path:
          changelog.html
          core/src/main/java/hudson/model/UpdateCenter.java
          http://jenkins-ci.org/commit/jenkins/e7b2df21a92939e9f01ce0f9afd6112aafc1cfba
          Log:
          [FIXED JENKINS-16836] UpdateCenter REST API crashes when plugin installation failed


          You received this message because you are subscribed to the Google Groups "Jenkins Commits" group.
          To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscribe@googlegroups.com.
          For more options, visit https://groups.google.com/groups/opt_out.

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: cynipe Path: changelog.html core/src/main/java/hudson/model/UpdateCenter.java http://jenkins-ci.org/commit/jenkins/e7b2df21a92939e9f01ce0f9afd6112aafc1cfba Log: [FIXED JENKINS-16836] UpdateCenter REST API crashes when plugin installation failed – You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out .
          Hide
          dogfood dogfood added a comment -

          Integrated in jenkins_main_trunk #2281
          [FIXED JENKINS-16836] UpdateCenter REST API crashes when plugin installation failed (Revision e7b2df21a92939e9f01ce0f9afd6112aafc1cfba)

          Result = SUCCESS
          kohsuke : e7b2df21a92939e9f01ce0f9afd6112aafc1cfba
          Files :

          • changelog.html
          • core/src/main/java/hudson/model/UpdateCenter.java
          Show
          dogfood dogfood added a comment - Integrated in jenkins_main_trunk #2281 [FIXED JENKINS-16836] UpdateCenter REST API crashes when plugin installation failed (Revision e7b2df21a92939e9f01ce0f9afd6112aafc1cfba) Result = SUCCESS kohsuke : e7b2df21a92939e9f01ce0f9afd6112aafc1cfba Files : changelog.html core/src/main/java/hudson/model/UpdateCenter.java

            People

            • Assignee:
              cynipe cynipe
              Reporter:
              cynipe cynipe
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: