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

Util.deleteRecursive fails for files using unmappable characters

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Critical Critical
    • core
    • Ubuntu 11.04 64 Bits, Jenkins ver. 1.450

      Hi,

      I am having issue to delete project, I am getting the following error

      Status Code: 500

      Exception:
      Stacktrace:
      java.io.IOException: Unable to delete /var/lib/jenkins/jobs/loteriafacilnet/workspace/public/images - files in dir: [/var/lib/jenkins/jobs/loteriafacilnet/workspace/public/images/footer_bg - C�pia.gif, /var/lib/jenkins/jobs/loteriafacilnet/workspace/public/images/fbg_bg - C�pia.gif]
      at hudson.Util.deleteFile(Util.java:236)
      at hudson.Util.deleteRecursive(Util.java:287)
      at hudson.Util.deleteContentsRecursive(Util.java:198)
      at hudson.Util.deleteRecursive(Util.java:278)
      at hudson.Util.deleteContentsRecursive(Util.java:198)
      at hudson.Util.deleteRecursive(Util.java:278)
      at hudson.Util.deleteContentsRecursive(Util.java:198)
      at hudson.Util.deleteRecursive(Util.java:278)
      at hudson.model.AbstractItem.performDelete(AbstractItem.java:530)
      at hudson.model.Job.performDelete(Job.java:215)
      at hudson.model.AbstractProject.performDelete(AbstractProject.java:286)
      at hudson.model.AbstractItem.delete(AbstractItem.java:506)
      at hudson.model.AbstractProject.doDoDelete(AbstractProject.java:1655)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:616)
      at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:282)
      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:149)
      at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:88)
      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:111)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:563)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:648)
      at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:241)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:563)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:648)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:477)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:159)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
      at winstone.ServletConfiguration.execute(ServletConfiguration.java:248)
      at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:61)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at winstone.RequestDispatcher.forward(RequestDispatcher.java:331)
      at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244)
      at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
      at java.lang.Thread.run(Thread.java:679)

      Generated by Winstone Servlet Engine v0.9.10 at Wed Feb 01 00:27:36 UTC 2012

          [JENKINS-12610] Util.deleteRecursive fails for files using unmappable characters

          Rafael Tavares created issue -

          Alex Lehmann added a comment -

          that is likely a character encoding issue, since you have an accented character in your filename,

          unless you want to delete the files manually on the linux shell, you could check if you can change the LANG environment when starting jenkins, e.g. export LANG=en_US.utf8 or export LANG=en_US.ISO-8859-1
          before starting the winstone server.

          Alex Lehmann added a comment - that is likely a character encoding issue, since you have an accented character in your filename, unless you want to delete the files manually on the linux shell, you could check if you can change the LANG environment when starting jenkins, e.g. export LANG=en_US.utf8 or export LANG=en_US.ISO-8859-1 before starting the winstone server.

          Dan Stangel added a comment -

          Just wanted to confirm that I'm also seeing this behavior when attempting to clean up a workspace with files named with non-standard characters. Also I have LANG=en_US.UTF-8 set in my Jenkins environment.

          Started by upstream project "Fossology_Installation" build number 99
          Building on master
          Cleaning local Directory .
          java.io.IOException: Unable to delete /home/jenkins/jobs/Fossology_Unit_Tests/workspace/./src/ununpack/agent_tests/Unit/test-result/threezip.zip.dir/Desktop.zip.dir - files in dir: [/home/jenkins/jobs/Fossology_Unit_Tests/workspace/./src/ununpack/agent_tests/Unit/test-result/threezip.zip.dir/Desktop.zip.dir/�-�� +-��+-��.txt]
          at hudson.Util.deleteFile(Util.java:265)
          at hudson.Util.deleteRecursive(Util.java:316)
          at hudson.Util.deleteContentsRecursive(Util.java:227)
          at hudson.Util.deleteRecursive(Util.java:307)
          at hudson.Util.deleteContentsRecursive(Util.java:227)
          at hudson.Util.deleteRecursive(Util.java:307)
          at hudson.Util.deleteContentsRecursive(Util.java:227)
          at hudson.Util.deleteRecursive(Util.java:307)
          at hudson.Util.deleteContentsRecursive(Util.java:227)
          at hudson.Util.deleteRecursive(Util.java:307)
          at hudson.Util.deleteContentsRecursive(Util.java:227)
          at hudson.Util.deleteRecursive(Util.java:307)
          at hudson.Util.deleteContentsRecursive(Util.java:227)
          at hudson.Util.deleteRecursive(Util.java:307)
          at hudson.Util.deleteContentsRecursive(Util.java:227)
          at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:71)
          at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:136)
          at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:788)
          at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:769)
          at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:753)
          at hudson.FilePath.act(FilePath.java:758)
          at hudson.FilePath.act(FilePath.java:740)
          at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:743)
          at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:685)
          at hudson.model.AbstractProject.checkout(AbstractProject.java:1193)
          at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:565)
          at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:453)
          at hudson.model.Run.run(Run.java:1376)
          at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          at hudson.model.ResourceController.execute(ResourceController.java:88)
          at hudson.model.Executor.run(Executor.java:175)

          Dan Stangel added a comment - Just wanted to confirm that I'm also seeing this behavior when attempting to clean up a workspace with files named with non-standard characters. Also I have LANG=en_US.UTF-8 set in my Jenkins environment. Started by upstream project "Fossology_Installation" build number 99 Building on master Cleaning local Directory . java.io.IOException: Unable to delete /home/jenkins/jobs/Fossology_Unit_Tests/workspace/./src/ununpack/agent_tests/Unit/test-result/threezip.zip.dir/Desktop.zip.dir - files in dir: [/home/jenkins/jobs/Fossology_Unit_Tests/workspace/./src/ununpack/agent_tests/Unit/test-result/threezip.zip.dir/Desktop.zip.dir/�-�� +-��+-��.txt] at hudson.Util.deleteFile(Util.java:265) at hudson.Util.deleteRecursive(Util.java:316) at hudson.Util.deleteContentsRecursive(Util.java:227) at hudson.Util.deleteRecursive(Util.java:307) at hudson.Util.deleteContentsRecursive(Util.java:227) at hudson.Util.deleteRecursive(Util.java:307) at hudson.Util.deleteContentsRecursive(Util.java:227) at hudson.Util.deleteRecursive(Util.java:307) at hudson.Util.deleteContentsRecursive(Util.java:227) at hudson.Util.deleteRecursive(Util.java:307) at hudson.Util.deleteContentsRecursive(Util.java:227) at hudson.Util.deleteRecursive(Util.java:307) at hudson.Util.deleteContentsRecursive(Util.java:227) at hudson.Util.deleteRecursive(Util.java:307) at hudson.Util.deleteContentsRecursive(Util.java:227) at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:71) at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:136) at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:788) at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:769) at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:753) at hudson.FilePath.act(FilePath.java:758) at hudson.FilePath.act(FilePath.java:740) at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:743) at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:685) at hudson.model.AbstractProject.checkout(AbstractProject.java:1193) at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:565) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:453) at hudson.model.Run.run(Run.java:1376) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:175)

          cowwoc added a comment -

          I have the same problem (unicode characters and LANG set to UTF8). I can delete these files from a linux shell. Why can't Java delete these files? What can I do to troubleshoot this further and/or fix the problem?

          cowwoc added a comment - I have the same problem (unicode characters and LANG set to UTF8). I can delete these files from a linux shell. Why can't Java delete these files? What can I do to troubleshoot this further and/or fix the problem?

          cowwoc added a comment -

          Ah. It turns out that under OSX 10.7 (which is what I'm using) file.encoding is set to US-ASCII (in spite of encoding being set to UTF-8 in the OS). See http://java.net/jira/browse/MACOSX_PORT-165 for the related bug report.

          NOTE: This does not solve the problem reported by Rafael since he was running under Linux.

          cowwoc added a comment - Ah. It turns out that under OSX 10.7 (which is what I'm using) file.encoding is set to US-ASCII (in spite of encoding being set to UTF-8 in the OS). See http://java.net/jira/browse/MACOSX_PORT-165 for the related bug report. NOTE: This does not solve the problem reported by Rafael since he was running under Linux.

          Kyle Leinen added a comment - - edited

          I am also seeing this problem running from Windows XP. It started happening when I upgraded from 1.471 to 1.480.

          Kyle Leinen added a comment - - edited I am also seeing this problem running from Windows XP. It started happening when I upgraded from 1.471 to 1.480.
          Kyle Leinen made changes -
          Labels Original: jenkins job New: delete jenkins job

          i am having this issue as well i dont have any unicode character on the build name. i am running version 1.491

          daniel anggrianto added a comment - i am having this issue as well i dont have any unicode character on the build name. i am running version 1.491
          Elifarley made changes -
          Link New: This issue is related to JENKINS-13553 [ JENKINS-13553 ]
          Elifarley made changes -
          Link New: This issue is related to JENKINS-17385 [ JENKINS-17385 ]

            Unassigned Unassigned
            dextervip Rafael Tavares
            Votes:
            20 Vote for this issue
            Watchers:
            24 Start watching this issue

              Created:
              Updated: