-
Bug
-
Resolution: Duplicate
-
Major
-
Jenkins 1.442
Copy Artifact 1.19
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)
- is related to
-
JENKINS-7813 Archiving artifacts very slow
- Resolved