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

git-client-plugin: StringIndexOutOfBoundsException when parsing branches

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      we ran into this:

      > git checkout -f a6ecfa813a4c9a5699df4ec39cfdd596852b8d71 # timeout=10
      > git branch -a -v --no-abbrev # timeout=10
      FATAL: String index out of range: -1
      java.lang.StringIndexOutOfBoundsException: String index out of range: -1
      at java.lang.String.substring(String.java:1931)
      at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.parseBranches(CliGitAPIImpl.java:1825)
      at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getBranches(CliGitAPIImpl.java:1847)
      at hudson.plugins.git.GitAPI.getBranches(GitAPI.java:195)
      at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$9.execute(CliGitAPIImpl.java:1969)
      at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:152)
      at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:145)
      at hudson.remoting.UserRequest.perform(UserRequest.java:120)
      at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      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 java.lang.Thread.run(Thread.java:745)
      at ......remote call to jenkins-node-1(Native Method)
      at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1416)
      at hudson.remoting.UserResponse.retrieve(UserRequest.java:220)
      at hudson.remoting.Channel.call(Channel.java:781)
      at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:145)
      at sun.reflect.GeneratedMethodAccessor208.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:131)
      at com.sun.proxy.$Proxy65.execute(Unknown Source)
      at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1135)
      at hudson.scm.SCM.checkout(SCM.java:485)
      at hudson.model.AbstractProject.checkout(AbstractProject.java:1269)
      at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:607)
      at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
      at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
      at hudson.model.Run.execute(Run.java:1738)
      at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:531)
      at hudson.model.ResourceController.execute(ResourceController.java:98)
      at hudson.model.Executor.run(Executor.java:410)

      -> turned out to be a DOS line ending in a commit message “...^M” - which leads to parsing an empty line here
      ====

      versions:
      jenkins-ci: Jenkins ver. 1.656
      Git client plugin 1.19.6
      Git plugin 2.4.4

        Attachments

          Activity

          Hide
          markewaite Mark Waite added a comment -

          Git client plugin 1.18.1 is quite old. Is there a reason you went backwards that far rather than trying the pre-release mentioned earlier?

          Show
          markewaite Mark Waite added a comment - Git client plugin 1.18.1 is quite old. Is there a reason you went backwards that far rather than trying the pre-release mentioned earlier?
          Hide
          jammurp James Murphy added a comment -

          Hi Mark,

          No special reason, it was the previously installed version, and I had known it was working then (plus the downgrade to previously installed version button was conveniently there).
          Also we were against a deadline, and choose to downgrade instead of going through all the commits searching for messages that had newlines, and that second link you posted to download the build from is no longer pointing to an existing artifact...

          Show
          jammurp James Murphy added a comment - Hi Mark, No special reason, it was the previously installed version, and I had known it was working then (plus the downgrade to previously installed version button was conveniently there). Also we were against a deadline, and choose to downgrade instead of going through all the commits searching for messages that had newlines, and that second link you posted to download the build from is no longer pointing to an existing artifact...
          Hide
          jammurp James Murphy added a comment - - edited

          I downloaded and built the plugin from the master branch. After loading the pre-release plugin into Jenkins plugins, seems to be working fine. Thanks Mark.

          Show
          jammurp James Murphy added a comment - - edited I downloaded and built the plugin from the master branch. After loading the pre-release plugin into Jenkins plugins, seems to be working fine. Thanks Mark.
          Hide
          markewaite Mark Waite added a comment -

          Fixed in git client plugin 1.19.7 released 15 Jul 2016

          Show
          markewaite Mark Waite added a comment - Fixed in git client plugin 1.19.7 released 15 Jul 2016
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Mark Waite
          Path:
          src/main/java/org/jenkinsci/plugins/gitclient/CliGitAPIImpl.java
          src/test/java/org/jenkinsci/plugins/gitclient/CliGitAPIImplTest.java
          http://jenkins-ci.org/commit/git-client-plugin/85e6a0da7559a46442cdc2910461bf57bbc50ea9
          Log:
          Merge pull request #273 from bmleite/patch-1

          Protect against ArrayIndexOutOfBoundsException (related to JENKINS-34309)

          Compare: https://github.com/jenkinsci/git-client-plugin/compare/51ec170386bb...85e6a0da7559

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Mark Waite Path: src/main/java/org/jenkinsci/plugins/gitclient/CliGitAPIImpl.java src/test/java/org/jenkinsci/plugins/gitclient/CliGitAPIImplTest.java http://jenkins-ci.org/commit/git-client-plugin/85e6a0da7559a46442cdc2910461bf57bbc50ea9 Log: Merge pull request #273 from bmleite/patch-1 Protect against ArrayIndexOutOfBoundsException (related to JENKINS-34309 ) Compare: https://github.com/jenkinsci/git-client-plugin/compare/51ec170386bb...85e6a0da7559

            People

            • Assignee:
              Unassigned
              Reporter:
              zerofudge Frank Geusch
            • Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: