Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Component/s: git-plugin
    • Environment:
    • Similar Issues:

      Description

      (as an aside, I love the idea of Jenkins. Thanks for your hard work!)

      New user so it's possible I may have missed something basic, but I've been reading/testing for 4+ hours now.

      I don't even seem to be able to get to the point where I can pull the source from github (it fails while cleaning the workspace).

      I have tried reinstalling Jenkins from Program Files (x86) to C:\Jenkins, and then I eventually specified the specific workspace below of E:\JenkinsWorkspace to test it out. All are failing, so I ruled out spaces and extra-long paths I think.

      Happy to provide any other information to help troubleshoot. Looking forward to getting this solved!

      Build Output Log
      tarted by user anonymous
      Building in workspace E:\JenkinsWorkspace
      Checkout:JenkinsWorkspace / E:\JenkinsWorkspace - hudson.remoting.LocalChannel@1c1b26c
      Using strategy: Default
      Cloning the remote Git repository
      Cloning repository https://github.com/SeanKilleen/Skillustrator
      git --version
      Process leaked file descriptors. See http://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build for more information
      ERROR: Failed to clean the workspace
      java.io.IOException: Unable to delete E:\JenkinsWorkspace
      	at hudson.Util.deleteFile(Util.java:243)
      	at hudson.Util.deleteRecursive(Util.java:293)
      	at hudson.FilePath$11.invoke(FilePath.java:982)
      	at hudson.FilePath$11.invoke(FilePath.java:980)
      	at hudson.FilePath.act(FilePath.java:851)
      	at hudson.FilePath.act(FilePath.java:824)
      	at hudson.FilePath.deleteRecursive(FilePath.java:980)
      	at hudson.plugins.git.GitAPI.clone(GitAPI.java:241)
      	at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1044)
      	at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:986)
      	at hudson.FilePath.act(FilePath.java:851)
      	at hudson.FilePath.act(FilePath.java:824)
      	at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:986)
      	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1142)
      	at hudson.model.AbstractProject.checkout(AbstractProject.java:1325)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:676)
      	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:581)
      	at hudson.model.Run.execute(Run.java:1516)
      	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      	at hudson.model.ResourceController.execute(ResourceController.java:88)
      	at hudson.model.Executor.run(Executor.java:236)
      ERROR: Error cloning remote repo 'origin' : Failed to delete workspace
      hudson.plugins.git.GitException: Failed to delete workspace
      	at hudson.plugins.git.GitAPI.clone(GitAPI.java:244)
      	at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1044)
      	at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:986)
      	at hudson.FilePath.act(FilePath.java:851)
      	at hudson.FilePath.act(FilePath.java:824)
      	at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:986)
      	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1142)
      	at hudson.model.AbstractProject.checkout(AbstractProject.java:1325)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:676)
      	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:581)
      	at hudson.model.Run.execute(Run.java:1516)
      	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      	at hudson.model.ResourceController.execute(ResourceController.java:88)
      	at hudson.model.Executor.run(Executor.java:236)
      Caused by: java.io.IOException: Unable to delete E:\JenkinsWorkspace
      	at hudson.Util.deleteFile(Util.java:243)
      	at hudson.Util.deleteRecursive(Util.java:293)
      	at hudson.FilePath$11.invoke(FilePath.java:982)
      	at hudson.FilePath$11.invoke(FilePath.java:980)
      	at hudson.FilePath.act(FilePath.java:851)
      	at hudson.FilePath.act(FilePath.java:824)
      	at hudson.FilePath.deleteRecursive(FilePath.java:980)
      	at hudson.plugins.git.GitAPI.clone(GitAPI.java:241)
      	... 14 more
      Trying next repository
      ERROR: Could not clone repository
      FATAL: Could not clone
      hudson.plugins.git.GitException: Could not clone
      	at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1056)
      	at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:986)
      	at hudson.FilePath.act(FilePath.java:851)
      	at hudson.FilePath.act(FilePath.java:824)
      	at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:986)
      	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1142)
      	at hudson.model.AbstractProject.checkout(AbstractProject.java:1325)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:676)
      	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:581)
      	at hudson.model.Run.execute(Run.java:1516)
      	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      	at hudson.model.ResourceController.execute(ResourceController.java:88)
      	at hudson.model.Executor.run(Executor.java:236)
      

        Attachments

          Issue Links

            Activity

            seankilleen Sean Killeen created issue -
            Hide
            seankilleen Sean Killeen added a comment -

            Another item of note: This spawns wish.exe (a part of msysgit) and it fails to close. It leaves a handle open on that directory. However, I've tried manually shutting down all instances of wish.exe and double-checking with ProcExp that no handle includes that path, to no avail.

            Show
            seankilleen Sean Killeen added a comment - Another item of note: This spawns wish.exe (a part of msysgit) and it fails to close. It leaves a handle open on that directory. However, I've tried manually shutting down all instances of wish.exe and double-checking with ProcExp that no handle includes that path, to no avail.
            Hide
            markewaite Mark Waite added a comment -

            Windows refuses to remove a directory which is busy, either because there is a file open in the directory, or a program is using that directory as its current working directory.

            One possible solution in this case is to choose to not clean the workspace from the git plugin, but rather perform the clean operation from within your build scripts where you can intentionally ignore this failure case.

            Show
            markewaite Mark Waite added a comment - Windows refuses to remove a directory which is busy, either because there is a file open in the directory, or a program is using that directory as its current working directory. One possible solution in this case is to choose to not clean the workspace from the git plugin, but rather perform the clean operation from within your build scripts where you can intentionally ignore this failure case.
            Hide
            dankirkd Daniel Kirkdorffer added a comment -

            Same issue: Win XP. Jenkins 1.494, Jenkins Git Plugin 1.1.26. Git version 1.8.0.msysgit.0. Brand new job. Workspace never existed before running this the first time, so Jenkins creates it and then tries to delete it. "Wipe out workspace before build" option is NOT selected. Git executable path: C:\Git\cmd\gitk.cmd (but I've also tried C:\Git\bin\git.exe with the same issues).

            Show
            dankirkd Daniel Kirkdorffer added a comment - Same issue: Win XP. Jenkins 1.494, Jenkins Git Plugin 1.1.26. Git version 1.8.0.msysgit.0. Brand new job. Workspace never existed before running this the first time, so Jenkins creates it and then tries to delete it. "Wipe out workspace before build" option is NOT selected. Git executable path: C:\Git\cmd\gitk.cmd (but I've also tried C:\Git\bin\git.exe with the same issues).
            Hide
            dankirkd Daniel Kirkdorffer added a comment -

            Looks like the code in question is https://github.com/jenkinsci/git-plugin/blob/master/src/main/java/hudson/plugins/git/GitAPI.java#L247 that is trying to recursively delete the workspace before the clone.

            Show
            dankirkd Daniel Kirkdorffer added a comment - Looks like the code in question is https://github.com/jenkinsci/git-plugin/blob/master/src/main/java/hudson/plugins/git/GitAPI.java#L247 that is trying to recursively delete the workspace before the clone.
            Hide
            dankirkd Daniel Kirkdorffer added a comment -

            Perhaps of relevance: I am running Jenkins within Tomcat 7.

            Show
            dankirkd Daniel Kirkdorffer added a comment - Perhaps of relevance: I am running Jenkins within Tomcat 7.
            dankirkd Daniel Kirkdorffer made changes -
            Field Original Value New Value
            Link This issue is related to JENKINS-15331 [ JENKINS-15331 ]
            Hide
            dankirkd Daniel Kirkdorffer added a comment -

            After further testing I switched back to using C:\Git\bin\git.exe instead of C:\Git\cmd\gitk.cmd for my Git command, and that appears to have corrected the problem for me. Why this might be I do not know.

            Show
            dankirkd Daniel Kirkdorffer added a comment - After further testing I switched back to using C:\Git\bin\git.exe instead of C:\Git\cmd\gitk.cmd for my Git command, and that appears to have corrected the problem for me. Why this might be I do not know.
            Hide
            markewaite Mark Waite added a comment -

            I would be quite surprised if the switch from git.cmd to git.exe was the root of the change, since the recursive remove step that is failing is not invoking either of them at the point of failure. It is possible that the results from git.cmd are different enough from those of git.exe that the path is not being executed, but that would be very surprising.

            I would guess (just guessing) that the deletion failure is due to Windows having a file busy in the directory and the timing is variable so that sometimes it works and sometimes it doesn't. I've seen cases where Windows virus scanners will have a file locked during a scan and other programs will be unable to delete those files.

            If it recurs, you might consider disabling virus scanning in the Jenkins workspace, just to see if that reduces the frequency.

            Show
            markewaite Mark Waite added a comment - I would be quite surprised if the switch from git.cmd to git.exe was the root of the change, since the recursive remove step that is failing is not invoking either of them at the point of failure. It is possible that the results from git.cmd are different enough from those of git.exe that the path is not being executed, but that would be very surprising. I would guess (just guessing) that the deletion failure is due to Windows having a file busy in the directory and the timing is variable so that sometimes it works and sometimes it doesn't. I've seen cases where Windows virus scanners will have a file locked during a scan and other programs will be unable to delete those files. If it recurs, you might consider disabling virus scanning in the Jenkins workspace, just to see if that reduces the frequency.
            Hide
            dankirkd Daniel Kirkdorffer added a comment -

            We already had an exclusion setup for the Jenkins workspaces. My monitoring of the workspace folder using Process Explorer showed that wish.exe was the one holding on to it. I don't believe that gets called unless I use gitk.cmd.

            Show
            dankirkd Daniel Kirkdorffer added a comment - We already had an exclusion setup for the Jenkins workspaces. My monitoring of the workspace folder using Process Explorer showed that wish.exe was the one holding on to it. I don't believe that gets called unless I use gitk.cmd.
            Hide
            hx_unbanned Linards L added a comment - - edited

            Just ENSURE NO ONE GOT ANY KIND OF DAMN windows handle / lock on that directory. Thats it. if you play nice and dont mess with workspace, Jenkins will be nice, too ...

            Show
            hx_unbanned Linards L added a comment - - edited Just ENSURE NO ONE GOT ANY KIND OF DAMN windows handle / lock on that directory. Thats it. if you play nice and dont mess with workspace, Jenkins will be nice, too ...
            Hide
            davidneudorfer David Neudorfer added a comment -

            I'm having this problem as well. Its definitely file locking and not file path length. I've tested 1.474 and 1.500. I can't seem to fix the problem. Any suggestions? Google isn't helping much.

            Show
            davidneudorfer David Neudorfer added a comment - I'm having this problem as well. Its definitely file locking and not file path length. I've tested 1.474 and 1.500. I can't seem to fix the problem. Any suggestions? Google isn't helping much.
            Hide
            dankirkd Daniel Kirkdorffer added a comment -

            If you're using gitk.cmd I suggest switching to git.exe. I've not had the problem since doing so.

            Show
            dankirkd Daniel Kirkdorffer added a comment - If you're using gitk.cmd I suggest switching to git.exe. I've not had the problem since doing so.
            Hide
            davidneudorfer David Neudorfer added a comment -

            Still having the same problem. Fresh install on a new server. Very confusing.

            Show
            davidneudorfer David Neudorfer added a comment - Still having the same problem. Fresh install on a new server. Very confusing.
            Hide
            davidneudorfer David Neudorfer added a comment -

            This is the error I'm getting. http://pastebin.com/MN9iP66x

            Show
            davidneudorfer David Neudorfer added a comment - This is the error I'm getting. http://pastebin.com/MN9iP66x
            Hide
            davidneudorfer David Neudorfer added a comment -

            When I try to delete the folder it says its in use. http://cl.ly/Me49 If I turn off the Jenkins service it still says its in use.

            Show
            davidneudorfer David Neudorfer added a comment - When I try to delete the folder it says its in use. http://cl.ly/Me49 If I turn off the Jenkins service it still says its in use.
            Hide
            davidneudorfer David Neudorfer added a comment -

            wish.exe is causing this problem for me.

            Show
            davidneudorfer David Neudorfer added a comment - wish.exe is causing this problem for me.
            Hide
            dankirkd Daniel Kirkdorffer added a comment -

            If that's the case then you surely are using gitk.cmd and not git.exe directly. Check what your Jenkins config for Git installs are and that your job is using the one that calls git.exe directly.

            Show
            dankirkd Daniel Kirkdorffer added a comment - If that's the case then you surely are using gitk.cmd and not git.exe directly. Check what your Jenkins config for Git installs are and that your job is using the one that calls git.exe directly.
            gbois Gregory Boissinot made changes -
            Component/s msbuild [ 15559 ]
            lanwen Kirill Merkushev made changes -
            Component/s github-plugin [ 15896 ]
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 146654 ] JNJira + In-Review [ 176670 ]
            ndeloof Nicolas De Loof made changes -
            Assignee Nicolas De Loof [ ndeloof ]

              People

              • Assignee:
                Unassigned
                Reporter:
                seankilleen Sean Killeen
              • Votes:
                2 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated: