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

computer/api/json?depth=1: NotExportableException: class java.io.IOException doesn't have @ExportedBean so cannot write hudson.slaves.OfflineCause$ChannelTermination.cause

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      https://issues.jenkins-ci.org/browse/JENKINS-23409

      http://<host>/jenkins/computer/api/json?depth=1 fails with:

      Stack trace

      javax.servlet.ServletException: org.kohsuke.stapler.export.NotExportableException: class java.io.IOException doesn't have @ExportedBean so cannot write hudson.slaves.OfflineCause$ChannelTermination.cause
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:778)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
      at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:210)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
      at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:210)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:225)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:751)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1666)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
      at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:206)
      at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:179)
      at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:86)
      at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:84)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:99)
      at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:99)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1653)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:91)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1653)
      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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
      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 hudson.security.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:114)
      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 org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1653)
      at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1653)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1653)
      at yjava.servlet.FilterChainInvoker$ServletFilterChainInvoker.invoke(FilterChainInvoker.java:49)
      at yjava.servlet.filter.BouncerFilter.doFilter(BouncerFilter.java:251)
      at yjava.servlet.filter.BouncerFilter.doFilter(BouncerFilter.java:117)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1645)
      at yjava.servlet.FilterChainInvoker$ServletFilterChainInvoker.invoke(FilterChainInvoker.java:49)
      at yjava.servlet.filter.SSLCrimeFilter.doFilter(SSLCrimeFilter.java:82)
      at yjava.servlet.filter.SSLCrimeFilter.doFilter(SSLCrimeFilter.java:47)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1636)
      at yjava.servlet.FilterChainInvoker$ServletFilterChainInvoker.invoke(FilterChainInvoker.java:49)
      at yjava.servlet.filter.YHdrsFilter.doFilter(YHdrsFilter.java:69)
      at yjava.servlet.filter.YHdrsFilter.doFilter(YHdrsFilter.java:53)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1636)
      at yjava.servlet.FilterChainInvoker$ServletFilterChainInvoker.invoke(FilterChainInvoker.java:49)
      at yjava.cookie.CookieDataFilter.doFilter(CookieDataFilter.java:447)
      at yjava.cookie.CookieDataFilter.doFilter(CookieDataFilter.java:219)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1636)
      at yjava.servlet.FilterChainInvoker$ServletFilterChainInvoker.invoke(FilterChainInvoker.java:49)
      at yjava.servlet.filter.DoNotTrackFilter.doFilter(DoNotTrackFilter.java:110)
      at yjava.servlet.filter.DoNotTrackFilter.doFilter(DoNotTrackFilter.java:50)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1636)
      at yjava.servlet.FilterChainInvoker$ServletFilterChainInvoker.invoke(FilterChainInvoker.java:49)
      at yjava.remote.ip.RemoteIPFilter.doFilter(RemoteIPFilter.java:104)
      at yjava.remote.ip.RemoteIPFilter.doFilter(RemoteIPFilter.java:65)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1636)
      at yjava.servlet.FilterChainInvoker$ServletFilterChainInvoker.invoke(FilterChainInvoker.java:49)
      at yjava.security.yiv.servlet.InputValidationFilter.doFilter(InputValidationFilter.java:244)
      at yjava.security.yiv.servlet.InputValidationFilter.doFilter(InputValidationFilter.java:151)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1636)
      at yjava.servlet.FilterChainInvoker$ServletFilterChainInvoker.invoke(FilterChainInvoker.java:49)
      at yjava.servlet.filter.StatsFilter.doFilter(StatsFilter.java:90)
      at yjava.servlet.filter.StatsFilter.doFilter(StatsFilter.java:65)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1636)
      at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83)
      at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:351)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1636)
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:564)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:554)
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1111)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:498)
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
      at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199)
      at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:98)
      at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:159)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:98)
      at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:309)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:98)
      at org.eclipse.jetty.server.Server.handle(Server.java:461)
      at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:284)
      at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
      at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534)
      at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607)
      at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536)
      at java.lang.Thread.run(Thread.java:745)
      Caused by: org.kohsuke.stapler.export.NotExportableException: class java.io.IOException doesn't have @ExportedBean so cannot write hudson.slaves.OfflineCause$ChannelTermination.cause
      at org.kohsuke.stapler.export.Model.<init>(Model.java:73)
      at org.kohsuke.stapler.export.ModelBuilder.get(ModelBuilder.java:51)
      at org.kohsuke.stapler.export.Property.writeValue(Property.java:231)
      at org.kohsuke.stapler.export.Property.writeValue(Property.java:139)
      at org.kohsuke.stapler.export.Property.writeTo(Property.java:116)
      at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:190)
      at org.kohsuke.stapler.export.Property.writeValue(Property.java:241)
      at org.kohsuke.stapler.export.Property.writeValue(Property.java:139)
      at org.kohsuke.stapler.export.Property.writeTo(Property.java:116)
      at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:190)
      at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:185)
      at org.kohsuke.stapler.export.Property.writeValue(Property.java:241)
      at org.kohsuke.stapler.export.Property.writeValue(Property.java:172)
      at org.kohsuke.stapler.export.Property.writeValue(Property.java:139)
      at org.kohsuke.stapler.export.Property.writeTo(Property.java:116)
      at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:190)
      at org.kohsuke.stapler.export.Model.writeTo(Model.java:157)
      at org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:267)
      at hudson.model.Api.doJson(Api.java:205)
      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:606)
      at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
      at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
      ... 100 more

      Jenkins ver. 1.576
      Jenkins ver. 1.577

      The URL works on Jenkins ver. 1.554.x

        Attachments

          Issue Links

            Activity

            Hide
            danielbeck Daniel Beck added a comment -

            This is caused because one of your slaves actually disconnected improperly (channel termination). I reproduced with a similar exception on Jenkins 1.530, it's likely this has been in there for a really long time.

            Show
            danielbeck Daniel Beck added a comment - This is caused because one of your slaves actually disconnected improperly (channel termination). I reproduced with a similar exception on Jenkins 1.530, it's likely this has been in there for a really long time.
            Hide
            oleg_nenashev Oleg Nenashev added a comment -

            Daniel Beck it seems the PR is still actual

            Show
            oleg_nenashev Oleg Nenashev added a comment - Daniel Beck it seems the PR is still actual
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Daniel Beck
            Path:
            core/src/main/java/hudson/slaves/OfflineCause.java
            http://jenkins-ci.org/commit/jenkins/104f4888bbf587103dc1df6f870a8c688de66895
            Log:
            [FIXED JENKINS-24452] Don't export arbitrary unexportable exceptions

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Daniel Beck Path: core/src/main/java/hudson/slaves/OfflineCause.java http://jenkins-ci.org/commit/jenkins/104f4888bbf587103dc1df6f870a8c688de66895 Log: [FIXED JENKINS-24452] Don't export arbitrary unexportable exceptions
            Hide
            danielbeck Daniel Beck added a comment - - edited

            Released in 2.104.

            Show
            danielbeck Daniel Beck added a comment - - edited Released in 2.104.

              People

              • Assignee:
                danielbeck Daniel Beck
                Reporter:
                dspartz Daryl Spartz
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: