hudson.util.IOException2: Failed to connect to http://user@localhost:8888/git/xxx.git (status = 401)

Jenkins JIRA | Thomas de Grenier de Latour | 3 years ago
  1. 0

    When configuring a Git URL with credentials, like "http(s)://user:password@server/path/to/repo.git", and explicitly selecting a single branch to build, the polling fails with 401 error: Here is the stacktrace from scm-polling.log: hudson.util.IOException2: Failed to connect to http://user@localhost:8888/git/xxx.git (status = 401) at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:458) at hudson.scm.SCM._compareRemoteRevisionWith(SCM.java:356) at hudson.scm.SCM.poll(SCM.java:373) at hudson.model.AbstractProject._poll(AbstractProject.java:1415) at hudson.model.AbstractProject.poll(AbstractProject.java:1335) at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:420) at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:449) at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: hudson.plugins.git.GitException: Failed to connect to http://user@localhost:8888/git/xxx.git (status = 401) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getURLWithCrendentials(CliGitAPIImpl.java:1437) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getURLWithCrendentials(CliGitAPIImpl.java:1379) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getHeadRev(CliGitAPIImpl.java:1294) at hudson.plugins.git.GitSCM.compareRemoteRevisionWithImpl(GitSCM.java:488) at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:456) ... 13 more The problem is that the "fast remote polling" discards the in-URL password ("URIish.toString()"): https://github.com/jenkinsci/git-plugin/blob/f6d42c4e7edb102d3330af5ca66a7f5809d1a48e/src/main/java/hudson/plugins/git/GitSCM.java#L488 I've verified that calling "toPrivateString()" there is enough to fix the bug. That said, it might be better/cleaner to extend the GitClient API with a "getHeadRev(URIish, String)", just like there is a "fetch(URIish, List<RefSpec>)" method for instance, and make the call to "toPrivateString" a bit deeper, where the password is actually required.

    Jenkins JIRA | 3 years ago | Thomas de Grenier de Latour
    hudson.util.IOException2: Failed to connect to http://user@localhost:8888/git/xxx.git (status = 401)
  2. 0

    When configuring a Git URL with credentials, like "http(s)://user:password@server/path/to/repo.git", and explicitly selecting a single branch to build, the polling fails with 401 error: Here is the stacktrace from scm-polling.log: hudson.util.IOException2: Failed to connect to http://user@localhost:8888/git/xxx.git (status = 401) at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:458) at hudson.scm.SCM._compareRemoteRevisionWith(SCM.java:356) at hudson.scm.SCM.poll(SCM.java:373) at hudson.model.AbstractProject._poll(AbstractProject.java:1415) at hudson.model.AbstractProject.poll(AbstractProject.java:1335) at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:420) at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:449) at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: hudson.plugins.git.GitException: Failed to connect to http://user@localhost:8888/git/xxx.git (status = 401) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getURLWithCrendentials(CliGitAPIImpl.java:1437) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getURLWithCrendentials(CliGitAPIImpl.java:1379) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getHeadRev(CliGitAPIImpl.java:1294) at hudson.plugins.git.GitSCM.compareRemoteRevisionWithImpl(GitSCM.java:488) at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:456) ... 13 more The problem is that the "fast remote polling" discards the in-URL password ("URIish.toString()"): https://github.com/jenkinsci/git-plugin/blob/f6d42c4e7edb102d3330af5ca66a7f5809d1a48e/src/main/java/hudson/plugins/git/GitSCM.java#L488 I've verified that calling "toPrivateString()" there is enough to fix the bug. That said, it might be better/cleaner to extend the GitClient API with a "getHeadRev(URIish, String)", just like there is a "fetch(URIish, List<RefSpec>)" method for instance, and make the call to "toPrivateString" a bit deeper, where the password is actually required.

    Jenkins JIRA | 3 years ago | Thomas de Grenier de Latour
    hudson.util.IOException2: Failed to connect to http://user@localhost:8888/git/xxx.git (status = 401)
  3. 0

    Jenkins node fails to poll changes

    GitHub | 2 years ago | vircung
    hudson.util.IOException2: hudson.plugins.git.GitException: Command "/usr/bin/git ls-remote -h ssh://git@gitlab.---------------------------------------.git develop" returned status code 128: stdout: stderr: Access denied. fatal: The remote end hung up unexpectedly
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    [JENKINS-21914] Intermittent Git(hub) polling errors on Windows - Jenkins JIRA

    jenkins-ci.org | 1 year ago
    hudson.util.IOException2: hudson.plugins.git.GitException: Command "git config --local credential.helper store --file=\"C:\Windows\TEMP\git4966117369976036349.credentials\"" returned status code 255: stdout: stderr: error: could not lock config file .git/config: File exists
  6. 0

    When using https Git URLs which Username/Password credentials, remote polling is not working. {code} Started on Jan 24, 2014 11:04:31 AM Using strategy: Default [poll] Last Built Revision: Revision 97b787a21b9e0507d5591a8418a751b7df023751 (origin/master-7.5) using .gitcredentials to set credentials Could not remove the credential section from the git configuration FATAL: hudson.plugins.git.GitException: Command "git config --local credential.helper store --file=/tmp/git4646876542745620308.credentials" returned status code 255: stdout: stderr: error: could not lock config file .git/config: No such file or directory hudson.util.IOException2: hudson.plugins.git.GitException: Command "git config --local credential.helper store --file=/tmp/git4646876542745620308.credentials" returned status code 255: stdout: stderr: error: could not lock config file .git/config: No such file or directory at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:459) at hudson.scm.SCM._compareRemoteRevisionWith(SCM.java:356) at hudson.scm.SCM.poll(SCM.java:373) at hudson.model.AbstractProject._poll(AbstractProject.java:1584) at hudson.model.AbstractProject.poll(AbstractProject.java:1493) at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:456) at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:485) at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) Caused by: hudson.plugins.git.GitException: Command "git config --local credential.helper store --file=/tmp/git4646876542745620308.credentials" returned status code 255: stdout: stderr: error: could not lock config file .git/config: No such file or directory at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1097) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1074) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1070) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:971) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:928) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getHeadRev(CliGitAPIImpl.java:1449) at hudson.plugins.git.GitSCM.compareRemoteRevisionWithImpl(GitSCM.java:489) at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:457) ... 12 more Done. Took 0.77 sec No changes {code} The "Force polling using workspace" extension can be used as a workaround.

    Jenkins JIRA | 3 years ago | Daniel Spilker
    hudson.util.IOException2: hudson.plugins.git.GitException: Command "git config --local credential.helper store --file=/tmp/git4646876542745620308.credentials" returned status code 255: stdout: stderr: error: could not lock config file .git/config: No such file or directory

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. hudson.plugins.git.GitException

      Failed to connect to http://user@localhost:8888/git/xxx.git (status = 401)

      at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getURLWithCrendentials()
    2. org.jenkinsci.plugins
      CliGitAPIImpl.getHeadRev
      1. org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getURLWithCrendentials(CliGitAPIImpl.java:1437)
      2. org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getURLWithCrendentials(CliGitAPIImpl.java:1379)
      3. org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getHeadRev(CliGitAPIImpl.java:1294)
      3 frames
    3. Hudson GIT plugin
      GitSCM.compareRemoteRevisionWith
      1. hudson.plugins.git.GitSCM.compareRemoteRevisionWithImpl(GitSCM.java:488)
      2. hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:456)
      2 frames
    4. Hudson
      SequentialExecutionQueue$QueueEntry.run
      1. hudson.scm.SCM._compareRemoteRevisionWith(SCM.java:356)
      2. hudson.scm.SCM.poll(SCM.java:373)
      3. hudson.model.AbstractProject._poll(AbstractProject.java:1415)
      4. hudson.model.AbstractProject.poll(AbstractProject.java:1335)
      5. hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:420)
      6. hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:449)
      7. hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118)
      7 frames
    5. Java RT
      Thread.run
      1. java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      2. java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
      3. java.util.concurrent.FutureTask.run(FutureTask.java:166)
      4. java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      5. java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      6. java.lang.Thread.run(Thread.java:724)
      6 frames