• Icon: Bug Bug
    • Resolution: Not A Defect
    • Icon: Major Major
    • git-plugin
    • Jenkins 2.60.1
      Git Plugin 3.3.1
      Windows Server 2012R2
      Java 1.8.0_111

      We have had a few intermittent issues with the GIT plugin and are unable to checkout from our GIT repo on TFS.

      Started by remote host 10.97.31.118
      Checking out git https://tfs.contoso.com/TfsVersionControl/myGitRepo/_git/myPipeline to read Pipeline/DeploymentOrchestration/Jenkins/Jenkinsfile
       > git.exe rev-parse --is-inside-work-tree # timeout=10
      Fetching changes from the remote Git repository
       > git.exe config remote.origin.url https://tfs.contoso.com/TfsVersionControl/myGitRepo/_git/myPipeline # timeout=10
      Fetching upstream changes from https://tfs.contoso.com/TfsVersionControl/myGitRepo/_git/myPipeline
       > git.exe --version # timeout=10
      using GIT_ASKPASS to set credentials 
       > git.exe fetch --tags --progress https://tfs.contoso.com/TfsVersionControl/myGitRepo/_git/myPipeline +refs/heads/*:refs/remotes/origin/*
      ERROR: Error fetching remote repo 'origin'
      hudson.plugins.git.GitException: Failed to fetch from https://tfs.contoso.com/TfsVersionControl/myGitRepo/_git/myPipeline
      	at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:812)
      	at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1079)
      	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1110)
      	at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:109)
      	at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:130)
      	at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:59)
      	at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:246)
      	at hudson.model.ResourceController.execute(ResourceController.java:97)
      	at hudson.model.Executor.run(Executor.java:405)
      Caused by: hudson.plugins.git.GitException: Command "git.exe fetch --tags --progress https://tfs.contoso.com/TfsVersionControl/myGitRepo/_git/myPipeline +refs/heads/*:refs/remotes/origin/*" returned status code 128:
      stdout: 
      stderr: fatal: unable to access 'https://tfs.contoso.com/TfsVersionControl/myGitRepo/_git/myPipeline/': schannel: next InitializeSecurityContext failed: SEC_E_BUFFER_TOO_SMALL (0x80090321) - The buffers supplied to a function was too small.
      
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1903)
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1622)
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:71)
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:348)
      	at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:810)
      	... 8 more
      ERROR: Error fetching remote repo 'origin'
      Finished: FAILURE
      

       

          [JENKINS-47739] GIT Error: SEC_E_BUFFER_TOO_SMALL

          Mark Waite added a comment -

          This is not a bug in the Jenkins git plugin or in Jenkins. I believe that the output mentioning SEC_E_BUFFER_TOO_SMALL is coming from the server side of the git conversation. I suspect that means the issue is in Team Foundation Server, or one of its components, rather than command line git.

          A stackoverflow article suggests that there may be a disagreement on number of bytes expected by an SSL function on the server.

          The waffle project had a similar report, and as far as I can tell, they made the change on the server side as well.

          As a possible work around, you could try switching to use jgit instead of command line git. It may behave better. JGit can be enabled from the "Global Tool Configuration" page. Once it is enabled, a pick list is then available in each job to choose the Default implementation, or JGit.

          Mark Waite added a comment - This is not a bug in the Jenkins git plugin or in Jenkins. I believe that the output mentioning SEC_E_BUFFER_TOO_SMALL is coming from the server side of the git conversation. I suspect that means the issue is in Team Foundation Server, or one of its components, rather than command line git. A stackoverflow article suggests that there may be a disagreement on number of bytes expected by an SSL function on the server. The waffle project had a similar report , and as far as I can tell, they made the change on the server side as well. As a possible work around, you could try switching to use jgit instead of command line git. It may behave better. JGit can be enabled from the "Global Tool Configuration" page. Once it is enabled, a pick list is then available in each job to choose the Default implementation, or JGit.

          Thanks, I'll have to dig a bit more. I wonder if we can fix the issue by modifying the TLS ciphers we support on TFS.

          Jared Kauppila added a comment - Thanks, I'll have to dig a bit more. I wonder if we can fix the issue by modifying the TLS ciphers we support on TFS.

            Unassigned Unassigned
            jakauppila Jared Kauppila
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: