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

ERR_CONTENT_DECODING_FAILED returned on testResults and console output after Jenkins reload

      We have matrix configuration job that has a 'slave' axis to distribute tests on Jenkins swarm slaves.
      When we 'reload configuration from disk' Jenkins all builds in the history of the matrix job return ERR_CONTENT_DECODING_FAILED (HTTP error 330) when we request console output for any slave on the axis. This also occurs when requesting testresults (we record jUnit test results as a part of the build).

      We had issues with Jenkins losing references to slave after reload, which were solved by https://issues.jenkins-ci.org/browse/JENKINS-8043, and I think this bug is related.

      When the error occurs the following stack trace is observed in Jenkins' log:
      27-Apr-2012 08:26:50 winstone.Logger logInternal
      WARNING: Untrapped Error in Servlet
      javax.servlet.ServletException: org.apache.commons.jelly.JellyTagException: jar:file:/var/cache/jenkins/war/WEB-INF/lib/jenkins-core-1.461.jar!/hudson/tasks/test/MatrixTestResult/index.jelly:42:60: <j:forEach> java.lang.NullPointerException
      at org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112)
      at org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:127)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:563)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659)
      at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:384)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659)
      at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:384)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659)
      at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:241)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:488)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:162)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
      at winstone.ServletConfiguration.execute(ServletConfiguration.java:248)
      at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
      at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:74)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      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 jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:63)
      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:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at winstone.RequestDispatcher.forward(RequestDispatcher.java:331)
      at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:215)
      at winstone.RequestHandlerThread.run(RequestHandlerThread.java:138)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:662)
      Caused by: org.apache.commons.jelly.JellyTagException: jar:file:/var/cache/jenkins/war/WEB-INF/lib/jenkins-core-1.461.jar!/hudson/tasks/test/MatrixTestResult/index.jelly:42:60: <j:forEach> java.lang.NullPointerException
      at org.apache.commons.jelly.impl.TagScript.handleException(TagScript.java:716)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:282)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
      at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
      at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81)
      at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:63)
      at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:53)
      at org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:107)
      ... 63 more
      Caused by: java.lang.NullPointerException
      at hudson.tasks.test.AggregatedTestResultAction$ChildReport.<init>(AggregatedTestResultAction.java:129)
      at hudson.tasks.test.AggregatedTestResultAction$1.get(AggregatedTestResultAction.java:140)
      at hudson.tasks.test.AggregatedTestResultAction$1.get(AggregatedTestResultAction.java:138)
      at java.util.AbstractList$Itr.next(AbstractList.java:345)
      at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:115)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      ... 95 more

          [JENKINS-13625] ERR_CONTENT_DECODING_FAILED returned on testResults and console output after Jenkins reload

          David Durham added a comment -

          I had a similar issue, which I resolved by rolling back to version 1.457. I think it had something to do with gzip compression.

          David Durham added a comment - I had a similar issue, which I resolved by rolling back to version 1.457. I think it had something to do with gzip compression.

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          core/pom.xml
          core/src/main/java/hudson/security/HudsonAuthenticationEntryPoint.java
          core/src/main/java/jenkins/model/Jenkins.java
          war/src/main/webapp/WEB-INF/web.xml
          http://jenkins-ci.org/commit/jenkins/18963ee9af2b98ce94eda799069d9135f6031a0e
          Log:
          [FIXED JENKINS-13625]

          In the end, proper fix requires having a filter that tracks
          GZipOutputStream.

          Compare: https://github.com/jenkinsci/jenkins/compare/be1f8f9...18963ee

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: core/pom.xml core/src/main/java/hudson/security/HudsonAuthenticationEntryPoint.java core/src/main/java/jenkins/model/Jenkins.java war/src/main/webapp/WEB-INF/web.xml http://jenkins-ci.org/commit/jenkins/18963ee9af2b98ce94eda799069d9135f6031a0e Log: [FIXED JENKINS-13625] In the end, proper fix requires having a filter that tracks GZipOutputStream. Compare: https://github.com/jenkinsci/jenkins/compare/be1f8f9...18963ee

          dogfood added a comment -

          Integrated in jenkins_ui-changes_branch #30
          [FIXED JENKINS-13625] (Revision 18963ee9af2b98ce94eda799069d9135f6031a0e)

          Result = SUCCESS
          Kohsuke Kawaguchi : 18963ee9af2b98ce94eda799069d9135f6031a0e
          Files :

          • core/src/main/java/hudson/security/HudsonAuthenticationEntryPoint.java
          • war/src/main/webapp/WEB-INF/web.xml
          • core/src/main/java/jenkins/model/Jenkins.java
          • core/pom.xml

          dogfood added a comment - Integrated in jenkins_ui-changes_branch #30 [FIXED JENKINS-13625] (Revision 18963ee9af2b98ce94eda799069d9135f6031a0e) Result = SUCCESS Kohsuke Kawaguchi : 18963ee9af2b98ce94eda799069d9135f6031a0e Files : core/src/main/java/hudson/security/HudsonAuthenticationEntryPoint.java war/src/main/webapp/WEB-INF/web.xml core/src/main/java/jenkins/model/Jenkins.java core/pom.xml

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          core/pom.xml
          core/src/main/java/hudson/security/HudsonAuthenticationEntryPoint.java
          core/src/main/java/jenkins/model/Jenkins.java
          war/src/main/webapp/WEB-INF/web.xml
          http://jenkins-ci.org/commit/jenkins/47bb6d8ab64700cb821b44691d704b145281c253
          Log:
          [FIXED JENKINS-13625]

          In the end, proper fix requires having a filter that tracks
          GZipOutputStream.
          (cherry picked from commit 18963ee9af2b98ce94eda799069d9135f6031a0e)

          Conflicts:

          core/src/main/java/hudson/security/HudsonAuthenticationEntryPoint.java

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: core/pom.xml core/src/main/java/hudson/security/HudsonAuthenticationEntryPoint.java core/src/main/java/jenkins/model/Jenkins.java war/src/main/webapp/WEB-INF/web.xml http://jenkins-ci.org/commit/jenkins/47bb6d8ab64700cb821b44691d704b145281c253 Log: [FIXED JENKINS-13625] In the end, proper fix requires having a filter that tracks GZipOutputStream. (cherry picked from commit 18963ee9af2b98ce94eda799069d9135f6031a0e) Conflicts: core/src/main/java/hudson/security/HudsonAuthenticationEntryPoint.java

            mindjiver Peter Jönsson
            nickelsen Anders Nickelsen
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: