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

swarm 1.10 incompatibility with findbugs 4.51

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Labels:
      None
    • Environment:
      RHEL x86_64 Client and Server
    • Similar Issues:

      Description

      The version of Apache Commons Codec included with swarm-client-1.10-jar-with-dependencies.jar is to old for findbugs 4.51. This results in the the following:

      12:10:13 [FINDBUGS] Collecting findbugs analysis files...
      12:10:18 ERROR: Publisher hudson.plugins.findbugs.FindBugsPublisher aborted due to exception
      12:10:18 java.io.IOException: remote file operation failed: /var/lib/jenkins/workspace/SwtWidgets at hudson.remoting.Channel@68077427:daily-build
      12:10:18 	at hudson.FilePath.act(FilePath.java:910)
      12:10:18 	at hudson.FilePath.act(FilePath.java:887)
      12:10:18 	at hudson.plugins.findbugs.FindBugsPublisher.perform(FindBugsPublisher.java:161)
      12:10:18 	at hudson.plugins.analysis.core.HealthAwarePublisher.perform(HealthAwarePublisher.java:144)
      12:10:18 	at hudson.plugins.analysis.core.HealthAwareRecorder.perform(HealthAwareRecorder.java:333)
      12:10:18 	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
      12:10:18 	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:785)
      12:10:18 	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:757)
      12:10:18 	at hudson.model.Build$BuildExecution.post2(Build.java:183)
      12:10:18 	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:706)
      12:10:18 	at hudson.model.Run.execute(Run.java:1703)
      12:10:18 	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      12:10:18 	at hudson.model.ResourceController.execute(ResourceController.java:88)
      12:10:18 	at hudson.model.Executor.run(Executor.java:231)
      12:10:18 Caused by: java.io.IOException: Remote call on daily-build failed
      12:10:18 	at hudson.remoting.Channel.call(Channel.java:731)
      12:10:18 	at hudson.FilePath.act(FilePath.java:903)
      12:10:18 	... 13 more
      12:10:18 Caused by: java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Hex.encodeHexString([B)Ljava/lang/String;
      12:10:18 	at hudson.plugins.findbugs.parser.HexishString.toString(HexishString.java:58)
      12:10:18 	at hudson.plugins.findbugs.parser.HexishString.hashCode(HexishString.java:69)
      12:10:18 	at hudson.plugins.findbugs.parser.Bug.hashCode(Bug.java:328)
      12:10:18 	at java.util.HashMap.hash(HashMap.java:366)
      12:10:18 	at java.util.HashMap.put(HashMap.java:496)
      12:10:18 	at java.util.HashSet.add(HashSet.java:217)
      12:10:18 	at hudson.plugins.analysis.core.ParserResult.addAnnotation(ParserResult.java:229)
      12:10:18 	at hudson.plugins.analysis.core.ParserResult.addAnnotations(ParserResult.java:242)
      12:10:18 	at hudson.plugins.analysis.core.FilesParser.parseFile(FilesParser.java:307)
      12:10:18 	at hudson.plugins.analysis.core.FilesParser.parseFiles(FilesParser.java:264)
      12:10:18 	at hudson.plugins.analysis.core.FilesParser.parserCollectionOfFiles(FilesParser.java:215)
      12:10:18 	at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:184)
      12:10:18 	at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:31)
      12:10:18 	at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2461)
      12:10:18 	at hudson.remoting.UserRequest.perform(UserRequest.java:118)
      12:10:18 	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      12:10:18 	at hudson.remoting.Request$2.run(Request.java:326)
      12:10:18 	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
      12:10:18 	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      12:10:18 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      12:10:18 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      12:10:18 	at hudson.remoting.Engine$1$1.run(Engine.java:63)
      12:10:18 	at java.lang.Thread.run(Thread.java:744)
      

      Unpacking swarm-client-1.10-jar-with-dependencies.jar and replacing everything under org/apache/commons/codec with the 1.9 version of Apache Commons Codec fixed the problem.

      Here is the dependency tree of the swarm plugin:

      [INFO] org.jenkins-ci.plugins:swarm-client:jar:1.11-SNAPSHOT
      [INFO] +- args4j:args4j:jar:2.0.21:compile
      [INFO] +- org.jenkins-ci.main:remoting:jar:2.32:compile
      [INFO] |  +- org.apache.ant:ant:jar:1.8.3:compile
      [INFO] |  |  \- org.apache.ant:ant-launcher:jar:1.8.3:compile
      [INFO] |  \- org.jenkins-ci:constant-pool-scanner:jar:1.2:compile
      [INFO] +- commons-httpclient:commons-httpclient:jar:3.1:compile
      [INFO] |  +- commons-logging:commons-logging:jar:1.0.4:compile
      [INFO] |  \- commons-codec:commons-codec:jar:1.2:compile
      

        Attachments

          Activity

            People

            • Assignee:
              drulli Ulli Hafner
              Reporter:
              samberoz Sam Beroz
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: