-
Bug
-
Resolution: Fixed
-
Major
-
Jenkins LTS 2.46.2
CentOS 7
Git Plugin 2.4.1
Git Client Plugin 2.3.0
OpenJDK 1.8.0_65
The issue occurred after an upgrade to the latest LTS version 2.46.2, and upgrading the plugins to be compatible with that version.
We noticed that the jobs that had "**" (without quotes) in Git's field "Branch Specifier (blank for 'any')" started failing with the following error:
FATAL: Error computing merge base
java.lang.NoSuchMethodError: org.eclipse.jgit.revwalk.RevWalk.release()V
at hudson.plugins.git.util.GitUtils$1.invoke(GitUtils.java:176)
at hudson.plugins.git.util.GitUtils$1.invoke(GitUtils.java:127)
at org.jenkinsci.plugins.gitclient.AbstractGitAPIImpl.withRepository(AbstractGitAPIImpl.java:29)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.withRepository(CliGitAPIImpl.java:64)
at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:884)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:859)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:818)
at hudson.remoting.UserRequest.perform(UserRequest.java:152)
at hudson.remoting.UserRequest.perform(UserRequest.java:50)
at hudson.remoting.Request$2.run(Request.java:332)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at hudson.remoting.Engine$1$1.run(Engine.java:85)
at java.lang.Thread.run(Thread.java:745)
at ......remote call to Channel to /10.228.220.23(Native Method)
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1545)
at hudson.remoting.UserResponse.retrieve(UserRequest.java:253)
at hudson.remoting.Channel.call(Channel.java:830)
Caused: java.io.IOException: Remote call on Channel to /10.228.220.23 failed
at hudson.remoting.Channel.call(Channel.java:838)
at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:257)
at com.sun.proxy.$Proxy58.withRepository(Unknown Source)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl.withRepository(RemoteGitImpl.java:235)
at hudson.plugins.git.util.GitUtils.filterTipBranches(GitUtils.java:127)
Caused: hudson.plugins.git.GitException: Error computing merge base
at hudson.plugins.git.util.GitUtils.filterTipBranches(GitUtils.java:188)
at hudson.plugins.git.util.DefaultBuildChooser.getAdvancedCandidateRevisions(DefaultBuildChooser.java:249)
at hudson.plugins.git.util.DefaultBuildChooser.getCandidateRevisions(DefaultBuildChooser.java:53)
at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:951)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1054)
at hudson.scm.SCM.checkout(SCM.java:496)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1281)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:604)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
at hudson.model.Run.execute(Run.java:1728)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:405)
Notifying upstream projects of job completion
Finished: FAILURE
This bug can be reproduced by creating a job that uses the git plugin, configuring it with a git
repo, and in the "Branch Specifier (blank for 'any')" specify "**" without quotes or leave it empty.
We found a workaround by including the "**" in single or double quotes, but fixing this bug will be more convenient because we have thousands of jobs and it will be hard to go through them one by one to change their configuration.