# java.io.InterruptedIOException

Google Groups | que...@dufour.io (JIRA) | 5 months ago
1. 0

### [JIRA] (JENKINS-37575) Jenkins node keeps sending the sames logs indefinitely

Google Groups | 5 months ago | que...@dufour.io (JIRA)
java.io.InterruptedIOException
2. 0

### h1. Problem Sometimes, after a certain amount of builds, the build never ends on the node. It sends forever the same 20-30 lines. It seems that the problem occurs more often when I restart Jenkins while there are some tasks running. But I'm not sure. It also seems that the problem is linked to a high load/network on the master/node. We can see the difference between the timestamper date (put when received by the master) and the log date (written during the Powershell execution) !Capture d'écran de 2016-08-20 16-35-18.png|thumbnail! Some logs files can be bigger than 10GB before I kill the process. (Yes, it's really stored in the JENKINS_HOME) !jekins_10GB_log.png|thumbnail! _I think it's worth mentionning that I have 3 jenkins nodes on the same machine, and that my JENKINS-HOME is located on a network drive (CIFS/SMB)._ h1. Investigation h2. Steps I've found on Wireshark that the node keeps sending the same logs forever. So the jenkins master is not (directly) the culprit. After enabling the debugguer on the slave, I've found that the method FileMonitoringTask$FileMonitoringController$WriteLog.invoke is called in an infinite loop somewhere in this file: durable-task-plugin\src\main\java\org\jenkinsci\plugins\durabletask\FileMonitoringTask.java The same file is read again and again with a lastLocation of 1930670. lastLocation represent the bytes already read. But I don't understand why it doesn't increase. The process is terminated, the log file is not bigger than 3MB (and can be seen in the upper left corner of the screenshot) !Capture d'écran de 2016-08-20 17-04-34.png|thumbnail! *Update 1:* It seems that Jenkins read the whole file. If it fails, it will return 0. I suspect that Jenkins is failing to close the file descriptor. So the lastLocation is not updated. But the data are sent. Jenkins retries to read the file, fail again, etc. That's only a supposition for now. *Update 2:* It seems that it comes from the network, as I've captured a java.io.InterruptedIOException in this loop in hudson.remoting.ProxyOutputStream. !Capture d'écran de 2016-08-20 19-02-41.png|thumbnail! *Update 3:* It seems that the Jenkins Master is guilty. I've connected my debugger to this one. The error occurs when it tries to write the log in its JENKINS_HOME. When executing the green line on the following screenshot. !Capture d'écran de 2016-08-20 19-35-36.png|thumbnail! The error is catched in DurableTaskStep$Execution.check, as it seems to be a workspace error. It seems that Jenkins doesn't find the workspace folder, as it's searching the jenkins node workspace in its local file system. C:\\ci\\int12\\ocoint... So it saves the log but interrupt the task, send to the slave that it has interrupted the task. The slave thinks that the logs has not been saved, and resend it to the master, which don't find the node workspace in it's local filesystem, etc. !Capture d'écran de 2016-08-20 19-35-13.png|thumbnail! *Update 4:* It seems that when the master deserializes the response of the node, it returns a null object instead of the logs when it comes to Write Logs... !Capture d'écran de 2016-08-20 23-41-53.png|thumbnail! *Update 5:* I've modified the code of durable-task-plugin to have more logs in the console {noformat} // org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog.invoke @Override public Long invoke(File f, VirtualChannel channel) throws IOException, InterruptedException { try { long len = f.length(); if (len > lastLocation) { RandomAccessFile raf = new RandomAccessFile(f, "r"); try { raf.seek(lastLocation); long toRead = len - lastLocation; if (toRead > Integer.MAX_VALUE) { // >2Gb of output at once is unlikely throw new IOException("large reads not yet implemented"); } // TODO is this efficient for large amounts of output? Would it be better to stream data, or return a byte[] from the callable? byte[] buf = new byte[(int) toRead]; raf.readFully(buf); sink.write(buf); } finally { raf.close(); } LOGGER.log(Level.SEVERE, "QDU WILL RETURN AS NEW CURSOR POSITION {0}", len); return len; } else { LOGGER.log(Level.SEVERE, "QDU WILL RETURN NULL AND WILL HAVE TO BE REUPLOADED"); return null; } } catch(IOException e) { LOGGER.log(Level.SEVERE, "QDU IOEXCEPTION {0}", e); throw e; } catch(Exception e) { LOGGER.log(Level.SEVERE, "QDU UNKNOWN EXCEPTION {0}", e); } return null; } {noformat} On the Jenkins Node, I've the following logs: {noformat} Aug 22, 2016 2:56:39 AM org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog invoke SEVERE: QDU WILL RETURN NULL AND WILL HAVE TO BE REUPLOADED Aug 22, 2016 2:56:41 AM org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog invoke SEVERE: QDU IOEXCEPTION {0} java.io.InterruptedIOException at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:147) at java.io.OutputStream.write(OutputStream.java:75) at hudson.remoting.RemoteOutputStream.write(RemoteOutputStream.java:106) at org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog.invoke(FileMonitoringTask.java:137) at org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog.invoke(FileMonitoringTask.java:116) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2772) at hudson.remoting.UserRequest.perform(UserRequest.java:153) at hudson.remoting.UserRequest.perform(UserRequest.java:50) at hudson.remoting.Request$2.run(Request.java:332) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at hudson.remoting.Engine$1$1.run(Engine.java:85) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.InterruptedException at java.lang.Object.wait(Native Method) at hudson.remoting.PipeWindow$Real.get(PipeWindow.java:209) at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:122) ... 14 more Aug 22, 2016 2:56:52 AM org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog invoke SEVERE: QDU IOEXCEPTION {0} java.io.InterruptedIOException at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:147) at java.io.OutputStream.write(OutputStream.java:75) at hudson.remoting.RemoteOutputStream.write(RemoteOutputStream.java:106) at org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog.invoke(FileMonitoringTask.java:137) at org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog.invoke(FileMonitoringTask.java:116) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2772) at hudson.remoting.UserRequest.perform(UserRequest.java:153) at hudson.remoting.UserRequest.perform(UserRequest.java:50) at hudson.remoting.Request$2.run(Request.java:332) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at hudson.remoting.Engine$1$1.run(Engine.java:85) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.InterruptedException at java.lang.Object.wait(Native Method) at hudson.remoting.PipeWindow$Real.get(PipeWindow.java:209) at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:122) ... 14 more Aug 22, 2016 2:56:54 AM org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog invoke SEVERE: QDU WILL RETURN NULL AND WILL HAVE TO BE REUPLOADED Aug 22, 2016 2:57:02 AM org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog invoke SEVERE: QDU IOEXCEPTION {0} java.io.InterruptedIOException at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:147) at java.io.OutputStream.write(OutputStream.java:75) at hudson.remoting.RemoteOutputStream.write(RemoteOutputStream.java:106) at org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog.invoke(FileMonitoringTask.java:137) at org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog.invoke(FileMonitoringTask.java:116) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2772) at hudson.remoting.UserRequest.perform(UserRequest.java:153) at hudson.remoting.UserRequest.perform(UserRequest.java:50) at hudson.remoting.Request$2.run(Request.java:332) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at hudson.remoting.Engine$1$1.run(Engine.java:85) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.InterruptedException at java.lang.Object.wait(Native Method) at hudson.remoting.PipeWindow$Real.get(PipeWindow.java:209) at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:122) ... 14 more Aug 22, 2016 2:57:09 AM org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog invoke SEVERE: QDU WILL RETURN NULL AND WILL HAVE TO BE REUPLOADED Aug 22, 2016 2:57:12 AM org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog invoke SEVERE: QDU IOEXCEPTION {0} java.io.InterruptedIOException at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:147) at java.io.OutputStream.write(OutputStream.java:75) at hudson.remoting.RemoteOutputStream.write(RemoteOutputStream.java:106) at org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog.invoke(FileMonitoringTask.java:137) at org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog.invoke(FileMonitoringTask.java:116) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2772) at hudson.remoting.UserRequest.perform(UserRequest.java:153) at hudson.remoting.UserRequest.perform(UserRequest.java:50) at hudson.remoting.Request$2.run(Request.java:332) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at hudson.remoting.Engine$1$1.run(Engine.java:85) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.InterruptedException at java.lang.Object.wait(Native Method) at hudson.remoting.PipeWindow$Real.get(PipeWindow.java:209) at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:122) ... 14 more Aug 22, 2016 2:57:22 AM org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog invoke SEVERE: QDU IOEXCEPTION {0} java.io.InterruptedIOException at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:147) at java.io.OutputStream.write(OutputStream.java:75) at hudson.remoting.RemoteOutputStream.write(RemoteOutputStream.java:106) at org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog.invoke(FileMonitoringTask.java:137) at org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog.invoke(FileMonitoringTask.java:116) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2772) at hudson.remoting.UserRequest.perform(UserRequest.java:153) at hudson.remoting.UserRequest.perform(UserRequest.java:50) at hudson.remoting.Request$2.run(Request.java:332) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at hudson.remoting.Engine$1$1.run(Engine.java:85) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.InterruptedException at java.lang.Object.wait(Native Method) at hudson.remoting.PipeWindow$Real.get(PipeWindow.java:209) at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:122) ... 14 more Aug 22, 2016 2:57:24 AM org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog invoke SEVERE: QDU WILL RETURN NULL AND WILL HAVE TO BE REUPLOADED Aug 22, 2016 2:57:33 AM org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog invoke SEVERE: QDU IOEXCEPTION {0} java.io.InterruptedIOException at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:147) at java.io.OutputStream.write(OutputStream.java:75) at hudson.remoting.RemoteOutputStream.write(RemoteOutputStream.java:106) at org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog.invoke(FileMonitoringTask.java:137) at org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog.invoke(FileMonitoringTask.java:116) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2772) at hudson.remoting.UserRequest.perform(UserRequest.java:153) at hudson.remoting.UserRequest.perform(UserRequest.java:50) at hudson.remoting.Request$2.run(Request.java:332) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at hudson.remoting.Engine$1$1.run(Engine.java:85) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.InterruptedException at java.lang.Object.wait(Native Method) at hudson.remoting.PipeWindow$Real.get(PipeWindow.java:209) at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:122) ... 14 more Aug 22, 2016 2:57:39 AM org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog invoke SEVERE: QDU WILL RETURN NULL AND WILL HAVE TO BE REUPLOADED Aug 22, 2016 2:57:43 AM org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog invoke SEVERE: QDU IOEXCEPTION {0} java.io.InterruptedIOException at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:147) at java.io.OutputStream.write(OutputStream.java:75) at hudson.remoting.RemoteOutputStream.write(RemoteOutputStream.java:106) at org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog.invoke(FileMonitoringTask.java:137) at org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog.invoke(FileMonitoringTask.java:116) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2772) at hudson.remoting.UserRequest.perform(UserRequest.java:153) at hudson.remoting.UserRequest.perform(UserRequest.java:50) at hudson.remoting.Request$2.run(Request.java:332) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at hudson.remoting.Engine$1$1.run(Engine.java:85) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.InterruptedException at java.lang.Object.wait(Native Method) at hudson.remoting.PipeWindow$Real.get(PipeWindow.java:209) at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:122) ... 14 more Aug 22, 2016 2:57:53 AM org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog invoke SEVERE: QDU IOEXCEPTION {0} java.io.InterruptedIOException at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:147) at java.io.OutputStream.write(OutputStream.java:75) at hudson.remoting.RemoteOutputStream.write(RemoteOutputStream.java:106) at org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog.invoke(FileMonitoringTask.java:137) at org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog.invoke(FileMonitoringTask.java:116) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2772) at hudson.remoting.UserRequest.perform(UserRequest.java:153) at hudson.remoting.UserRequest.perform(UserRequest.java:50) at hudson.remoting.Request$2.run(Request.java:332) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at hudson.remoting.Engine$1$1.run(Engine.java:85) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.InterruptedException at java.lang.Object.wait(Native Method) at hudson.remoting.PipeWindow$Real.get(PipeWindow.java:209) at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:122) ... 14 more {noformat} h1. How to reproduce I've tried to reproduce this bug for 3 days but didn't achieve to. I had to put my production in debug to inspect the error. As I don't understand why it fails, I can't create a reproduce protocol yet. I hope that someone google this error with the same keywords and post a comment here to mention that he has the same error and more information :) Jenkins JIRA | 5 months ago | Quentin Dufour java.io.InterruptedIOException 3. 0 ### copy-to-slave never finishes Stack Overflow | 3 years ago | attrib java.io.InterruptedIOException 4. Speed up your debug routine! Automated exception search integrated into your IDE 5. 0 ### 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: {code} [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'. {code} 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: {code} 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 {code} When it works the following is the next output: (just to show, that it is not the next command which is holding it) {code} [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. {code} 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.

Jenkins JIRA | 3 years ago | Karl Fritsche
java.io.InterruptedIOException
6. 0

### 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: {code} [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'. {code} 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: {code} 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 {code} When it works the following is the next output: (just to show, that it is not the next command which is holding it) {code} [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. {code} 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. Jenkins JIRA | 3 years ago | Karl Fritsche java.io.InterruptedIOException 1. treefolk 1 times, last 2 months ago 2. danleyb2Interintel 1 times, last 2 months ago 3. filpgame 1 times, last 3 months ago 4. Nikolay Rybak 4 times, last 5 months ago 5. Handemelindo 1 times, last 6 months ago 6 more registered users 18 unregistered visitors Not finding the right solution? Take a tour to get the most out of Samebug. Tired of useless tips? Automated exception search integrated into your IDE ## Root Cause Analysis 1. # java.lang.InterruptedException No message provided at java.lang.Object.wait() 2. Java RT Object.wait 1. java.lang.Object.wait(Native Method) 1 frame 3. Hudson :: Remoting Layer ProxyOutputStream.write 1. hudson.remoting.PipeWindow$Real.get(PipeWindow.java:209)
2. hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:122)
2 frames
4. Java RT
OutputStream.write
1. java.io.OutputStream.write(OutputStream.java:75)
1 frame
5. Hudson :: Remoting Layer
RemoteOutputStream.write
1. hudson.remoting.RemoteOutputStream.write(RemoteOutputStream.java:106)
1 frame
6. org.jenkinsci.plugins
FileMonitoringTask$FileMonitoringController$WriteLog.invoke
1. org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog.invoke(FileMonitoringTask.java:137)
2. org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController$WriteLog.invoke(FileMonitoringTask.java:116)
2 frames
7. Hudson
FilePath$FileCallableWrapper.call 1. hudson.FilePath$FileCallableWrapper.call(FilePath.java:2772)
1 frame
8. Hudson :: Remoting Layer
InterceptingExecutorService$1.call 1. hudson.remoting.UserRequest.perform(UserRequest.java:153) 2. hudson.remoting.UserRequest.perform(UserRequest.java:50) 3. hudson.remoting.Request$2.run(Request.java:332)
4. hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) 4 frames 9. Java RT ThreadPoolExecutor$Worker.run
3. java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 3 frames 10. Hudson :: Remoting Layer Engine$1$1.run 1. hudson.remoting.Engine$1\$1.run(Engine.java:85)