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

Git-client plugin version 2.8.6 breaks authentication on Windows box

    Details

    • Type: Improvement
    • Status: Closed (View Workflow)
    • Priority: Minor
    • Resolution: Won't Fix
    • Component/s: git-client-plugin
    • Labels:
      None
    • Environment:
    • Similar Issues:

      Description

      When running with git-client plugin 2.8.6 we get the following error in the build log
       

          Running as SYSTEM
          [EnvInject] - Loading node environment variables.
          Building remotely on BUILDAGENT (tool_nuget tool_powershell swarm role_generators team_development tool_msbuild tool_git) in workspace C:\ops\jenkins\workspace\testproduct12---b4eb99a4
          [WS-CLEANUP] Deleting project workspace...
          [WS-CLEANUP] Deferred wipeout is used...
          using credential sandboxuser
          Cloning the remote Git repository
          Cloning repository [http://tfshostname:8080/tfs/projectcollection/sandbox/_git/testproduct123]
          > C:\Program Files\Git\cmd\git.exe init C:\ops\jenkins\workspace\testproduct12---b4eb99a4 # timeout=10
          Fetching upstream changes from [http://tfshostname:8080/tfs/projectcollection/sandbox/_git/testproduct123]
          > C:\Program Files\Git\cmd\git.exe --version # timeout=10
          using GIT_ASKPASS to set credentials User to access the sandbox project and the repos inside it.
          > C:\Program Files\Git\cmd\git.exe fetch --tags --progress -- [http://tfshostname:8080/tfs/projectcollection/sandbox/_git/testproduct123] +refs/heads/*:refs/remotes/origin/*
          ERROR: Error cloning remote repo 'origin'
          hudson.plugins.git.GitException: Command "C:\Program Files\Git\cmd\git.exe fetch --tags --progress -- [http://tfshostname:8080/tfs/projectcollection/sandbox/_git/testproduct123] +refs/heads/*:refs/remotes/origin/*" returned status code 128:
          stdout:
          stderr: fatal: Authentication failed for '[http://tfshostname:8080/tfs/projectcollection/sandbox/_git/testproduct123/]'
      
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2172)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1864)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$500(CliGitAPIImpl.java:78)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:545)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:758)
              at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:153)
              at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:146)
              at hudson.remoting.UserRequest.perform(UserRequest.java:212)
              at hudson.remoting.UserRequest.perform(UserRequest.java:54)
              at hudson.remoting.Request$2.run(Request.java:369)
              at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
              at java.util.concurrent.FutureTask.run(FutureTask.java:266)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
              at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:93)
              at java.lang.Thread.run(Thread.java:748)
              Suppressed: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from [172.17.35.148/172.17.35.148:49717|http://172.17.35.148/172.17.35.148:49717]
                  at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1743)
                  at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:357)
                  at hudson.remoting.Channel.call(Channel.java:957)
                  at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:146)
                  at sun.reflect.GeneratedMethodAccessor447.invoke(Unknown Source)
                  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                  at java.lang.reflect.Method.invoke(Method.java:498)
                  at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:132)
                  at com.sun.proxy.$Proxy73.execute(Unknown Source)
                  at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1152)
                  at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1192)
                  at hudson.scm.SCM.checkout(SCM.java:504)
                  at hudson.model.AbstractProject.checkout(AbstractProject.java:1208)
                  at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
                  at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
                  at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
                  at hudson.model.Run.execute(Run.java:1815)
                  at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
                  at hudson.model.ResourceController.execute(ResourceController.java:97)
                  at hudson.model.Executor.run(Executor.java:429)
          ERROR: Error cloning remote repo 'origin'
          Retrying after 10 seconds
          using credential sandboxuser
          > C:\Program Files\Git\cmd\git.exe rev-parse --is-inside-work-tree # timeout=10
          Fetching changes from the remote Git repository
          > C:\Program Files\Git\cmd\git.exe config remote.origin.url [http://tfshostname:8080/tfs/projectcollection/sandbox/_git/testproduct123] # timeout=10
          Fetching upstream changes from [http://tfshostname:8080/tfs/projectcollection/sandbox/_git/testproduct123]
          > C:\Program Files\Git\cmd\git.exe --version # timeout=10
          using GIT_ASKPASS to set credentials User to access the sandbox project and the repos inside it.
          > C:\Program Files\Git\cmd\git.exe fetch --tags --progress -- [http://tfshostname:8080/tfs/projectcollection/sandbox/_git/testproduct123] +refs/heads/*:refs/remotes/origin/*
          ERROR: Error fetching remote repo 'origin'
          hudson.plugins.git.GitException: Failed to fetch from [http://tfshostname:8080/tfs/projectcollection/sandbox/_git/testproduct123]
              at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:894)
              at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1161)
              at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1192)
              at hudson.scm.SCM.checkout(SCM.java:504)
              at hudson.model.AbstractProject.checkout(AbstractProject.java:1208)
              at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
              at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
              at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
              at hudson.model.Run.execute(Run.java:1815)
              at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
              at hudson.model.ResourceController.execute(ResourceController.java:97)
              at hudson.model.Executor.run(Executor.java:429)
          Caused by: hudson.plugins.git.GitException: Command "C:\Program Files\Git\cmd\git.exe fetch --tags --progress -- [http://tfshostname:8080/tfs/projectcollection/sandbox/_git/testproduct123] +refs/heads/*:refs/remotes/origin/*" returned status code 128:
          stdout:
          stderr: fatal: Authentication failed for '[http://tfshostname:8080/tfs/projectcollection/sandbox/_git/testproduct123/]'
      
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2172)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1864)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$500(CliGitAPIImpl.java:78)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:545)
              at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:153)
              at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:146)
              at hudson.remoting.UserRequest.perform(UserRequest.java:212)
              at hudson.remoting.UserRequest.perform(UserRequest.java:54)
              at hudson.remoting.Request$2.run(Request.java:369)
              at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
              at java.util.concurrent.FutureTask.run(FutureTask.java:266)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
              at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:93)
              at java.lang.Thread.run(Thread.java:748)
              Suppressed: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from [172.17.35.148/172.17.35.148:49717|http://172.17.35.148/172.17.35.148:49717]
                  at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1743)
                  at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:357)
                  at hudson.remoting.Channel.call(Channel.java:957)
                  at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:146)
                  at sun.reflect.GeneratedMethodAccessor447.invoke(Unknown Source)
                  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                  at java.lang.reflect.Method.invoke(Method.java:498)
                  at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:132)
                  at com.sun.proxy.$Proxy74.execute(Unknown Source)
                  at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:892)
                  at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1161)
                  at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1192)
                  at hudson.scm.SCM.checkout(SCM.java:504)
                  at hudson.model.AbstractProject.checkout(AbstractProject.java:1208)
                  at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
                  at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
                  at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
                  at hudson.model.Run.execute(Run.java:1815)
                  at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
                  at hudson.model.ResourceController.execute(ResourceController.java:97)
                  at hudson.model.Executor.run(Executor.java:429)
          ERROR: Error fetching remote repo 'origin'
          Retrying after 10 seconds
          using credential sandboxuser
          > C:\Program Files\Git\cmd\git.exe rev-parse --is-inside-work-tree # timeout=10
          Fetching changes from the remote Git repository
          > C:\Program Files\Git\cmd\git.exe config remote.origin.url [http://tfshostname:8080/tfs/projectcollection/sandbox/_git/testproduct123] # timeout=10
          Fetching upstream changes from [http://tfshostname:8080/tfs/projectcollection/sandbox/_git/testproduct123]
          > C:\Program Files\Git\cmd\git.exe --version # timeout=10
          using GIT_ASKPASS to set credentials User to access the sandbox project and the repos inside it.
          > C:\Program Files\Git\cmd\git.exe fetch --tags --progress -- [http://tfshostname:8080/tfs/projectcollection/sandbox/_git/testproduct123] +refs/heads/*:refs/remotes/origin/*
          ERROR: Error fetching remote repo 'origin'
          hudson.plugins.git.GitException: Failed to fetch from [http://tfshostname:8080/tfs/projectcollection/sandbox/_git/testproduct123]
              at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:894)
              at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1161)
              at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1192)
              at hudson.scm.SCM.checkout(SCM.java:504)
              at hudson.model.AbstractProject.checkout(AbstractProject.java:1208)
              at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
              at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
              at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
              at hudson.model.Run.execute(Run.java:1815)
              at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
              at hudson.model.ResourceController.execute(ResourceController.java:97)
              at hudson.model.Executor.run(Executor.java:429)
          Caused by: hudson.plugins.git.GitException: Command "C:\Program Files\Git\cmd\git.exe fetch --tags --progress -- [http://tfshostname:8080/tfs/projectcollection/sandbox/_git/testproduct123] +refs/heads/*:refs/remotes/origin/*" returned status code 128:
          stdout:
          stderr: fatal: Authentication failed for '[http://tfshostname:8080/tfs/projectcollection/sandbox/_git/testproduct123/]'
      
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2172)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1864)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$500(CliGitAPIImpl.java:78)
              at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:545)
              at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:153)
              at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:146)
              at hudson.remoting.UserRequest.perform(UserRequest.java:212)
              at hudson.remoting.UserRequest.perform(UserRequest.java:54)
              at hudson.remoting.Request$2.run(Request.java:369)
              at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
              at java.util.concurrent.FutureTask.run(FutureTask.java:266)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
              at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:93)
              at java.lang.Thread.run(Thread.java:748)
              Suppressed: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from [172.17.35.148/172.17.35.148:49717|http://172.17.35.148/172.17.35.148:49717]
                  at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1743)
                  at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:357)
                  at hudson.remoting.Channel.call(Channel.java:957)
                  at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:146)
                  at sun.reflect.GeneratedMethodAccessor447.invoke(Unknown Source)
                  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                  at java.lang.reflect.Method.invoke(Method.java:498)
                  at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:132)
                  at com.sun.proxy.$Proxy74.execute(Unknown Source)
                  at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:892)
                  at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1161)
                  at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1192)
                  at hudson.scm.SCM.checkout(SCM.java:504)
                  at hudson.model.AbstractProject.checkout(AbstractProject.java:1208)
                  at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
                  at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
                  at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
                  at hudson.model.Run.execute(Run.java:1815)
                  at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
                  at hudson.model.ResourceController.execute(ResourceController.java:97)
                  at hudson.model.Executor.run(Executor.java:429)
          ERROR: Error fetching remote repo 'origin'
          Finished: FAILURE
      

       
      When running with git-client plugin 2.8.4 it works fine. Additionally when upgrading to git 2.23.0.windows.1 on the Windows agent it works with both 2.8.4 and 2.9.0 of the git-client plugin.

      The additional -- added to the command line git arguments in git client plugin 2.8.5 seems to be the key difference between the working case and the non-working case. The '--' separates the command line options (like --progress ) from the command line arguments like http://tfshost:8080/. Unclear why that difference is relevant, and glad that the upgrade to CLI git 2.23 resolved the issue.

        Attachments

          Activity

          There are no comments yet on this issue.

            People

            • Assignee:
              Unassigned
              Reporter:
              petrikvandervelde Petrik van der Velde
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: