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

copying artifact to windows node very slow

XMLWordPrintable

      Copying an 80MB artifact from the master to windows node is very slow. Copying the same artifact to unix nodes in the matrix happens very quickly. Using wget from windows node to copy artifact from master happens very quickly, both outside Jenkins and within a shell script step. I was hoping that JENKINS-11073 would have made an impact on this behavior, but it has not helped.

      There is nothing obvious in the log on the master.
      Thread dump from windows 7 x64 enterprise slave while copying (not sure if there is anything useful here):

      Channel reader thread: channel

      "Channel reader thread: channel" Id=1638 Group=main RUNNABLE
      at java.net.SocketInputStream.socketRead0(Native Method)
      at java.net.SocketInputStream.read(Unknown Source)
      at java.net.SocketInputStream.read(Unknown Source)
      at java.io.BufferedInputStream.fill(Unknown Source)
      at java.io.BufferedInputStream.read1(Unknown Source)
      at java.io.BufferedInputStream.read(Unknown Source)

      • locked java.io.BufferedInputStream@6cac9439
        at java.io.ObjectInputStream$PeekInputStream.read(Unknown Source)
        at java.io.ObjectInputStream$BlockDataInputStream.read(Unknown Source)
        at java.io.ObjectInputStream$BlockDataInputStream.readFully(Unknown Source)
        at java.io.ObjectInputStream.readArray(Unknown Source)
        at java.io.ObjectInputStream.readObject0(Unknown Source)
        at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
        at java.io.ObjectInputStream.readSerialData(Unknown Source)
        at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
        at java.io.ObjectInputStream.readObject0(Unknown Source)
        at java.io.ObjectInputStream.readObject(Unknown Source)
        at hudson.remoting.Channel$ReaderThread.run(Channel.java:1109)

      main

      "main" Id=1 Group=main WAITING on hudson.remoting.Engine@38bc50f8
      at java.lang.Object.wait(Native Method)

      • waiting on hudson.remoting.Engine@38bc50f8
        at java.lang.Thread.join(Unknown Source)
        at java.lang.Thread.join(Unknown Source)
        at hudson.remoting.jnlp.Main.main(Main.java:122)
        at hudson.remoting.jnlp.Main._main(Main.java:115)
        at hudson.remoting.Launcher.run(Launcher.java:194)
        at hudson.remoting.Launcher.main(Launcher.java:168)

      Ping thread for channel hudson.remoting.Channel@3714ac6d:channel

      "Ping thread for channel hudson.remoting.Channel@3714ac6d:channel" Id=1641 Group=main TIMED_WAITING
      at java.lang.Thread.sleep(Native Method)
      at hudson.remoting.PingThread.run(PingThread.java:86)

      Pipe writer thread: channel

      "Pipe writer thread: channel" Id=1640 Group=main WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@6c367a9f
      at sun.misc.Unsafe.park(Native Method)

      • waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@6c367a9f
        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
        at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

      pool-1-thread-1321

      "pool-1-thread-1321" Id=2042 Group=main TIMED_WAITING on [B@2b55492a
      at java.lang.Object.wait(Native Method)

      • waiting on [B@2b55492a
        at hudson.remoting.FastPipedInputStream.read(FastPipedInputStream.java:173)
        at hudson.util.HeadBufferingStream.read(HeadBufferingStream.java:61)
        at java.util.zip.InflaterInputStream.fill(Unknown Source)
        at java.util.zip.InflaterInputStream.read(Unknown Source)
        at java.util.zip.GZIPInputStream.read(Unknown Source)
        at org.apache.tools.tar.TarBuffer.readBlock(TarBuffer.java:257)
        at org.apache.tools.tar.TarBuffer.readRecord(TarBuffer.java:223)
        at hudson.org.apache.tools.tar.TarInputStream.read(TarInputStream.java:345)
        at java.io.FilterInputStream.read(Unknown Source)
        at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1025)
        at org.apache.commons.io.IOUtils.copy(IOUtils.java:999)
        at hudson.util.IOUtils.copy(IOUtils.java:36)
        at hudson.FilePath.readFromTar(FilePath.java:1690)
        at hudson.FilePath.access$200(FilePath.java:164)
        at hudson.FilePath$32.invoke(FilePath.java:1588)
        at hudson.FilePath$32.invoke(FilePath.java:1585)
        at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2030)
        at hudson.remoting.UserRequest.perform(UserRequest.java:118)
        at hudson.remoting.UserRequest.perform(UserRequest.java:48)
        at hudson.remoting.Request$2.run(Request.java:287)
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at hudson.remoting.Engine$1$1.run(Engine.java:60)
        at java.lang.Thread.run(Unknown Source)

      Number of locked synchronizers = 1

      • java.util.concurrent.ThreadPoolExecutor$Worker@7bbcdcc1

      pool-1-thread-1325

      "pool-1-thread-1325" Id=2058 Group=main RUNNABLE
      at sun.management.ThreadImpl.dumpThreads0(Native Method)
      at sun.management.ThreadImpl.dumpAllThreads(Unknown Source)
      at hudson.Functions.getThreadInfos(Functions.java:861)
      at hudson.util.RemotingDiagnostics$GetThreadDump.call(RemotingDiagnostics.java:93)
      at hudson.util.RemotingDiagnostics$GetThreadDump.call(RemotingDiagnostics.java:89)
      at hudson.remoting.UserRequest.perform(UserRequest.java:118)
      at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      at hudson.remoting.Request$2.run(Request.java:287)
      at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at hudson.remoting.Engine$1$1.run(Engine.java:60)
      at java.lang.Thread.run(Unknown Source)

      Number of locked synchronizers = 1

      • java.util.concurrent.ThreadPoolExecutor$Worker@7ea30924

      Thread-1

      "Thread-1" Id=10 Group=main WAITING on hudson.remoting.Channel@3714ac6d
      at java.lang.Object.wait(Native Method)

      • waiting on hudson.remoting.Channel@3714ac6d
        at java.lang.Object.wait(Object.java:503)
        at hudson.remoting.Channel.join(Channel.java:780)
        at hudson.remoting.Engine.run(Engine.java:243)

      Attach Listener

      "Attach Listener" Id=4 Group=system RUNNABLE

      Finalizer

      "Finalizer" Id=3 Group=system WAITING on java.lang.ref.ReferenceQueue$Lock@363761ec
      at java.lang.Object.wait(Native Method)

      • waiting on java.lang.ref.ReferenceQueue$Lock@363761ec
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

      Reference Handler

      "Reference Handler" Id=2 Group=system WAITING on java.lang.ref.Reference$Lock@6dfde8c2
      at java.lang.Object.wait(Native Method)

      • waiting on java.lang.ref.Reference$Lock@6dfde8c2
        at java.lang.Object.wait(Object.java:503)
        at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)

            Unassigned Unassigned
            trbaker Trevor Baker
            Votes:
            3 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: