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

maven build creates symlinkd files that Windows OS does not understand

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      After upgrading to 1.509.4 our Maven builds create files that Windows cannot backup. The invalid files are SYMLINKD one for each module.
      The maven build and UI seem to work fine. The files are under the jobs/project name/builds/buildnumber or builddate directory.

      11/19/2013 04:47 PM <SYMLINKD> us.mn.state.education.sfin.automation$sfi
      n-post-processor [../../modules/us.mn.state.education.sfin.automation$sfin-post-
      processor/builds/2013-11-19_16-40-46]
      4 File(s) 3,881,255 bytes
      34 Dir(s) 20,236,365,824 bytes free

      E:\jenkins\.jenkins\jobs\SFIN-OB\builds\56>type us.mn.state.education.sfin$confi
      gs
      Access is denied.

      E:\jenkins\.jenkins\jobs\SFIN-OB\builds\56>cd us.mn.state.education.sfin$configs

      The filename, directory name, or volume label syntax is incorrect.

      E:\jenkins\.jenkins\jobs\SFIN-OB\builds\56>

        Attachments

          Issue Links

            Activity

            jknudsen Joe Knudsen created issue -
            Hide
            jknudsen Joe Knudsen added a comment -

            After looking closer I see that the slashes are Unix forward slashes in for the path to the symbolic link. Two directories above is a SYMLINK for lastStable and that uses the back slashes. I am guessing the Maven plugin needs to start using the forward slashes on Windows. I did check and the files exist if I use the back slashes.

            Show
            jknudsen Joe Knudsen added a comment - After looking closer I see that the slashes are Unix forward slashes in for the path to the symbolic link. Two directories above is a SYMLINK for lastStable and that uses the back slashes. I am guessing the Maven plugin needs to start using the forward slashes on Windows. I did check and the files exist if I use the back slashes.
            jknudsen Joe Knudsen made changes -
            Field Original Value New Value
            Summary maven build creates files that Windows cannot backup maven build creates symlinkd files that Windows OS does not understand
            jknudsen Joe Knudsen made changes -
            Component/s maven [ 16033 ]
            Component/s maven2 [ 15487 ]
            jknudsen Joe Knudsen made changes -
            Labels maven
            jknudsen Joe Knudsen made changes -
            Component/s maven2 [ 15487 ]
            jknudsen Joe Knudsen made changes -
            Affects Version/s current [ 10162 ]
            jknudsen Joe Knudsen made changes -
            Link This issue is related to JENKINS-17681 [ JENKINS-17681 ]
            Hide
            jknudsen Joe Knudsen added a comment -

            Tried upgrading to the latest stable build 1.532.1 and the problem still exsists.

            Show
            jknudsen Joe Knudsen added a comment - Tried upgrading to the latest stable build 1.532.1 and the problem still exsists.
            jknudsen Joe Knudsen made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            jknudsen Joe Knudsen made changes -
            Status In Progress [ 3 ] Open [ 1 ]
            jknudsen Joe Knudsen made changes -
            Component/s maven-invoker-plugin [ 16822 ]
            Hide
            jknudsen Joe Knudsen added a comment -

            By the way the side effect of the problem is issues with backups.

            Show
            jknudsen Joe Knudsen added a comment - By the way the side effect of the problem is issues with backups.
            Hide
            timdrury Tim Drury added a comment -

            We just started getting this issue with on one job which had been running fine. I don't think there have been any system configuration changes.

            We're on 1.532.1 on Windows Server 2008 R2. Jenkins is run with JDK 1.6.0_26 (x64).

            I found this in the Jenkins error log:

            Apr 2, 2014 3:02:48 PM jenkins.InitReactorRunner$1 onTaskFailed
            SEVERE: Failed Loading job me-main-coverage-test
            java.lang.NumberFormatException: For input string: ""
            at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
            at java.lang.Integer.parseInt(Integer.java:470)
            at java.lang.Integer.parseInt(Integer.java:499)
            at jenkins.model.PeepholePermalink.resolve(PeepholePermalink.java:87)
            at hudson.model.Job.getLastSuccessfulBuild(Job.java:833)
            at hudson.maven.AbstractMavenProject.createTransientActions(AbstractMavenProject.java:185)
            at hudson.model.AbstractProject.updateTransientActions(AbstractProject.java:746)
            at hudson.maven.MavenModule.updateTransientActions(MavenModule.java:485)
            at hudson.model.AbstractProject.onLoad(AbstractProject.java:333)
            at hudson.maven.MavenModule.onLoad(MavenModule.java:283)
            at hudson.model.Items.load(Items.java:221)
            at hudson.model.ItemGroupMixIn.loadChildren(ItemGroupMixIn.java:99)
            at hudson.maven.MavenModuleSet.onLoad(MavenModuleSet.java:761)
            at hudson.model.Items.load(Items.java:221)
            at jenkins.model.Jenkins$18.run(Jenkins.java:2562)
            at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:146)
            at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
            at jenkins.model.Jenkins$7.runTask(Jenkins.java:899)
            at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
            at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
            at java.lang.Thread.run(Thread.java:662)
            Apr 2, 2014 3:06:06 PM jenkins.InitReactorRunner$1 onAttained
            INFO: Loaded all jobs

            I verified all the job/builds/last* files are all correct. lastSuccessfulBuild contains 792 and the 792 symlink and target directory look ok:

            04/01/2014 04:29 PM <DIR> 2014-04-01_13-51-33
            ...
            04/01/2014 01:51 PM <SYMLINKD> 792 [2014-04-01_13-51-33]
            ...

            I can go into 792, but not any of the linked folders within:

            D:\Jenkins\instance\jobs\me-main-coverage-test\builds>cd 792
            D:\Jenkins\instance\jobs\me-main-coverage-test\builds\792>cd com.sap.mfg.me$me
            The filename, directory name, or volume label syntax is incorrect.

            Show
            timdrury Tim Drury added a comment - We just started getting this issue with on one job which had been running fine. I don't think there have been any system configuration changes. We're on 1.532.1 on Windows Server 2008 R2. Jenkins is run with JDK 1.6.0_26 (x64). I found this in the Jenkins error log: Apr 2, 2014 3:02:48 PM jenkins.InitReactorRunner$1 onTaskFailed SEVERE: Failed Loading job me-main-coverage-test java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) at java.lang.Integer.parseInt(Integer.java:470) at java.lang.Integer.parseInt(Integer.java:499) at jenkins.model.PeepholePermalink.resolve(PeepholePermalink.java:87) at hudson.model.Job.getLastSuccessfulBuild(Job.java:833) at hudson.maven.AbstractMavenProject.createTransientActions(AbstractMavenProject.java:185) at hudson.model.AbstractProject.updateTransientActions(AbstractProject.java:746) at hudson.maven.MavenModule.updateTransientActions(MavenModule.java:485) at hudson.model.AbstractProject.onLoad(AbstractProject.java:333) at hudson.maven.MavenModule.onLoad(MavenModule.java:283) at hudson.model.Items.load(Items.java:221) at hudson.model.ItemGroupMixIn.loadChildren(ItemGroupMixIn.java:99) at hudson.maven.MavenModuleSet.onLoad(MavenModuleSet.java:761) at hudson.model.Items.load(Items.java:221) at jenkins.model.Jenkins$18.run(Jenkins.java:2562) at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:146) at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259) at jenkins.model.Jenkins$7.runTask(Jenkins.java:899) at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187) at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Apr 2, 2014 3:06:06 PM jenkins.InitReactorRunner$1 onAttained INFO: Loaded all jobs I verified all the job/builds/last* files are all correct. lastSuccessfulBuild contains 792 and the 792 symlink and target directory look ok: 04/01/2014 04:29 PM <DIR> 2014-04-01_13-51-33 ... 04/01/2014 01:51 PM <SYMLINKD> 792 [2014-04-01_13-51-33] ... I can go into 792, but not any of the linked folders within: D:\Jenkins\instance\jobs\me-main-coverage-test\builds>cd 792 D:\Jenkins\instance\jobs\me-main-coverage-test\builds\792>cd com.sap.mfg.me$me The filename, directory name, or volume label syntax is incorrect.
            Hide
            jknudsen Joe Knudsen added a comment - - edited

            Tim what version of the Maven plugin are you using? I am using 2.0.1 now with Jenkins 1.532.2 and the problem still exists. Now in the 1.532.2 (latest stable) version the maven plugin is separate from the Jenkins system so you need to update the maven plugin after you update Jenkins.

            Show
            jknudsen Joe Knudsen added a comment - - edited Tim what version of the Maven plugin are you using? I am using 2.0.1 now with Jenkins 1.532.2 and the problem still exists. Now in the 1.532.2 (latest stable) version the maven plugin is separate from the Jenkins system so you need to update the maven plugin after you update Jenkins.
            Hide
            timdrury Tim Drury added a comment -

            Mine says the Maven Integration Plugin is version 2.0.3.

            Show
            timdrury Tim Drury added a comment - Mine says the Maven Integration Plugin is version 2.0.3.
            Hide
            jknudsen Joe Knudsen added a comment - - edited

            Tim,
            Looks like you have the latest plugin. After grading from 1.509 I needed to add to a maven property. Global MAVEN_OPTS I made mine have the value -XX:MaxPermSize=256m and that resolved by problem. Worth giving a try at least.

            Show
            jknudsen Joe Knudsen added a comment - - edited Tim, Looks like you have the latest plugin. After grading from 1.509 I needed to add to a maven property. Global MAVEN_OPTS I made mine have the value -XX:MaxPermSize=256m and that resolved by problem. Worth giving a try at least.
            Hide
            timdrury Tim Drury added a comment -

            we use -XX:MaxPermSize=400m so that's probably not it.

            Show
            timdrury Tim Drury added a comment - we use -XX:MaxPermSize=400m so that's probably not it.
            Hide
            jknudsen Joe Knudsen added a comment -

            Were still seeing the problem so I edited my comments above to remove the references about not seeing the problem any longer.

            Show
            jknudsen Joe Knudsen added a comment - Were still seeing the problem so I edited my comments above to remove the references about not seeing the problem any longer.
            ikedam ikedam made changes -
            Link This issue is related to JENKINS-22803 [ JENKINS-22803 ]
            Hide
            jglick Jesse Glick added a comment -

            First of all, I doubt this has anything to do with the Maven plugin. Jenkins core creates build number symlinks.

            Second, what is the actual bug here? That some old Windows backup programs cannot handle symlinks even when the Windows kernel/filesystem can produce them? That is the fault of the backup program, not Jenkins.

            Show
            jglick Jesse Glick added a comment - First of all, I doubt this has anything to do with the Maven plugin. Jenkins core creates build number symlinks. Second, what is the actual bug here? That some old Windows backup programs cannot handle symlinks even when the Windows kernel/filesystem can produce them? That is the fault of the backup program, not Jenkins.
            Hide
            jknudsen Joe Knudsen added a comment - - edited

            Jesse it is not the build number links that are problematic. The Maven build includes a section called Module Builds. The plugin seems to create a link for each Module. These module links are the problem. The Windows OS does not see the links as valid. I believe the links contain a path and the path uses the wrong path separator for Windows. I do not see any impacts in the Jenkins UI. I Jenkins is not impacted because Jenkins uses Java and Java can handle either Windows or Unix file separators. The problem is the Windows OS and backup software see these as corrupted files. Hope this helps.

            Show
            jknudsen Joe Knudsen added a comment - - edited Jesse it is not the build number links that are problematic. The Maven build includes a section called Module Builds. The plugin seems to create a link for each Module. These module links are the problem. The Windows OS does not see the links as valid. I believe the links contain a path and the path uses the wrong path separator for Windows. I do not see any impacts in the Jenkins UI. I Jenkins is not impacted because Jenkins uses Java and Java can handle either Windows or Unix file separators. The problem is the Windows OS and backup software see these as corrupted files. Hope this helps.
            Hide
            tpilz Thomas Pilz added a comment -

            Hi there, i still hope that there will be some Progress on this Issue as this Problem is a real Blocker for Windows backed Jenkins Installations with Maven Projects.
            Backups via ZIP/TAR and also Job Migration via copy of Jobs Folder to different Host is not working at the moment due to wrong generated symbolic links.

            09.09.2014 14:17 <SYMLINKD> com.foo.acme$acmeCore [../../modules/com.foo.acme$acmeCore/builds/2014-09-09_14-16-18]

            should be

            09.09.2014 14:17 <SYMLINKD> com.foo.acme$acmeCore [..\..\modules\com.foo.acme$acmeCore\builds\2014-09-09_14-16-18]

            Environment: Windows 2008 R2 / Jenkins 1.532.2 LTS / Maven Project Plugin 2.0.3 / Maven 3.2.1

            Show
            tpilz Thomas Pilz added a comment - Hi there, i still hope that there will be some Progress on this Issue as this Problem is a real Blocker for Windows backed Jenkins Installations with Maven Projects. Backups via ZIP/TAR and also Job Migration via copy of Jobs Folder to different Host is not working at the moment due to wrong generated symbolic links. 09.09.2014 14:17 <SYMLINKD> com.foo.acme$acmeCore [../../modules/com.foo.acme$acmeCore/builds/2014-09-09_14-16-18] should be 09.09.2014 14:17 <SYMLINKD> com.foo.acme$acmeCore [..\..\modules\com.foo.acme$acmeCore\builds\2014-09-09_14-16-18] Environment: Windows 2008 R2 / Jenkins 1.532.2 LTS / Maven Project Plugin 2.0.3 / Maven 3.2.1
            jknudsen Joe Knudsen made changes -
            Description After upgrading to 1.509.4 our Maven builds create files that Windows cannot backup. The UI seems to working. The files are SYMLINKD one for each module.
            The none maven builds seem fine. The files are under the jobs/project name/builds/buildnumber or builddate directory.

            11/19/2013 04:47 PM <SYMLINKD> us.mn.state.education.sfin.automation$sfi
            n-post-processor [../../modules/us.mn.state.education.sfin.automation$sfin-post-
            processor/builds/2013-11-19_16-40-46]
                           4 File(s) 3,881,255 bytes
                          34 Dir(s) 20,236,365,824 bytes free

            E:\jenkins\.jenkins\jobs\SFIN-OB\builds\56>type us.mn.state.education.sfin$confi
            gs
            Access is denied.

            E:\jenkins\.jenkins\jobs\SFIN-OB\builds\56>cd us.mn.state.education.sfin$configs

            The filename, directory name, or volume label syntax is incorrect.

            E:\jenkins\.jenkins\jobs\SFIN-OB\builds\56>
            After upgrading to 1.509.4 our Maven builds create files that Windows cannot backup. The invalid files are SYMLINKD one for each module.
            The maven build and UI seem to work fine. The files are under the jobs/project name/builds/buildnumber or builddate directory.

            11/19/2013 04:47 PM <SYMLINKD> us.mn.state.education.sfin.automation$sfi
            n-post-processor [../../modules/us.mn.state.education.sfin.automation$sfin-post-
            processor/builds/2013-11-19_16-40-46]
                           4 File(s) 3,881,255 bytes
                          34 Dir(s) 20,236,365,824 bytes free

            E:\jenkins\.jenkins\jobs\SFIN-OB\builds\56>type us.mn.state.education.sfin$confi
            gs
            Access is denied.

            E:\jenkins\.jenkins\jobs\SFIN-OB\builds\56>cd us.mn.state.education.sfin$configs

            The filename, directory name, or volume label syntax is incorrect.

            E:\jenkins\.jenkins\jobs\SFIN-OB\builds\56>
            Hide
            jknudsen Joe Knudsen added a comment -

            Thomas we ended up excluding the build folders from our backups. Would like to see this resolved and be able to do a complete Jenkins backup.

            Show
            jknudsen Joe Knudsen added a comment - Thomas we ended up excluding the build folders from our backups. Would like to see this resolved and be able to do a complete Jenkins backup.
            Hide
            tpilz Thomas Pilz added a comment -

            Our Jenkins Instance is growing and we would like to move from VM to Hardware. This Bug makes it impossible to transfer the Jobs to the new Instance without Data loss.

            Show
            tpilz Thomas Pilz added a comment - Our Jenkins Instance is growing and we would like to move from VM to Hardware. This Bug makes it impossible to transfer the Jobs to the new Instance without Data loss.
            ircbot Jenkins IRC Bot made changes -
            Component/s maven2 [ 15487 ]
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 152534 ] JNJira + In-Review [ 178241 ]

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              jknudsen Joe Knudsen
              Votes:
              3 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated: