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

Archived file names can change when moved from slave to master

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Component/s: core
    • Environment:
      Tested on Ubuntu and RHEL6. Currently using Jenkins 1.553 but the issue would be present in all current versions. The server runs in WebSphere Liberty Profile 8.5.5.1 and 8.5.5.2 and Java is an IBM JDK 1.6.0
    • Similar Issues:

      Description

      I have a Jenkins set up that uses slaves and archives files after a build. What I've found is that if there is a file that uses multi-byte characters in the name (like 日本語ファイル) then the name gets altered when uploaded to the Jenkins master. Using the master node does not have the issue, so I did some research and found that the problem actually lies in the version of Ant that is being used (1.8.3) and how it reads file names and converts the multi-byte characters down to one byte. It looks like the issue was fixed in Apache Ant 1.9.0

        Attachments

        1. JapaneseName.png
          JapaneseName.png
          5 kB
        2. JapaneseNameBroken.png
          JapaneseNameBroken.png
          12 kB
        3. Output.png
          Output.png
          16 kB

          Issue Links

            Activity

            Hide
            danielbeck Daniel Beck added a comment -

            Would probably be best if you could post the fix as a pull request on Github.

            Show
            danielbeck Daniel Beck added a comment - Would probably be best if you could post the fix as a pull request on Github.
            Hide
            serneum Chris Rees added a comment -

            I'll see what I can do. The fix was to change some of the Ant 1.8.3 behavior to match that of 1.9.0, which means Jenkins would either need to keep a modified copy of the file in source or update dependencies.

            Show
            serneum Chris Rees added a comment - I'll see what I can do. The fix was to change some of the Ant 1.8.3 behavior to match that of 1.9.0, which means Jenkins would either need to keep a modified copy of the file in source or update dependencies.
            Hide
            serneum Chris Rees added a comment -

            Another option would be to add Apache Commons Compress as a dependency and use the Tar classes there instead of the ones in Ant 1.8.3

            Show
            serneum Chris Rees added a comment - Another option would be to add Apache Commons Compress as a dependency and use the Tar classes there instead of the ones in Ant 1.8.3
            Hide
            yoerg Joerg H added a comment -

            Four years later, I still have this Issue in 2.121.1 when archiving artifacts from a Linux agent (file.encoding UTF-8, sun.io.unicode.encoding UnicodeLittle, sun.jnu.encoding UTF-8) to a Windows master (file.encoding Cp1252, sun.io.unicode.encoding UnicodeLittle, sun.jnu.encoding Cp1252).

            Show
            yoerg Joerg H added a comment - Four years later, I still have this Issue in 2.121.1 when archiving artifacts from a Linux agent (file.encoding UTF-8, sun.io.unicode.encoding UnicodeLittle, sun.jnu.encoding UTF-8) to a Windows master (file.encoding Cp1252, sun.io.unicode.encoding UnicodeLittle, sun.jnu.encoding Cp1252).
            Hide
            rupunzlkim Kim Abbott added a comment -

            I too am still having this issue.  Running with:

            Jenkins 2.176.1
            Copy Artifact Plugin 1.42.1
            Master Linux
            Slave Windows 8 Server

            File pulls from repo onto Windows slave with correct filename, but when archived back to master the ™ gets garbled.  So the rest of my deploy steps fail because I now have a file with an invalid filename.  

            Its unclear if any changes from 2014 were ever implemented?  Even version 1.9.0 is pretty dated, so seems like core is due to update and update dependencies?  I don't know of any workaround at this point.

            Show
            rupunzlkim Kim Abbott added a comment - I too am still having this issue.  Running with: Jenkins 2.176.1 Copy Artifact Plugin  1.42.1 Master Linux Slave Windows 8 Server File pulls from repo onto Windows slave with correct filename, but when archived back to master the ™ gets garbled.  So the rest of my deploy steps fail because I now have a file with an invalid filename.   Its unclear if any changes from 2014 were ever implemented?  Even version 1.9.0 is pretty dated, so seems like core is due to update and update dependencies?  I don't know of any workaround at this point.

              People

              • Assignee:
                Unassigned
                Reporter:
                serneum Chris Rees
              • Votes:
                2 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated: