-
Bug
-
Resolution: Fixed
-
Major
-
None
-
On master and slaves:
$ java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (rhel-2.3.10.4.el6_4-x86_64)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
Jenkins is LTS - 1.509.4
When processing junit files on remote SSH slaves the xUnit plugin fails with:
18:58:45 [xUnit] [ERROR] - The plugin hasn't been performed correctly: remote file operation failed: /home/jenkins/workspace/build_job at hudson.remoting.Channel@538d6dc9:vagrant-slave62
I added some more debug information to the code and found the case:
org.jenkinsci.plugins.xunit.exception.XUnitException: remote file operation failed: /home/jenkins/workspace/xunit at hudson.remoting.Channel@2f71a393:vagrant
at org.jenkinsci.plugins.xunit.XUnitProcessor.getTestResult(XUnitProcessor.java:331)
at org.jenkinsci.plugins.xunit.XUnitProcessor.recordTestResult(XUnitProcessor.java:258)
at org.jenkinsci.plugins.xunit.XUnitProcessor.performXUnit(XUnitProcessor.java:74)
at org.jenkinsci.plugins.xunit.XUnitPublisher.perform(XUnitPublisher.java:88)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:785)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:757)
at hudson.model.Build$BuildExecution.post2(Build.java:183)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:706)
at hudson.model.Run.execute(Run.java:1703)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:231)
Caused by: java.io.IOException: remote file operation failed: /home/jenkins/workspace/xunit at hudson.remoting.Channel@2f71a393:vagrant
at hudson.FilePath.act(FilePath.java:910)
at hudson.FilePath.act(FilePath.java:887)
at org.jenkinsci.plugins.xunit.XUnitProcessor.getTestResult(XUnitProcessor.java:302)
... 12 more
Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@1ccce215
at hudson.remoting.UserRequest.serialize(UserRequest.java:166)
at hudson.remoting.UserRequest.<init>(UserRequest.java:62)
at hudson.remoting.Channel.call(Channel.java:721)
at hudson.FilePath.act(FilePath.java:903)
... 14 more
Caused by: java.io.NotSerializableException: org.jenkinsci.plugins.xunit.ExtraConfiguration
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at hudson.remoting.UserRequest._serialize(UserRequest.java:155)
at hudson.remoting.UserRequest.serialize(UserRequest.java:164)
... 17 more
After making both XUnitProcessor and ExtraConfiguration implement java.io.Serializable problem goes away.