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

Remote File Operation Failed when publishing JUnit Test Result Report

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • junit-plugin
    • None

      When publishing a JUnit.xml test report file from a remote slave, occasionally the JUnit plugin will terminate with a "java.io.IOException: remote file operation failed". I know that the JUnit.xml file is properly formatted, because the file is archived as a step before publishing the JUnit test result report. This does not happen on every build execution, but the failure does happen occasionally. I cannot reproduce the failure reliably. Is there any further way to debug the issue?

      The JUnit plugin is triggered as a post build action, immediately after the JUnit.xml file is archived.

      Stack trace from console output of the failing post build action attached below.

      Archiving artifacts
      Recording test results
      ERROR: Step 'Publish JUnit test result report' aborted due to exception:
      java.io.IOException: remote file operation failed: /home/jenkins/workspace/junit-publish-test at hudson.remoting.Channel@6df94301:build_slave (i-abcd1234): java.io.IOException: Remote call on build_slave (i-abcd1234) failed
      at hudson.FilePath.act(FilePath.java:986)
      at hudson.FilePath.act(FilePath.java:968)
      at hudson.tasks.junit.JUnitParser.parseResult(JUnitParser.java:103)
      at hudson.tasks.junit.JUnitResultArchiver.parse(JUnitResultArchiver.java:126)
      at hudson.tasks.junit.JUnitResultArchiver.perform(JUnitResultArchiver.java:144)
      at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:78)
      at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
      at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:782)
      at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:723)
      at hudson.model.Build$BuildExecution.post2(Build.java:185)
      at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:668)
      at hudson.model.Run.execute(Run.java:1763)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      at hudson.model.ResourceController.execute(ResourceController.java:98)
      at hudson.model.Executor.run(Executor.java:410)
      Caused by: java.io.IOException: Remote call on build_slave (i-abcd1234) failed
      at hudson.remoting.Channel.call(Channel.java:789)
      at hudson.FilePath.act(FilePath.java:979)
      ... 14 more
      Caused by: java.lang.Error: Failed to deserialize the Callable object.
      at hudson.remoting.UserRequest.perform(UserRequest.java:104)
      at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      at hudson.remoting.Request$2.run(Request.java:326)
      at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
      at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:745)
      at ......remote call to build_slave (i-abcd1234)(Native Method)
      at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1416)
      at hudson.remoting.UserResponse.retrieve(UserRequest.java:220)
      at hudson.remoting.Channel.call(Channel.java:781)
      ... 15 more
      Caused by: hudson.remoting.RemotingSystemException: java.lang.InterruptedException
      at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:266)
      at com.sun.proxy.$Proxy5.fetch3(Unknown Source)
      at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:171)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
      at java.lang.ClassLoader.defineClass1(Native Method)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:803)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
      at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:338)
      at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:251)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
      at java.lang.Class.getDeclaredMethods0(Native Method)
      at java.lang.Class.privateGetDeclaredMethods(Class.java:2625)
      at java.lang.Class.getDeclaredMethod(Class.java:2015)
      at java.io.ObjectStreamClass.getPrivateMethod(ObjectStreamClass.java:1475)
      at java.io.ObjectStreamClass.access$1700(ObjectStreamClass.java:72)
      at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:498)
      at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:472)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:472)
      at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:369)
      at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:598)
      at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1622)
      at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1997)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1921)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
      at hudson.remoting.UserRequest.deserialize(UserRequest.java:184)
      at hudson.remoting.UserRequest.perform(UserRequest.java:98)
      at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      at hudson.remoting.Request$2.run(Request.java:326)
      at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
      at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.InterruptedException
      at java.lang.Object.wait(Native Method)
      at hudson.remoting.Request.call(Request.java:147)
      at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:253)
      ... 40 more

            Unassigned Unassigned
            brokenthumbs Dan Chan
            Votes:
            13 Vote for this issue
            Watchers:
            14 Start watching this issue

              Created:
              Updated: