jenkinsci / jenkinsci/git-plugin

[JENKINS-28976] windows master, mac slave, polling fails trying to launch windows GIT_SSH program

Open
#2,674 4 comments 0 reactions 0 assignees View on GitHub
component:git-plugin imported-jira-issue priority:blocker resolution:unresolved
Dominant language
Java
Stars
694
Forks
1.1k
Avg merge
1h 29m
Merged PRs (30d)
3

Description

When I have a Mac slave node attached to the Windows master node, it always fails git polling with a message like this:

On my Windows master, the environment variable GIT_SSH is set to C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe (we also have subversion installed and this plink executable has been verified as working properly with github and our SSH key).

When we have the same job configured to run on a schedule, it always works. It only fails with this error when we use git polling.

I had previously encountered a similar problem that the Mac slave was attempting to run git.exe which I fixed by configuring the local tool location for the node to /usr/local/bin/git.

```
Started on Jun 18, 2015 2:46:52 PM
Using strategy: Default
[poll] Last Built Revision: Revision ce3c4ab9a700abf4d4874ff9116c49f68e3905c9 (refs/remotes/origin/master)
> /usr/local/bin/git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repositories
> /usr/local/bin/git config remote.origin.url git@​github.com:daz3d/Scruffy # timeout=10
Fetching upstream changes from git@​github.com:daz3d/Scruffy
> /usr/local/bin/git --version # timeout=10
> /usr/local/bin/git -c core.askpass=true fetch --tags --progress git@​github.com:daz3d/Scruffy +refs/heads/*:refs/remotes/origin/*
FATAL: Failed to fetch from git@​github.com:daz3d/Scruffy
hudson.util.IOException2: Failed to fetch from git@​github.com:daz3d/Scruffy
at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:496)
at hudson.scm.SCM._compareRemoteRevisionWith(SCM.java:356)
at hudson.scm.SCM.poll(SCM.java:373)
at hudson.model.AbstractProject.pollWithWorkspace(AbstractProject.java:1549)
at hudson.model.AbstractProject._poll(AbstractProject.java:1521)
at hudson.model.AbstractProject.poll(AbstractProject.java:1455)
at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:439)
at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:468)
at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: hudson.plugins.git.GitException: Failed to fetch from git@​github.com:daz3d/Scruffy
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:668)
at hudson.plugins.git.GitSCM.compareRemoteRevisionWithImpl(GitSCM.java:575)
at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:494)
... 14 more
Caused by: hudson.plugins.git.GitException: Command "/usr/local/bin/git -c core.askpass=true fetch --tags --progress git@​github.com:daz3d/Scruffy +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout:
stderr: error: cannot run C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe: No such file or directory
fatal: unable to fork

at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1591)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1379)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:86)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:324)
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:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:695)
Done. Took 0.14 sec
No changes

```

---
Originally reported by legalize, imported from: windows master, mac slave, polling fails trying to launch windows GIT_SSH program


  • status: Open
  • priority: Blocker
  • component(s): git-plugin
  • resolution: Unresolved
  • votes: 0
  • watchers: 3
  • imported: 2025-12-02

Raw content of original issue

When I have a Mac slave node attached to the Windows master node, it always fails git polling with a message like this:

On my Windows master, the environment variable GIT_SSH is set to C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe (we also have subversion installed and this plink executable has been verified as working properly with github and our SSH key).

When we have the same job configured to run on a schedule, it always works. It only fails with this error when we use git polling.

I had previously encountered a similar problem that the Mac slave was attempting to run git.exe which I fixed by configuring the local tool location for the node to /usr/local/bin/git.


Started on Jun 18, 2015 2:46:52 PM

Using strategy: Default
[poll] Last Built Revision: Revision ce3c4ab9a700abf4d4874ff9116c49f68e3905c9 (refs/remotes/origin/master)
> /usr/local/bin/git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repositories
> /usr/local/bin/git config remote.origin.url git@github.com:daz3d/Scruffy # timeout=10
Fetching upstream changes from git@github.com:daz3d/Scruffy
> /usr/local/bin/git --version # timeout=10
> /usr/local/bin/git -c core.askpass=true fetch --tags --progress git@github.com:daz3d/Scruffy +refs/heads/*:refs/remotes/origin/*
FATAL: Failed to fetch from git@github.com:daz3d/Scruffy
hudson.util.IOException2: Failed to fetch from git@github.com:daz3d/Scruffy
at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:496)
at hudson.scm.SCM._compareRemoteRevisionWith(SCM.java:356)
at hudson.scm.SCM.poll(SCM.java:373)
at hudson.model.AbstractProject.pollWithWorkspace(AbstractProject.java:1549)
at hudson.model.AbstractProject._poll(AbstractProject.java:1521)
at hudson.model.AbstractProject.poll(AbstractProject.java:1455)
at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:439)
at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:468)
at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: hudson.plugins.git.GitException: Failed to fetch from git@github.com:daz3d/Scruffy
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:668)
at hudson.plugins.git.GitSCM.compareRemoteRevisionWithImpl(GitSCM.java:575)
at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:494)
... 14 more
Caused by: hudson.plugins.git.GitException: Command "/usr/local/bin/git -c core.askpass=true fetch --tags --progress git@github.com:daz3d/Scruffy +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout:
stderr: error: cannot run C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe: No such file or directory
fatal: unable to fork

at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1591)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1379)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:86)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:324)
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:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:695)
Done. Took 0.14 sec
No changes


environment

```
Windows Master

MacOS slave

Jenkins ver. 1.509.4

jenkins-git plugin 2.2.12

jenkins git client plugin 1.17.1
```

1 attachment

- [screenshot-1.png](https://raw.githubusercontent.com/jenkinsci/attachments-from-jira-issues-last/refs/heads/main/attachments/29982/screenshot-1.png)
> ![screenshot-1.png](https://raw.githubusercontent.com/jenkinsci/attachments-from-jira-issues-last/refs/heads/main/attachments/29982/screenshot-1.png)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.