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

Incomplete downloads of artifacts

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Component/s: core
    • Labels:
      None
    • Environment:
      Jenkins 2.19.3
      Windows Server 2008 R2
      jdk1.8.0_66 (and jdk1.7.0_51)
    • Similar Issues:

      Description

      When downloading artifacts from jenkins (lastSuccessfulBuild/artifact) the download terminates with incomplete files quite frequently. This only seems to happen with files > 60MB for me.

      The corresponding exception in the error.log seems to be:
      Nov 17, 2016 10:28:16 AM hudson.ExpressionFactory2$JexlExpression evaluate
      WARNING: Caught exception evaluating: request.getSession() in /job/<jobname>/artifact/<pathtoartifact>.jar. Reason: java.lang.IllegalStateException: Response is committed
      java.lang.IllegalStateException: Response is committed
      at org.eclipse.jetty.server.Request.getSession(Request.java:1400)
      at org.eclipse.jetty.server.Request.getSession(Request.java:1378)
      at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:279)
      at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258)
      at org.apache.commons.jexl.parser.ASTMethod.execute(ASTMethod.java:104)
      at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83)
      at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57)
      at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51)
      at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80)
      at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:74)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$3.run(CoreTagLibrary.java:134)
      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:120)
      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.JellyViewScript.run(JellyViewScript.java:95)
      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.JellyFacet$1.dispatch(JellyFacet.java:95)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
      at hudson.init.impl.InstallUncaughtExceptionHandler$1.reportException(InstallUncaughtExceptionHandler.java:30)
      at org.kohsuke.stapler.compression.CompressionFilter.reportException(CompressionFilter.java:77)
      at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:52)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
      at org.eclipse.jetty.server.Server.handle(Server.java:499)
      at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
      at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
      at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
      at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:744)

      On the other end - a Maven Tycho build - the problem appears as:
      [ERROR] Internal error: org.eclipse.tycho.repository.local.MirroringArtifactProvider$MirroringFailedException: Could not mirror artifact <artifactname> into the local Maven repository.See log output for details. Premature end of Content-Length delimited message body (expected: 77668135; received: 3510470 -> [Help 1]

        Attachments

          Issue Links

            Activity

            Hide
            chris_mh3 chris_mh3 added a comment -

            After disabling the compression-filter in WEB-INF\web.xml the Exception is:
            Nov 22, 2016 3:19:07 PM org.eclipse.jetty.util.log.JavaUtilLog warn
            WARNING: /job/<jobname>/lastSuccessfulBuild/artifact/<pathtoartifact>.jar
            java.io.IOException: java.util.concurrent.TimeoutException: Idle timeout expired: 5001/5000 ms
            at org.eclipse.jetty.util.SharedBlockingCallback$Blocker.block(SharedBlockingCallback.java:234)
            at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:141)
            at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:355)
            at org.kohsuke.stapler.Stapler.serveStaticResource(Stapler.java:585)
            at org.kohsuke.stapler.ResponseImpl.serveFile(ResponseImpl.java:216)
            at hudson.model.DirectoryBrowserSupport.serveFile(DirectoryBrowserSupport.java:322)
            at hudson.model.DirectoryBrowserSupport.generateResponse(DirectoryBrowserSupport.java:127)
            at org.kohsuke.stapler.HttpResponseRenderer$Default.handleHttpResponse(HttpResponseRenderer.java:124)
            at org.kohsuke.stapler.HttpResponseRenderer$Default.generateResponse(HttpResponseRenderer.java:69)
            at org.kohsuke.stapler.Function.renderResponse(Function.java:119)
            at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:102)
            at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:124)
            at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.MetaClass$3.doDispatch(MetaClass.java:196)
            at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:233)
            at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
            at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
            at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
            at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            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 org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:135)
            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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
            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:67)
            at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
            at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
            at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
            at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
            at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
            at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)
            at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
            at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
            at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
            at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
            at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
            at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
            at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
            at org.eclipse.jetty.server.Server.handle(Server.java:499)
            at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
            at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
            at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
            at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
            at java.lang.Thread.run(Unknown Source)
            Caused by: java.util.concurrent.TimeoutException: Idle timeout expired: 5001/5000 ms
            at org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:161)
            at org.eclipse.jetty.io.IdleTimeout$1.run(IdleTimeout.java:50)
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
            at java.util.concurrent.FutureTask.run(Unknown Source)
            at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
            at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
            ... 3 more

            Show
            chris_mh3 chris_mh3 added a comment - After disabling the compression-filter in WEB-INF\web.xml the Exception is: Nov 22, 2016 3:19:07 PM org.eclipse.jetty.util.log.JavaUtilLog warn WARNING: /job/<jobname>/lastSuccessfulBuild/artifact/<pathtoartifact>.jar java.io.IOException: java.util.concurrent.TimeoutException: Idle timeout expired: 5001/5000 ms at org.eclipse.jetty.util.SharedBlockingCallback$Blocker.block(SharedBlockingCallback.java:234) at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:141) at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:355) at org.kohsuke.stapler.Stapler.serveStaticResource(Stapler.java:585) at org.kohsuke.stapler.ResponseImpl.serveFile(ResponseImpl.java:216) at hudson.model.DirectoryBrowserSupport.serveFile(DirectoryBrowserSupport.java:322) at hudson.model.DirectoryBrowserSupport.generateResponse(DirectoryBrowserSupport.java:127) at org.kohsuke.stapler.HttpResponseRenderer$Default.handleHttpResponse(HttpResponseRenderer.java:124) at org.kohsuke.stapler.HttpResponseRenderer$Default.generateResponse(HttpResponseRenderer.java:69) at org.kohsuke.stapler.Function.renderResponse(Function.java:119) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:102) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:124) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.MetaClass$3.doDispatch(MetaClass.java:196) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:233) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649) at org.kohsuke.stapler.Stapler.service(Stapler.java:238) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) 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 org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:135) 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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) 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:67) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:499) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.util.concurrent.TimeoutException: Idle timeout expired: 5001/5000 ms at org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:161) at org.eclipse.jetty.io.IdleTimeout$1.run(IdleTimeout.java:50) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) ... 3 more
            Hide
            chris_mh3 chris_mh3 added a comment - - edited

            A workaround for me seems to be adding --httpKeepAliveTimeout=60000 as a argument in jenkins.xml (see https://github.com/jenkinsci/winstone)

            The default of jetty itself for the timeout seems to be 30000 (not 5000 as in winstone).
            http://stackoverflow.com/questions/25548341/jetty-idletimeout

            Show
            chris_mh3 chris_mh3 added a comment - - edited A workaround for me seems to be adding --httpKeepAliveTimeout=60000 as a argument in jenkins.xml (see https://github.com/jenkinsci/winstone ) The default of jetty itself for the timeout seems to be 30000 (not 5000 as in winstone). http://stackoverflow.com/questions/25548341/jetty-idletimeout
            Hide
            danielbeck Daniel Beck added a comment -

            Not a bug then, but an aggressive timeout config paired with a terrible connection?

            Show
            danielbeck Daniel Beck added a comment - Not a bug then, but an aggressive timeout config paired with a terrible connection?
            Hide
            chris_mh3 chris_mh3 added a comment -

            There are two thing here I would consider a bug:

            1. The compression-filter hiding away the actual exception
            2. The default timeout setting of winstone which is way below the jetty default

            The network connection isn't actually bad (probably). It is Maven-Tycho doing things in parallel and taking a break on that particular download for more than 5s. After knowing the cause of the problem it seems like we had that for quite a while in an ant script that did parallel downloads too.

            Show
            chris_mh3 chris_mh3 added a comment - There are two thing here I would consider a bug: 1. The compression-filter hiding away the actual exception 2. The default timeout setting of winstone which is way below the jetty default The network connection isn't actually bad (probably). It is Maven-Tycho doing things in parallel and taking a break on that particular download for more than 5s. After knowing the cause of the problem it seems like we had that for quite a while in an ant script that did parallel downloads too.
            Hide
            nurupo nurupo nurupo added a comment -

            I'm having the same issue.

            About the workaround, where do I find jenkins.xml to set --httpKeepAliveTimeout=60000? It seems I don't have it on my file system.
            Also, would this change persist when updating Jenkins?

            Show
            nurupo nurupo nurupo added a comment - I'm having the same issue. About the workaround, where do I find jenkins.xml to set --httpKeepAliveTimeout=60000? It seems I don't have it on my file system. Also, would this change persist when updating Jenkins?
            Hide
            chris_mh3 chris_mh3 added a comment - - edited

            It's actually hudson.xml in my installation. I presumed that it has been renamed to jenkins.xml in the meanwhile. It's in the root of the jenkins installation. The file contains the configuration for the service wrapper.

            And yes it persists.

            <service>
              <id>Jenkins_NG</id>
              <name>Jenkins Trunk</name>
              <description>This service runs Jenkins continuous integration system.</description>
              <env name="HUDSON_HOME" value="%BASE%"/>
              <!--
                if you'd like to run Hudson with a specific version of Java, specify a full path to java.exe.
                The following value assumes that you have java in your PATH.
              -->
              <executable>C:\Program Files\Java\jre1.8.0_66\bin\java</executable>
              <arguments>-Xrs -Xmx4076m -XX:MaxPermSize=512m -Dhudson.model.ParametersAction.keepUndefinedParameters=true -Djava.io.tmpdir=E:\temps\j_trunk -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\hudson.war" --httpPort=7070 --httpKeepAliveTimeout=60000</arguments>
              <!--
                interactive flag causes the empty black Java window to be displayed.
                I'm still debugging this.
              <interactive />
              -->
              <logmode>rotate</logmode>
            </service>
            
            Show
            chris_mh3 chris_mh3 added a comment - - edited It's actually hudson.xml in my installation. I presumed that it has been renamed to jenkins.xml in the meanwhile. It's in the root of the jenkins installation. The file contains the configuration for the service wrapper. And yes it persists. <service> <id> Jenkins_NG </id> <name> Jenkins Trunk </name> <description> This service runs Jenkins continuous integration system. </description> <env name= "HUDSON_HOME" value= "%BASE%" /> <!-- if you'd like to run Hudson with a specific version of Java, specify a full path to java.exe. The following value assumes that you have java in your PATH. --> <executable> C:\Program Files\Java\jre1.8.0_66\bin\java </executable> <arguments> -Xrs -Xmx4076m -XX:MaxPermSize=512m -Dhudson.model.ParametersAction.keepUndefinedParameters=true -Djava.io.tmpdir=E:\temps\j_trunk -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\hudson.war" --httpPort=7070 --httpKeepAliveTimeout=60000 </arguments> <!-- interactive flag causes the empty black Java window to be displayed. I'm still debugging this. <interactive /> --> <logmode> rotate </logmode> </service>
            Hide
            nurupo nurupo nurupo added a comment - - edited

            Ok, looks like --httpKeepAliveTimeout=60000 should go into JENKINS_ARGS variable in /etc/default/jenkins on Debian-based systems, as this is where --httpPort is set. Thanks.

            Show
            nurupo nurupo nurupo added a comment - - edited Ok, looks like --httpKeepAliveTimeout=60000 should go into JENKINS_ARGS variable in /etc/default/jenkins on Debian-based systems, as this is where --httpPort is set. Thanks.
            Hide
            lucasocio Leandro Lucarella added a comment -

            I'm affected by this issue and I tried the workaround (I'm using Ubuntu and I already have a few hacks in `/etc/default/jenkins` so I added it there) but I get this error:
            Unrecognized option: --httpKeepAliveTimeout=60000
            Error: Could not create the Java Virtual Machine.
            Error: A fatal exception has occurred. Program will exit.
             

            Show
            lucasocio Leandro Lucarella added a comment - I'm affected by this issue and I tried the workaround (I'm using Ubuntu and I already have a few hacks in `/etc/default/jenkins` so I added it there) but I get this error: Unrecognized option: --httpKeepAliveTimeout=60000 Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.  
            Hide
            danielbeck Daniel Beck added a comment -

            Leandro Lucarella Did you read the comment before yours?

            Show
            danielbeck Daniel Beck added a comment - Leandro Lucarella Did you read the comment before yours?
            Hide
            lucasocio Leandro Lucarella added a comment -

            Yes. As I said in my comment, what it's in the previous comment is exactly what I've done and I get the "unrecognized option" error.

            Show
            lucasocio Leandro Lucarella added a comment - Yes. As I said in my comment, what it's in the previous comment is exactly what I've done and I get the "unrecognized option" error.
            Hide
            danielbeck Daniel Beck added a comment -

            Leandro Lucarella Weird. Could you show your defaults file, e.g. paste to gist?

            Show
            danielbeck Daniel Beck added a comment - Leandro Lucarella Weird. Could you show your defaults file, e.g. paste to gist?
            Show
            lucasocio Leandro Lucarella added a comment - https://pastebin.com/6UYicWXB
            Hide
            danielbeck Daniel Beck added a comment -

            Leandro Lucarella There's a reason I asked whether you read the comment before yours Compare:

            JAVA_ARGS="$JAVA_ARGS --httpKeepAliveTimeout=60000"

            and

            Ok, looks like --httpKeepAliveTimeout=60000 should go into JENKINS_ARGS variable

            Show
            danielbeck Daniel Beck added a comment - Leandro Lucarella There's a reason I asked whether you read the comment before yours Compare: JAVA_ARGS="$JAVA_ARGS --httpKeepAliveTimeout=60000" and Ok, looks like --httpKeepAliveTimeout=60000 should go into JENKINS_ARGS variable
            Hide
            lucasocio Leandro Lucarella added a comment -

            Oh dear! I read it, more than once, my brain just never realized there was a JAVA_ARGS and a JENKINS_ARGS. I was always reading  JAVA_ARGS everywhere. Sorry about that. It seems like the option was accepted now, I haven't tried if it solves the timeout issues though. Thanks!

            Feel free to fire me from the Internetz...

            Show
            lucasocio Leandro Lucarella added a comment - Oh dear! I read it, more than once, my brain just never realized there was a JAVA_ARGS and a JENKINS_ARGS. I was always reading  JAVA_ARGS everywhere. Sorry about that. It seems like the option was accepted now, I haven't tried if it solves the timeout issues though. Thanks! Feel free to fire me from the Internetz...

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              chris_mh3 chris_mh3
              Votes:
              5 Vote for this issue
              Watchers:
              14 Start watching this issue

                Dates

                Created:
                Updated: