----------------------------- 
Example 1, Hang on archiving:
----------------------------- 
Master:
-------

Channel reader thread: slave001 

"Channel reader thread: slave001" Id=742 Group=main RUNNABLE (in native) 
        at java.io.FileInputStream.readBytes(Native Method) 
        at java.io.FileInputStream.read(FileInputStream.java:199) 
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) 
        at java.io.BufferedInputStream.read(BufferedInputStream.java:237) 
        -  locked java.io.BufferedInputStream@6c191b43 
        at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2249) 
        at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2542) 
        at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2552) 
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1297) 
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) 
        at hudson.remoting.Channel$ReaderThread.run(Channel.java:925) 
        

Executor #0 for slave001 : executing Nightly_Project #18 

"Executor #0 for slave001 : executing Nightly_Project #18" Id=214 Group=main TIMED_WAITING on [B@5f91f3e1 
        at java.lang.Object.wait(Native Method) 
        -  waiting on [B@5f91f3e1 
        at hudson.remoting.FastPipedInputStream.read(FastPipedInputStream.java:171) 
        at hudson.util.HeadBufferingStream.read(HeadBufferingStream.java:61) 
        at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:221) 
        at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:141) 
        at java.util.zip.GZIPInputStream.read(GZIPInputStream.java:92) 
        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(FilterInputStream.java:90) 
        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:33) 
        at hudson.FilePath.readFromTar(FilePath.java:1565) 
        at hudson.FilePath.copyRecursiveTo(FilePath.java:1491) 
        at hudson.tasks.ArtifactArchiver.perform(ArtifactArchiver.java:117) 
        at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19) 
        at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:601) 
        at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:580) 
        at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:558) 
        at hudson.model.Build$RunnerImpl.post2(Build.java:157) 
        at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:528) 
        at hudson.model.Run.run(Run.java:1303) 
        at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) 
        at hudson.model.ResourceController.execute(ResourceController.java:88) 
        at hudson.model.Executor.run(Executor.java:137) 
        
Pipe writer thread: slave001 

"Pipe writer thread: slave001" Id=1071 Group=main WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@42218847 
        at sun.misc.Unsafe.park(Native Method) 
        -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@42218847 
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) 
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) 
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) 
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) 
        at java.lang.Thread.run(Thread.java:619) 
        
        stderr copier for remote agent on slave001 

"stderr copier for remote agent on slave001" Id=314 Group=main RUNNABLE (in native) 
        at java.io.FileInputStream.readBytes(Native Method) 
        at java.io.FileInputStream.read(FileInputStream.java:177) 
        at hudson.util.StreamCopyThread.run(StreamCopyThread.java:60) 


Slave:
------ 

Thread Dump 
Channel reader thread: channel 

"Channel reader thread: channel" Id=9 Group=main RUNNABLE (in native) 
        at java.io.FileInputStream.readBytes(Native Method) 
        at java.io.FileInputStream.read(FileInputStream.java:199) 
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) 
        at java.io.BufferedInputStream.read(BufferedInputStream.java:237) 
        -  locked java.io.BufferedInputStream@10fbabc 
        at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2249) 
        at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2542) 
        at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2552) 
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1297) 
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) 
        at hudson.remoting.Channel$ReaderThread.run(Channel.java:925) 


main 

"main" Id=1 Group=main WAITING on hudson.remoting.Channel@bfea1d 
        at java.lang.Object.wait(Native Method) 
        -  waiting on hudson.remoting.Channel@bfea1d 
        at java.lang.Object.wait(Object.java:485) 
        at hudson.remoting.Channel.join(Channel.java:706) 
        at hudson.remoting.Launcher.main(Launcher.java:419) 
        at hudson.remoting.Launcher.runWithStdinStdout(Launcher.java:365) 
        at hudson.remoting.Launcher.run(Launcher.java:205) 
        at hudson.remoting.Launcher.main(Launcher.java:167) 


Ping thread for channel hudson.remoting.Channel@bfea1d:channel 

"Ping thread for channel hudson.remoting.Channel@bfea1d:channel" Id=10 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=12 Group=main WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1d934a6 
        at sun.misc.Unsafe.park(Native Method) 
        -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1d934a6 
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) 
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) 
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) 
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) 
        at java.lang.Thread.run(Thread.java:619) 


pool-1-thread-43 

"pool-1-thread-43" Id=308 Group=main WAITING on hudson.remoting.PipeWindow$Real@192aa08 
        at java.lang.Object.wait(Native Method) 
        -  waiting on hudson.remoting.PipeWindow$Real@192aa08 
        at java.lang.Object.wait(Object.java:485) 
        at hudson.remoting.PipeWindow$Real.get(PipeWindow.java:99) 
        at hudson.remoting.ProxyOutputStream._write(ProxyOutputStream.java:133) 
        at hudson.remoting.ProxyOutputStream._write(ProxyOutputStream.java:112) 
        at hudson.remoting.ProxyOutputStream._write(ProxyOutputStream.java:144) 
        at hudson.remoting.ProxyOutputStream._write(ProxyOutputStream.java:108) 
        at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:103) 
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65) 
        at java.io.BufferedOutputStream.write(BufferedOutputStream.java:109) 
        -  locked java.io.BufferedOutputStream@8bd2f5 
        at java.util.zip.DeflaterOutputStream.deflate(DeflaterOutputStream.java:161) 
        at java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:118) 
        at java.util.zip.GZIPOutputStream.write(GZIPOutputStream.java:72) 
        -  locked java.util.zip.GZIPOutputStream@19d6ea2 
        at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105) 
        -  locked hudson.util.io.TarArchiver$1@1beddbb 
        at org.apache.tools.tar.TarBuffer.writeBlock(TarBuffer.java:410) 
        at org.apache.tools.tar.TarBuffer.writeRecord(TarBuffer.java:388) 
        at hudson.org.apache.tools.tar.TarOutputStream.write(TarOutputStream.java:337) 
        at hudson.util.io.TarArchiver.visit(TarArchiver.java:103) 
        at hudson.util.DirScanner$Glob.scan(DirScanner.java:104) 
        at hudson.FilePath.writeToTar(FilePath.java:1543) 
        at hudson.FilePath.access$800(FilePath.java:159) 
        at hudson.FilePath$33.invoke(FilePath.java:1484) 
        at hudson.FilePath$33.invoke(FilePath.java:1481) 
        at hudson.FilePath$FileCallableWrapper.call(FilePath.java:1899) 
        at hudson.remoting.UserRequest.perform(UserRequest.java:114) 
        at hudson.remoting.UserRequest.perform(UserRequest.java:48) 
        at hudson.remoting.Request$2.run(Request.java:270) 
        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 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:619) 

        Number of locked synchronizers = 1 
        - java.util.concurrent.locks.ReentrantLock$NonfairSync@1cf2917 


pool-1-thread-59 

"pool-1-thread-59" Id=496 Group=main WAITING on hudson.remoting.PipeWindow$Real@19b2abb 
        at java.lang.Object.wait(Native Method) 
        -  waiting on hudson.remoting.PipeWindow$Real@19b2abb 
        at java.lang.Object.wait(Object.java:485) 
        at hudson.remoting.PipeWindow$Real.get(PipeWindow.java:99) 
        at hudson.remoting.ProxyOutputStream._write(ProxyOutputStream.java:133) 
        at hudson.remoting.ProxyOutputStream._write(ProxyOutputStream.java:112) 
        at hudson.remoting.ProxyOutputStream._write(ProxyOutputStream.java:144) 
        at hudson.remoting.ProxyOutputStream._write(ProxyOutputStream.java:108) 
        at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:103) 
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65) 
        at java.io.BufferedOutputStream.write(BufferedOutputStream.java:109) 
        -  locked java.io.BufferedOutputStream@d6bfd4 
        at java.util.zip.DeflaterOutputStream.deflate(DeflaterOutputStream.java:161) 
        at java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:118) 
        at java.util.zip.GZIPOutputStream.write(GZIPOutputStream.java:72) 
        -  locked java.util.zip.GZIPOutputStream@2a0635 
        at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105) 
        -  locked hudson.util.io.TarArchiver$1@19aea1a 
        at org.apache.tools.tar.TarBuffer.writeBlock(TarBuffer.java:410) 
        at org.apache.tools.tar.TarBuffer.writeRecord(TarBuffer.java:388) 
        at hudson.org.apache.tools.tar.TarOutputStream.write(TarOutputStream.java:337) 
        at hudson.util.io.TarArchiver.visit(TarArchiver.java:103) 
        at hudson.util.DirScanner$Glob.scan(DirScanner.java:104) 
        at hudson.FilePath.writeToTar(FilePath.java:1543) 
        at hudson.FilePath.access$800(FilePath.java:159) 
        at hudson.FilePath$33.invoke(FilePath.java:1484) 
        at hudson.FilePath$33.invoke(FilePath.java:1481) 
        at hudson.FilePath$FileCallableWrapper.call(FilePath.java:1899) 
        at hudson.remoting.UserRequest.perform(UserRequest.java:114) 
        at hudson.remoting.UserRequest.perform(UserRequest.java:48) 
        at hudson.remoting.Request$2.run(Request.java:270) 
        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 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:619) 

        Number of locked synchronizers = 1 
        - java.util.concurrent.locks.ReentrantLock$NonfairSync@17f8f55 


pool-1-thread-62 

"pool-1-thread-62" Id=503 Group=main WAITING on hudson.remoting.PipeWindow$Real@1ec2d3b 
        at java.lang.Object.wait(Native Method) 
        -  waiting on hudson.remoting.PipeWindow$Real@1ec2d3b 
        at java.lang.Object.wait(Object.java:485) 
        at hudson.remoting.PipeWindow$Real.get(PipeWindow.java:99) 
        at hudson.remoting.ProxyOutputStream._write(ProxyOutputStream.java:133) 
        at hudson.remoting.ProxyOutputStream._write(ProxyOutputStream.java:112) 
        at hudson.remoting.ProxyOutputStream._write(ProxyOutputStream.java:144) 
        at hudson.remoting.ProxyOutputStream._write(ProxyOutputStream.java:112) 
        at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:103) 
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65) 
        at java.io.BufferedOutputStream.write(BufferedOutputStream.java:109) 
        -  locked java.io.BufferedOutputStream@b3e1b4 
        at java.util.zip.DeflaterOutputStream.deflate(DeflaterOutputStream.java:161) 
        at java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:118) 
        at java.util.zip.GZIPOutputStream.write(GZIPOutputStream.java:72) 
        -  locked java.util.zip.GZIPOutputStream@1eebddc 
        at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105) 
        -  locked hudson.util.io.TarArchiver$1@c51653 
        at org.apache.tools.tar.TarBuffer.writeBlock(TarBuffer.java:410) 
        at org.apache.tools.tar.TarBuffer.writeRecord(TarBuffer.java:388) 
        at hudson.org.apache.tools.tar.TarOutputStream.write(TarOutputStream.java:337) 
        at hudson.util.io.TarArchiver.visit(TarArchiver.java:103) 
        at hudson.util.DirScanner$Glob.scan(DirScanner.java:104) 
        at hudson.FilePath.writeToTar(FilePath.java:1543) 
        at hudson.FilePath.access$800(FilePath.java:159) 
        at hudson.FilePath$33.invoke(FilePath.java:1484) 
        at hudson.FilePath$33.invoke(FilePath.java:1481) 
        at hudson.FilePath$FileCallableWrapper.call(FilePath.java:1899) 
        at hudson.remoting.UserRequest.perform(UserRequest.java:114) 
        at hudson.remoting.UserRequest.perform(UserRequest.java:48) 
        at hudson.remoting.Request$2.run(Request.java:270) 
        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 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:619) 

        Number of locked synchronizers = 1 
        - java.util.concurrent.locks.ReentrantLock$NonfairSync@13caab8 


pool-1-thread-73 

"pool-1-thread-73" Id=518 Group=main RUNNABLE 
        at sun.management.ThreadImpl.dumpThreads0(Native Method) 
        at sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:374) 
        at hudson.Functions.getThreadInfos(Functions.java:775) 
        at hudson.util.RemotingDiagnostics$GetThreadDump.call(RemotingDiagnostics.java:75) 
        at hudson.util.RemotingDiagnostics$GetThreadDump.call(RemotingDiagnostics.java:71) 
        at hudson.remoting.UserRequest.perform(UserRequest.java:114) 
        at hudson.remoting.UserRequest.perform(UserRequest.java:48) 
        at hudson.remoting.Request$2.run(Request.java:270) 
        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 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:619) 

        Number of locked synchronizers = 1 
        - java.util.concurrent.locks.ReentrantLock$NonfairSync@d941af 


Finalizer 

"Finalizer" Id=3 Group=system WAITING on java.lang.ref.ReferenceQueue$Lock@1ac9043 
        at java.lang.Object.wait(Native Method) 
        -  waiting on java.lang.ref.ReferenceQueue$Lock@1ac9043 
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) 
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) 
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) 


Reference Handler 

"Reference Handler" Id=2 Group=system WAITING on java.lang.ref.Reference$Lock@332be0 
        at java.lang.Object.wait(Native Method) 
        -  waiting on java.lang.ref.Reference$Lock@332be0 
        at java.lang.Object.wait(Object.java:485) 
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) 


Signal Dispatcher 

"Signal Dispatcher" Id=4 Group=system RUNNABLE