Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Critical
    • Resolution: Duplicate
    • Component/s: copy-to-slave-plugin
    • Labels:
      None
    • Environment:
      org.jenkins-ci.plugins:copy-to-slave:1.4.3
      Jenkins 1.561
      Debian Wheezy
    • Similar Issues:

      Description

      After updating Jenkins to 1.561 randomly the copy process never finishes. Sometimes it works, sometimes not.
      It doesn't matter if the build before crashed or was okay and we can't really say, how to reproduce. But at our side it happens every 2nd or 3rd time.

      Our setup is:
      Master (Jenkins) and slave (Jenkins node) are on different servers.
      When we start the job, we want to copy the files from the workspace on master to the workspace on the slave.

      The output in the console is:

       
      [EnvInject] - Loading node environment variables.
      Building remotely on Jenkins-Worker-01 (Remote-Worker) in workspace /var/lib/jenkins/jobs/Master-Branch-Test-Checkout/workspace
      [copy-to-slave] Copying '*.*,**', excluding nothing, from 'file:/var/lib/jenkins/jobs/Master-Branch-Test-Checkout/workspace/' on the master to 'file:/var/lib/jenkins/jobs/Master-Branch-Test-Checkout/workspace/' on 'Jenkins-Worker-01'.
      

      After that nothing happens. The job won't finish until I cancel it. No errors or similar. Syslog seems clean. This blocks the worker until I cancel it, so its a critical error. For testing purposes we let this run for 20h on one worker and nothing happend.

      If I cancel the job I get the following output:

       
      FATAL: null
      java.io.InterruptedIOException
      	at hudson.remoting.ProxyOutputStream._write(ProxyOutputStream.java:160)
      	at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:109)
      	at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
      	at java.io.BufferedOutputStream.write(BufferedOutputStream.java:126)
      	at com.jcraft.jzlib.DeflaterOutputStream.deflate(DeflaterOutputStream.java:144)
      	at com.jcraft.jzlib.DeflaterOutputStream.write(DeflaterOutputStream.java:102)
      	at java.io.BufferedOutputStream.write(BufferedOutputStream.java:122)
      	at org.apache.tools.tar.TarBuffer.writeBlock(TarBuffer.java:410)
      	at org.apache.tools.tar.TarBuffer.writeRecord(TarBuffer.java:351)
      	at hudson.org.apache.tools.tar.TarOutputStream.writeEOFRecord(TarOutputStream.java:356)
      	at hudson.org.apache.tools.tar.TarOutputStream.finish(TarOutputStream.java:137)
      	at hudson.org.apache.tools.tar.TarOutputStream.close(TarOutputStream.java:149)
      	at hudson.util.io.TarArchiver.close(TarArchiver.java:125)
      	at com.michelin.cio.hudson.plugins.copytoslave.MyFilePath.writeToTar(MyFilePath.java:230)
      	at com.michelin.cio.hudson.plugins.copytoslave.MyFilePath.copyRecursiveTo(MyFilePath.java:143)
      	at com.michelin.cio.hudson.plugins.copytoslave.CopyToSlaveBuildWrapper.setUp(CopyToSlaveBuildWrapper.java:133)
      	at hudson.model.Build$BuildExecution.doRun(Build.java:153)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:518)
      	at hudson.model.Run.execute(Run.java:1709)
      	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      	at hudson.model.ResourceController.execute(ResourceController.java:88)
      	at hudson.model.Executor.run(Executor.java:231)
      Caused by: java.lang.InterruptedException
      	at java.lang.Object.wait(Native Method)
      	at java.lang.Object.wait(Object.java:503)
      	at hudson.remoting.PipeWindow$Real.get(PipeWindow.java:209)
      	at hudson.remoting.ProxyOutputStream._write(ProxyOutputStream.java:141)
      	... 21 more
      

      When it works the following is the next output: (just to show, that it is not the next command which is holding it)

       
          [EnvInject] - Executing scripts and injecting environment variables after the SCM step.
          [EnvInject] - Injecting as environment variables the properties content JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
          [EnvInject] - Variables injected successfully.
      

      I really would like to provide more details, but I'm a little bit stuck and don't know what else I could provide. If you need something more I try to provide it.

        Attachments

          Activity

          Hide
          kfritsche Karl Fritsche added a comment -

          This issue has been fixed in Jenkins 1.563, the responsible error was "OutOfMemory on file transfer" (JENKINS-22734)

          I found this out, after checking the logs of the workers on the master. I wasn't aware that these logs for slaves exists on the master.

          Setting this as duplicate.

          Show
          kfritsche Karl Fritsche added a comment - This issue has been fixed in Jenkins 1.563, the responsible error was "OutOfMemory on file transfer" ( JENKINS-22734 ) I found this out, after checking the logs of the workers on the master. I wasn't aware that these logs for slaves exists on the master. Setting this as duplicate.

            People

            • Assignee:
              svvivek Vivekanand SV
              Reporter:
              kfritsche Karl Fritsche
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: