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

git init fails on Windows slave due to unwritable .git\config-file

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: Major Major
    • Jenkins 2.39.1 LTS, GitLab 8.15.4, Git 2.8.4, Git plugin 3.0.1, Git client plugin 2.2.1.
      Server running on Ubuntu 16.04 LTS and Slave running on Win 7.

      Sometimes, the git init-command fails because of the .git/config-file is non-writeable.
      Logging into the slave, there seems to be nothing wrong with the permissions on the file.

      When it is good, it just inits the repo.

      12:33:36 Started by GitLab push by the_persion
      12:33:36 [EnvInject] - Loading node environment variables.
      12:33:36 Building remotely on the_machine in workspace C:\JenkinsVM_slave\workspace\the_job
      12:33:36 [WS-CLEANUP] Deleting project workspace...
      12:33:38 [WS-CLEANUP] Done
      12:33:41 Wiping out workspace first.
      12:33:41 Cloning the remote Git repository
      12:33:41 Cloning repository the_repository.git
      12:33:41  > git init C:\JenkinsVM_slave\workspace\the_job # timeout=10
      12:33:41 Fetching upstream changes from the_repository.git
      

      When it fails, it halts at git init:

      11:38:32 Started by GitLab push by the_person
      11:38:32 [EnvInject] - Loading node environment variables.
      11:38:32 Building remotely on the_machine in workspace C:\JenkinsVM_slave\workspace\the_job
      11:38:32 [WS-CLEANUP] Deleting project workspace...
      11:38:32 [WS-CLEANUP] Done
      11:38:32 Wiping out workspace first.
      11:38:32 Cloning the remote Git repository
      11:38:32 Cloning repository the_repository.git
      11:38:32  > git init C:\JenkinsVM_slave\workspace\the_job # timeout=10
      11:38:33 ERROR: Error cloning remote repo 'origin'
      11:38:33 hudson.plugins.git.GitException: Could not init C:\JenkinsVM_slave\workspace\the_job
      11:38:33 	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$5.execute(CliGitAPIImpl.java:666)
      11:38:33 	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:467)
      11:38:33 	at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:152)
      11:38:33 	at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:145)
      11:38:33 	at hudson.remoting.UserRequest.perform(UserRequest.java:153)
      11:38:33 	at hudson.remoting.UserRequest.perform(UserRequest.java:50)
      11:38:33 	at hudson.remoting.Request$2.run(Request.java:332)
      11:38:33 	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
      11:38:33 	at java.util.concurrent.FutureTask.run(Unknown Source)
      11:38:33 	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      11:38:33 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      11:38:33 	at hudson.remoting.Engine$1$1.run(Engine.java:85)
      11:38:33 	at java.lang.Thread.run(Unknown Source)
      11:38:33 	at ......remote call to Channel to /ip_address_of_the_machine(Native Method)
      11:38:33 	at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1537)
      11:38:33 	at hudson.remoting.UserResponse.retrieve(UserRequest.java:253)
      11:38:33 	at hudson.remoting.Channel.call(Channel.java:822)
      11:38:33 	at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:145)
      11:38:33 	at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source)
      11:38:33 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      11:38:33 	at java.lang.reflect.Method.invoke(Method.java:498)
      11:38:33 	at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:131)
      11:38:33 	at com.sun.proxy.$Proxy73.execute(Unknown Source)
      11:38:33 	at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1054)
      11:38:33 	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1094)
      11:38:33 	at hudson.scm.SCM.checkout(SCM.java:495)
      11:38:33 	at hudson.model.AbstractProject.checkout(AbstractProject.java:1278)
      11:38:33 	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:604)
      11:38:33 	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
      11:38:33 	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
      11:38:33 	at hudson.model.Run.execute(Run.java:1728)
      11:38:33 	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      11:38:33 	at hudson.model.ResourceController.execute(ResourceController.java:98)
      11:38:33 	at hudson.model.Executor.run(Executor.java:404)
      11:38:33 Caused by: hudson.plugins.git.GitException: Command "git init C:\JenkinsVM_slave\workspace\the_job" returned status code 128:
      11:38:33 stdout: 
      11:38:33 stderr: error: could not write config file C:/JenkinsVM_slave/workspace/the_job/.git/config: Permission denied
      11:38:33 fatal: could not set 'core.symlinks' to 'false'
      11:38:33 
      11:38:33 	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1772)
      11:38:33 	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1745)
      11:38:33 	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1741)
      11:38:33 	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:1412)
      11:38:33 	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$5.execute(CliGitAPIImpl.java:664)
      11:38:33 	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:467)
      11:38:33 	at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:152)
      11:38:33 	at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:145)
      11:38:33 	at hudson.remoting.UserRequest.perform(UserRequest.java:153)
      11:38:33 	at hudson.remoting.UserRequest.perform(UserRequest.java:50)
      11:38:33 	at hudson.remoting.Request$2.run(Request.java:332)
      11:38:33 	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
      11:38:33 	at java.util.concurrent.FutureTask.run(Unknown Source)
      11:38:33 	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      11:38:33 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      11:38:33 	at hudson.remoting.Engine$1$1.run(Engine.java:85)
      11:38:33 	at java.lang.Thread.run(Unknown Source)
      11:38:33 ERROR: null
      

      Note that the fatal error at 11:38:33 could not set 'core.symlink' to 'true', can be almost any entity in the config-file. Not necessarily the same from time to time.

            Unassigned Unassigned
            xjom Mattias VannergÄrd
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: