-
Improvement
-
Resolution: Cannot Reproduce
-
Minor
-
None
If the slave.jar file on the slave becomes out of sync with that on the master, it is possible some of the Hudson core methods will not work. In this specific case, the FilePath.copyTo() method failed with the exception:
java.io.IOException: Remote call on cronewel-s21 failed at hudson.remoting.Channel.call(Channel.java:639) at hudson.plugins.logparser.LogParserStatusComputer.computeStatusMatches(LogParserStatusComputer.java:40) at hudson.plugins.logparser.LogParserStatusComputer.<init>(LogParserStatusComputer.java:33) at hudson.plugins.logparser.LogParserParser.parseLogBody(LogParserParser.java:275) at hudson.plugins.logparser.LogParserParser.parseLog(LogParserParser.java:114) at hudson.plugins.logparser.LogParserPublisher.perform(LogParserPublisher.java:54) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19) at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:649) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:625) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:603) at hudson.model.Build$RunnerImpl.post2(Build.java:161) at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:572) at hudson.model.Run.run(Run.java:1386) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:145) Caused by: java.lang.NoSuchMethodError: hudson.remoting.VirtualChannel.syncLocalIO()V at hudson.FilePath.copyTo(FilePath.java:1411) at hudson.FilePath.copyTo(FilePath.java:1370) at hudson.plugins.logparser.LogParserStatusComputer.computeStatusMatches(LogParserStatusComputer.java:79) at hudson.plugins.logparser.LogParserStatusComputer.access$000(LogParserStatusComputer.java:23) at hudson.plugins.logparser.LogParserStatusComputer$1.call(LogParserStatusComputer.java:45) at hudson.plugins.logparser.LogParserStatusComputer$1.call(LogParserStatusComputer.java:40) at hudson.remoting.UserRequest.perform(UserRequest.java:104) 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)
The result is no parsed logs are created. Although the plugin cannot address the root problem (mismatch of slave.jar), it can check if it was able to perform parsing in the method computeStatusMatches(), and provide some appropriate message.