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

using git multi branch pipeline through proxy leads to fatal: unable to access

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Blocker
    • Resolution: Not A Defect
    • core
    • None
    • latest Jenkins LTS Jenkins ver. 2.222.1
      git plugin
      multi branch pipeline
      need proxy to use SCM (bitbucket)

    Description

      have update from Jenkins LTS Jenkins ver. 2.204.5 to the latest LTS: Jenkins ver. 2.222.1

      now my git multi branch pipeline through proxy doesn't work anymore

      with Jenkins ver. 2.204.5 it was working fine:

      Started by user testuser
      [Thu Mar 26 14:22:58 CET 2020] Starting branch indexing...
       > git.exe --version # timeout=10
      using GIT_ASKPASS to set credentials 
      Setting http proxy: proxy.*****.com:8080
       > git.exe ls-remote --symref -- https://bitbucket.mydev.com/scm/ici/infrastructuredotnet.git # timeout=10
      ERROR: [Thu Mar 26 14:22:58 CET 2020] Could not update folder level actions from source 4ad1ee05-7f07-477a-a003-aa5b11127210
      hudson.plugins.git.GitException: Command "git.exe ls-remote --symref -- https://bitbucket.mydev.com/scm/ici/infrastructuredotnet.git" returned status code 128:
      stdout: 
      stderr: fatal: unable to access 'https://bitbucket.mydev.com/scm/ici/infrastructuredotnet.git/': Received HTTP code 407 from proxy after CONNECT
      
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2430)
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2044)
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1944)
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1935)
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getRemoteSymbolicReferences(CliGitAPIImpl.java:3360)
      	at jenkins.plugins.git.AbstractGitSCMSource.retrieveActions(AbstractGitSCMSource.java:1121)
      	at jenkins.scm.api.SCMSource.fetchActions(SCMSource.java:848)
      	at jenkins.branch.MultiBranchProject.computeChildren(MultiBranchProject.java:598)
      	at com.cloudbees.hudson.plugins.folder.computed.ComputedFolder.updateChildren(ComputedFolder.java:277)
      	at com.cloudbees.hudson.plugins.folder.computed.FolderComputation.run(FolderComputation.java:164)
      	at jenkins.branch.MultiBranchProject$BranchIndexing.run(MultiBranchProject.java:1032)
      	at hudson.model.ResourceController.execute(ResourceController.java:97)
      	at hudson.model.Executor.run(Executor.java:428)
      [Thu Mar 26 14:22:58 CET 2020] Finished branch indexing. Indexing took 0.5 sec
      FATAL: Failed to recompute children of Infrastructure
      hudson.plugins.git.GitException: Command "git.exe ls-remote --symref -- https://bitbucket.mydev.com/scm/ici/infrastructuredotnet.git" returned status code 128:
      stdout: 
      stderr: fatal: unable to access 'https://bitbucket.mydev.com/scm/ici/infrastructuredotnet.git/': Received HTTP code 407 from proxy after CONNECT
      
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2430)
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2044)
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1944)
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1935)
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getRemoteSymbolicReferences(CliGitAPIImpl.java:3360)
      	at jenkins.plugins.git.AbstractGitSCMSource.retrieveActions(AbstractGitSCMSource.java:1121)
      	at jenkins.scm.api.SCMSource.fetchActions(SCMSource.java:848)
      	at jenkins.branch.MultiBranchProject.computeChildren(MultiBranchProject.java:598)
      	at com.cloudbees.hudson.plugins.folder.computed.ComputedFolder.updateChildren(ComputedFolder.java:277)
      	at com.cloudbees.hudson.plugins.folder.computed.FolderComputation.run(FolderComputation.java:164)
      	at jenkins.branch.MultiBranchProject$BranchIndexing.run(MultiBranchProject.java:1032)
      	at hudson.model.ResourceController.execute(ResourceController.java:97)
      	at hudson.model.Executor.run(Executor.java:428)
      Finished: FAILURE
      

      Attachments

        1. screenshot-1.png
          screenshot-1.png
          673 kB
        2. screenshot-2.png
          screenshot-2.png
          535 kB
        3. screenshot-3.png
          screenshot-3.png
          41 kB

        Issue Links

          Activity

            danielbeck Daniel Beck added a comment -

            secretPassword is no longer stored in proxy.xml

            I am unable to reproduce this on 2.222.1. The password is always stored after form submission. Are you using Groovy init hook scripts, or Configuration-as-Code to define your proxy?

            danielbeck Daniel Beck added a comment - secretPassword is no longer stored in proxy.xml I am unable to reproduce this on 2.222.1. The password is always stored after form submission. Are you using Groovy init hook scripts, or Configuration-as-Code to define your proxy?
            markewaite Mark Waite added a comment -

            thomaspatzig I am also unable to duplicate the issue on Jenkins 2.222.1. The password is stored when I submit the form without validating the proxy.

            If I validate the proxy with 2.222.1, the validation fails with "ERROR" which can be expanded to show the null pointer exception. After the NPE during validation, the fields are still visible to the user, but there seem to be cases where pressing the Submit button does not write the password or username to the proxy.xml file.

            The bug in 2.222.1 that causes the null pointer exception seems to also cause unexpected interactions between the fields after the null pointer exception. I think that is understandable, since the null pointer exception is unexpected and interrupts the logic before it completes its tasks. I think that PR 4607 is the best solution for this, but that needs your confirmation that it addresses the case you had seen.

            markewaite Mark Waite added a comment - thomaspatzig I am also unable to duplicate the issue on Jenkins 2.222.1. The password is stored when I submit the form without validating the proxy. If I validate the proxy with 2.222.1, the validation fails with " ERROR " which can be expanded to show the null pointer exception. After the NPE during validation, the fields are still visible to the user, but there seem to be cases where pressing the Submit button does not write the password or username to the proxy.xml file. The bug in 2.222.1 that causes the null pointer exception seems to also cause unexpected interactions between the fields after the null pointer exception. I think that is understandable, since the null pointer exception is unexpected and interrupts the logic before it completes its tasks. I think that PR 4607 is the best solution for this, but that needs your confirmation that it addresses the case you had seen.
            thomaspatzig Thomas Patzig added a comment - - edited

            ..have try jenkins.war from PR 4607.... it works...

             

            have also found a mistake on my side....

            I automize the Jenkins installation and bootstrap config to check latest versions... for that I do some http posts like the user would do...

             

            for setup the proxy I have use "post descriptorByName/hudson.ProxyConfiguration/validateProxy" with body form url encoded content and the content "password" instead of "secretPassword"...

            (same on http post pluginManager/proxyConfigure)

             

            I think "password" is no longer supported in that post. Am I right?

             

            ....with fix on my side ("secretPassword" instead of "password") it works fine.

            thomaspatzig Thomas Patzig added a comment - - edited ..have try jenkins.war from PR 4607.... it works...   have also found a mistake on my side.... I automize the Jenkins installation and bootstrap config to check latest versions... for that I do some http posts like the user would do...   for setup the proxy I have use "post descriptorByName/hudson.ProxyConfiguration/validateProxy" with body form url encoded content and the content "password" instead of "secretPassword"... (same on http post pluginManager/proxyConfigure)   I think "password" is no longer supported in that post. Am I right?   ....with fix on my side ("secretPassword" instead of "password") it works fine.
            markewaite Mark Waite added a comment -

            Thanks very much for verifying. That is great news. Yes, as far as I understand it, the field has changed from password to secretPassword in the form. timja can correct me if I've stated that incorrectly.

            The fix will be in the next weekly. Thanks for reporting it and for verifying that the fix works.

            markewaite Mark Waite added a comment - Thanks very much for verifying. That is great news. Yes, as far as I understand it, the field has changed from password to secretPassword in the form. timja can correct me if I've stated that incorrectly. The fix will be in the next weekly. Thanks for reporting it and for verifying that the fix works.
            danielbeck Daniel Beck added a comment -

            Caused by bad automation.

            danielbeck Daniel Beck added a comment - Caused by bad automation.

            People

              Unassigned Unassigned
              thomaspatzig Thomas Patzig
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: