- 
    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.