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

Util.deleteRecursive fails for files using unmappable characters

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Critical
    • Resolution: Unresolved
    • Component/s: core
    • Labels:
    • Environment:
      Ubuntu 11.04 64 Bits, Jenkins ver. 1.450
    • Similar Issues:

      Description

      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

        Attachments

          Issue Links

            Activity

            dextervip Rafael Tavares created issue -
            Hide
            alexlehm 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.

            Show
            alexlehm 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.
            Hide
            dgstangel 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)

            Show
            dgstangel 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)
            Hide
            cowwoc 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?

            Show
            cowwoc 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?
            Hide
            cowwoc 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.

            Show
            cowwoc 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.
            Hide
            kmleinen 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.

            Show
            kmleinen 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.
            kmleinen Kyle Leinen made changes -
            Field Original Value New Value
            Labels jenkins job delete jenkins job
            Hide
            danggrianto 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

            Show
            danggrianto 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 Elifarley made changes -
            Link This issue is related to JENKINS-13553 [ JENKINS-13553 ]
            elifarley Elifarley made changes -
            Link This issue is related to JENKINS-17385 [ JENKINS-17385 ]
            jglick Jesse Glick made changes -
            Link This issue is related to JENKINS-17385 [ JENKINS-17385 ]
            jglick Jesse Glick made changes -
            Link This issue is duplicated by JENKINS-17385 [ JENKINS-17385 ]
            Hide
            jglick Jesse Glick added a comment -

            Seems that java.io.File.listFiles() returns some children on which File.delete does not work. Probably means that some files use bytes in their names which the current mounted filesystem’s name encoding cannot handle. Anyone know how to reproduce this from scratch? It is possible that for Java 7+ java.nio.file.Files.walkFileTree would do a better job of handling these corner cases.

            Show
            jglick Jesse Glick added a comment - Seems that java.io.File.listFiles() returns some children on which File.delete does not work. Probably means that some files use bytes in their names which the current mounted filesystem’s name encoding cannot handle. Anyone know how to reproduce this from scratch? It is possible that for Java 7+ java.nio.file.Files.walkFileTree would do a better job of handling these corner cases.
            Hide
            danielbeck Daniel Beck added a comment -

            Jesse Glick In Jenkins 1.567, the same problem exists, but the stack trace is different.

            Steps to reproduce on OS X:

            1. java -Dfile.encoding=ASCII -jar jenkins-1.567.war
            2. Configure Jenkins to use ${ITEM_ROOTDIR}/workspace as workspace directory on master
            3. Create a freestyle project
            4. Add a shell build step with the following script (that just creates a file named 'ä' in the workspace if your locale allows):
              #!/bin/bash
              echo "0000000: 746f 7563 6820 c3a4 0a" | xxd -r > script.sh
              chmod +x script.sh
              ./script.sh
            5. Run a build: Workspace browser will show a file named 'script.sh' and a file named 'ä'.
            6. Delete the project
            java.io.IOException: java.lang.reflect.InvocationTargetException
            	at hudson.Util.isSymlinkJava7(Util.java:360)
            	at hudson.Util.isSymlink(Util.java:325)
            	at hudson.Util.deleteRecursive(Util.java:291)
            	at hudson.Util.deleteContentsRecursive(Util.java:203)
            	at hudson.Util.deleteRecursive(Util.java:292)
            	at hudson.Util.deleteContentsRecursive(Util.java:203)
            	at hudson.Util.deleteRecursive(Util.java:292)
            	at hudson.model.AbstractItem.performDelete(AbstractItem.java:550)
            	at hudson.model.Job.performDelete(Job.java:254)
            	at hudson.model.AbstractProject.performDelete(AbstractProject.java:370)
            	at hudson.model.AbstractItem.delete(AbstractItem.java:531)
            	at hudson.model.Job.delete(Job.java:627)
            	at hudson.model.AbstractItem.doDoDelete(AbstractItem.java:492)
            	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:606)
            	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
            	at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:46)
            	at org.kohsuke.stapler.Function$InterceptedFunction.invoke(Function.java:399)
            	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
            	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
            	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120)
            	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
            	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
            	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
            	at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248)
            	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
            	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
            	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
            	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631)
            	at org.kohsuke.stapler.Stapler.service(Stapler.java:225)
            	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
            	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
            	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
            	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
            	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
            	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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
            	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:174)
            	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
            	at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:74)
            	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:67)
            	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 org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
            	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
            	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
            	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
            	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
            	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
            	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
            	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
            	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
            	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
            	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
            	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
            	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
            	at org.eclipse.jetty.server.Server.handle(Server.java:370)
            	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
            	at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
            	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
            	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
            	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
            	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
            	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
            	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
            	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
            	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
            	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
            	at java.lang.Thread.run(Thread.java:744)
            Caused by: java.lang.reflect.InvocationTargetException
            	at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source)
            	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            	at java.lang.reflect.Method.invoke(Method.java:606)
            	at hudson.Util.isSymlinkJava7(Util.java:355)
            	... 87 more
            Caused by: java.nio.file.InvalidPathException: Malformed input or input contains unmappable chacraters: /Users/danielbeck/.hudson/jobs/a/workspace/ä
            	at sun.nio.fs.UnixPath.encode(UnixPath.java:147)
            	at sun.nio.fs.UnixPath.<init>(UnixPath.java:71)
            	at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:281)
            	at java.io.File.toPath(File.java:2186)
            	... 91 more

            Wipe out workspace:

            java.io.IOException: java.lang.reflect.InvocationTargetException
            	at hudson.Util.isSymlinkJava7(Util.java:360)
            	at hudson.Util.isSymlink(Util.java:325)
            	at hudson.Util.deleteRecursive(Util.java:291)
            	at hudson.Util.deleteContentsRecursive(Util.java:203)
            	at hudson.Util.deleteRecursive(Util.java:292)
            	at hudson.FilePath$12.invoke(FilePath.java:1085)
            	at hudson.FilePath$12.invoke(FilePath.java:1082)
            	at hudson.FilePath.act(FilePath.java:920)
            	at hudson.FilePath.act(FilePath.java:893)
            	at hudson.FilePath.deleteRecursive(FilePath.java:1082)
            	at hudson.model.AbstractProject.doDoWipeOutWorkspace(AbstractProject.java:1901)
            	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:606)
            	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
            	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
            	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
            	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120)
            	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
            	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
            	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
            	at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248)
            	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
            	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
            	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
            	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631)
            	at org.kohsuke.stapler.Stapler.service(Stapler.java:225)
            	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
            	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
            	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
            	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
            	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
            	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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
            	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:174)
            	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
            	at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:74)
            	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:67)
            	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 org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
            	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
            	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
            	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
            	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
            	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
            	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
            	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
            	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
            	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
            	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
            	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
            	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
            	at org.eclipse.jetty.server.Server.handle(Server.java:370)
            	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
            	at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
            	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
            	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
            	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
            	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
            	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
            	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
            	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
            	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
            	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
            	at java.lang.Thread.run(Thread.java:744)
            Caused by: java.lang.reflect.InvocationTargetException
            	at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source)
            	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            	at java.lang.reflect.Method.invoke(Method.java:606)
            	at hudson.Util.isSymlinkJava7(Util.java:355)
            	... 83 more
            Caused by: java.nio.file.InvalidPathException: Malformed input or input contains unmappable chacraters: /Users/danielbeck/.hudson/jobs/a/workspace/ä
            	at sun.nio.fs.UnixPath.encode(UnixPath.java:147)
            	at sun.nio.fs.UnixPath.<init>(UnixPath.java:71)
            	at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:281)
            	at java.io.File.toPath(File.java:2186)
            	... 87 more

            Here's a bonus:

            Create a project named 'ä' and try to delete it:

            java.io.IOException: java.lang.reflect.InvocationTargetException
            	at hudson.Util.isSymlinkJava7(Util.java:360)
            	at hudson.Util.isSymlink(Util.java:325)
            	at hudson.Util.deleteRecursive(Util.java:291)
            	at hudson.model.AbstractItem.performDelete(AbstractItem.java:550)
            	at hudson.model.Job.performDelete(Job.java:254)
            	at hudson.model.AbstractProject.performDelete(AbstractProject.java:370)
            	at hudson.model.AbstractItem.delete(AbstractItem.java:531)
            	at hudson.model.Job.delete(Job.java:627)
            	at hudson.model.AbstractItem.doDoDelete(AbstractItem.java:492)
            	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:606)
            	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
            	at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:46)
            	at org.kohsuke.stapler.Function$InterceptedFunction.invoke(Function.java:399)
            	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
            	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
            	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120)
            	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
            	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
            	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
            	at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248)
            	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
            	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
            	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
            	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631)
            	at org.kohsuke.stapler.Stapler.service(Stapler.java:225)
            	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
            	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
            	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
            	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
            	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
            	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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
            	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:174)
            	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
            	at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:74)
            	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:67)
            	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 org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
            	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
            	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
            	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
            	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
            	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
            	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
            	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
            	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
            	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
            	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
            	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
            	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
            	at org.eclipse.jetty.server.Server.handle(Server.java:370)
            	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
            	at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
            	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
            	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
            	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
            	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
            	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
            	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
            	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
            	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
            	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
            	at java.lang.Thread.run(Thread.java:744)
            Caused by: java.lang.reflect.InvocationTargetException
            	at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source)
            	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            	at java.lang.reflect.Method.invoke(Method.java:606)
            	at hudson.Util.isSymlinkJava7(Util.java:355)
            	... 83 more
            Caused by: java.nio.file.InvalidPathException: Malformed input or input contains unmappable chacraters: /Users/danielbeck/.hudson/jobs/ä
            	at sun.nio.fs.UnixPath.encode(UnixPath.java:147)
            	at sun.nio.fs.UnixPath.<init>(UnixPath.java:71)
            	at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:281)
            	at java.io.File.toPath(File.java:2186)
            	... 87 more
            Show
            danielbeck Daniel Beck added a comment - Jesse Glick In Jenkins 1.567, the same problem exists, but the stack trace is different. Steps to reproduce on OS X: java -Dfile.encoding=ASCII -jar jenkins-1.567.war Configure Jenkins to use ${ITEM_ROOTDIR}/workspace as workspace directory on master Create a freestyle project Add a shell build step with the following script (that just creates a file named 'ä' in the workspace if your locale allows): #!/bin/bash echo "0000000: 746f 7563 6820 c3a4 0a" | xxd -r > script.sh chmod +x script.sh ./script.sh Run a build: Workspace browser will show a file named 'script.sh' and a file named 'ä'. Delete the project java.io.IOException: java.lang.reflect.InvocationTargetException at hudson.Util.isSymlinkJava7(Util.java:360) at hudson.Util.isSymlink(Util.java:325) at hudson.Util.deleteRecursive(Util.java:291) at hudson.Util.deleteContentsRecursive(Util.java:203) at hudson.Util.deleteRecursive(Util.java:292) at hudson.Util.deleteContentsRecursive(Util.java:203) at hudson.Util.deleteRecursive(Util.java:292) at hudson.model.AbstractItem.performDelete(AbstractItem.java:550) at hudson.model.Job.performDelete(Job.java:254) at hudson.model.AbstractProject.performDelete(AbstractProject.java:370) at hudson.model.AbstractItem.delete(AbstractItem.java:531) at hudson.model.Job.delete(Job.java:627) at hudson.model.AbstractItem.doDoDelete(AbstractItem.java:492) 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:606) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298) at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:46) at org.kohsuke.stapler.Function$InterceptedFunction.invoke(Function.java:399) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631) at org.kohsuke.stapler.Stapler.service(Stapler.java:225) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) 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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117) 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:174) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:74) 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:67) 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 org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:370) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang. Thread .run( Thread .java:744) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at hudson.Util.isSymlinkJava7(Util.java:355) ... 87 more Caused by: java.nio.file.InvalidPathException: Malformed input or input contains unmappable chacraters: /Users/danielbeck/.hudson/jobs/a/workspace/ä at sun.nio.fs.UnixPath.encode(UnixPath.java:147) at sun.nio.fs.UnixPath.<init>(UnixPath.java:71) at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:281) at java.io.File.toPath(File.java:2186) ... 91 more Wipe out workspace: java.io.IOException: java.lang.reflect.InvocationTargetException at hudson.Util.isSymlinkJava7(Util.java:360) at hudson.Util.isSymlink(Util.java:325) at hudson.Util.deleteRecursive(Util.java:291) at hudson.Util.deleteContentsRecursive(Util.java:203) at hudson.Util.deleteRecursive(Util.java:292) at hudson.FilePath$12.invoke(FilePath.java:1085) at hudson.FilePath$12.invoke(FilePath.java:1082) at hudson.FilePath.act(FilePath.java:920) at hudson.FilePath.act(FilePath.java:893) at hudson.FilePath.deleteRecursive(FilePath.java:1082) at hudson.model.AbstractProject.doDoWipeOutWorkspace(AbstractProject.java:1901) 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:606) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631) at org.kohsuke.stapler.Stapler.service(Stapler.java:225) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) 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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117) 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:174) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:74) 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:67) 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 org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:370) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang. Thread .run( Thread .java:744) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at hudson.Util.isSymlinkJava7(Util.java:355) ... 83 more Caused by: java.nio.file.InvalidPathException: Malformed input or input contains unmappable chacraters: /Users/danielbeck/.hudson/jobs/a/workspace/ä at sun.nio.fs.UnixPath.encode(UnixPath.java:147) at sun.nio.fs.UnixPath.<init>(UnixPath.java:71) at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:281) at java.io.File.toPath(File.java:2186) ... 87 more Here's a bonus: Create a project named 'ä' and try to delete it: java.io.IOException: java.lang.reflect.InvocationTargetException at hudson.Util.isSymlinkJava7(Util.java:360) at hudson.Util.isSymlink(Util.java:325) at hudson.Util.deleteRecursive(Util.java:291) at hudson.model.AbstractItem.performDelete(AbstractItem.java:550) at hudson.model.Job.performDelete(Job.java:254) at hudson.model.AbstractProject.performDelete(AbstractProject.java:370) at hudson.model.AbstractItem.delete(AbstractItem.java:531) at hudson.model.Job.delete(Job.java:627) at hudson.model.AbstractItem.doDoDelete(AbstractItem.java:492) 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:606) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298) at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:46) at org.kohsuke.stapler.Function$InterceptedFunction.invoke(Function.java:399) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631) at org.kohsuke.stapler.Stapler.service(Stapler.java:225) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) 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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117) 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:174) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:74) 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:67) 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 org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:370) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang. Thread .run( Thread .java:744) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at hudson.Util.isSymlinkJava7(Util.java:355) ... 83 more Caused by: java.nio.file.InvalidPathException: Malformed input or input contains unmappable chacraters: /Users/danielbeck/.hudson/jobs/ä at sun.nio.fs.UnixPath.encode(UnixPath.java:147) at sun.nio.fs.UnixPath.<init>(UnixPath.java:71) at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:281) at java.io.File.toPath(File.java:2186) ... 87 more
            jglick Jesse Glick made changes -
            Labels delete jenkins job delete encoding
            jglick Jesse Glick made changes -
            Summary java.io.IOException: Unable to delete - Deleting Project Util.deleteRecursive fails for files using unmappable characters
            Hide
            jglick Jesse Glick added a comment -

            Looks like the four calls to File.toPath should catch InvalidPathException and try to fall back gracefully to some other behavior; and Files.walkFileTree ought to be used where applicable. Not clear whether this would help the users who claim to be using UTF-8 already, or not using non-ASCII characters at all; they may be seeing an unrelated bug. Generally speaking, using java.nio.file methods is preferable because they give meaningful exceptions rather than just returning false when something is wrong.

            Show
            jglick Jesse Glick added a comment - Looks like the four calls to File.toPath should catch InvalidPathException and try to fall back gracefully to some other behavior; and Files.walkFileTree ought to be used where applicable. Not clear whether this would help the users who claim to be using UTF-8 already, or not using non-ASCII characters at all; they may be seeing an unrelated bug. Generally speaking, using java.nio.file methods is preferable because they give meaningful exceptions rather than just returning false when something is wrong.
            Hide
            danielbeck Daniel Beck added a comment -

            Too bad all comments are so old, more information would be helpful. (e.g. "dont have any unicode character on the build name" can still mean that there's a bad char in the workspace somewhere, and I'm don't know LANG=xx.UTF-8 implies -Dfile.encoding=UTF-8)

            All: If you experience this problem, please provide output from /systemInfo URL, and try to set -Dfile.encoding=UTF-8 on all nodes (master + slaves).

            Show
            danielbeck Daniel Beck added a comment - Too bad all comments are so old, more information would be helpful. (e.g. "dont have any unicode character on the build name" can still mean that there's a bad char in the workspace somewhere, and I'm don't know LANG=xx.UTF-8 implies -Dfile.encoding=UTF-8) All: If you experience this problem, please provide output from /systemInfo URL, and try to set -Dfile.encoding=UTF-8 on all nodes (master + slaves).
            danielbeck Daniel Beck made changes -
            Link This issue is related to JENKINS-23040 [ JENKINS-23040 ]
            danielbeck Daniel Beck made changes -
            Link This issue is related to JENKINS-18558 [ JENKINS-18558 ]
            danielbeck Daniel Beck made changes -
            Link This issue is duplicated by JENKINS-7488 [ JENKINS-7488 ]
            markewaite Mark Waite made changes -
            Link This issue is related to JENKINS-27910 [ JENKINS-27910 ]
            Hide
            vim Johannes Villmow added a comment -

            I have the same problem. A unicode character in the filename was causing it. Once i deleted this file manually it worked.

            Show
            vim Johannes Villmow added a comment - I have the same problem. A unicode character in the filename was causing it. Once i deleted this file manually it worked.
            Hide
            webshammo Steve HAmmond added a comment -

            I added Dfile.encoding=UTF-8 in node configuration>Node Properties->Environment Variables using JAVA_TOOL_OPTIONS
            and in the master system configuration->Global Properties->Environment Variables the same.

            Still having the same error.

            System Properties

            Name ↓
            Value
            file.encoding ANSI_X3.4-1968
            file.encoding.pkg sun.io
            file.separator /
            java.awt.graphicsenv sun.awt.X11GraphicsEnvironment
            java.awt.printerjob sun.print.PSPrinterJob
            java.class.path slave.jar
            java.class.version 50.0
            java.endorsed.dirs /home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/endorsed
            java.ext.dirs /home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/ext:/usr/java/packages/lib/ext
            java.home /home/installs/java-1.6.0/jdk1.6.0_41/jre
            java.io.tmpdir /tmp
            java.library.path /home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/amd64/server:/home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/amd64:/home/installs/java-1.6.0/jdk1.6.0_41/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
            java.runtime.name Java(TM) SE Runtime Environment
            java.runtime.version 1.6.0_41-b02
            java.specification.name Java Platform API Specification
            java.specification.vendor Sun Microsystems Inc.
            java.specification.version 1.6
            java.vendor Sun Microsystems Inc.
            java.vendor.url http://java.sun.com/
            java.vendor.url.bug http://java.sun.com/cgi-bin/bugreport.cgi
            java.version 1.6.0_41
            java.vm.info mixed mode
            java.vm.name Java HotSpot(TM) 64-Bit Server VM
            java.vm.specification.name Java Virtual Machine Specification
            java.vm.specification.vendor Sun Microsystems Inc.
            java.vm.specification.version 1.0
            java.vm.vendor Sun Microsystems Inc.
            java.vm.version 20.14-b01
            line.separator \n
            os.arch amd64
            os.name Linux
            os.version 3.8.13-55.1.2.el6uek.x86_64
            path.separator :
            sun.arch.data.model 64
            sun.boot.class.path /home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/resources.jar:/home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/rt.jar:/home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/sunrsasign.jar:/home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/jsse.jar:/home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/jce.jar:/home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/charsets.jar:/home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/modules/jdk.boot.jar:/home/installs/java-1.6.0/jdk1.6.0_41/jre/classes
            sun.boot.library.path /home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/amd64
            sun.cpu.endian little
            sun.cpu.isalist
            sun.io.unicode.encoding UnicodeLittle
            sun.java.command slave.jar
            sun.java.launcher SUN_STANDARD
            sun.jnu.encoding ANSI_X3.4-1968
            sun.management.compiler HotSpot 64-Bit Tiered Compilers
            sun.os.patch.level unknown
            user.country US
            user.dir /home
            user.home /home
            user.language en
            user.name installs
            user.timezone Universal
            Environment Variables

            Name ↓
            Value
            _ /home/installs/java-1.6.0/jdk1.6.0_41/bin/java
            HOME /home
            LD_LIBRARY_PATH /home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/amd64/server:/home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/amd64:/home/installs/java-1.6.0/jdk1.6.0_41/jre/../lib/amd64
            LOGNAME installs
            MAIL /var/mail/installs
            NLSPATH /usr/dt/lib/nls/msg/%L/%N.cat
            OLDPWD /home/installs
            PATH /usr/local/bin:/bin:/usr/bin
            PWD /home/installs
            SELINUX_LEVEL_REQUESTED
            SELINUX_ROLE_REQUESTED
            SELINUX_USE_CURRENT_RANGE
            SHELL /bin/sh
            SHLVL 1
            SSH_CLIENT 10.241.4.166 52269 22
            SSH_CONNECTION 10.241.4.166 52269 10.241.4.179 22
            USER installs
            XFILESEARCHPATH /usr/dt/app-defaults/%L/Dt
            Thread Dump

            Channel reader thread: channel

            "Channel reader thread: channel" Id=9 Group=main RUNNABLE (in native)
            at java.io.FileInputStream.readBytes(Native Method)
            at java.io.FileInputStream.read(FileInputStream.java:220)
            at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
            at java.io.BufferedInputStream.read(BufferedInputStream.java:237)

            • locked java.io.BufferedInputStream@1ef3215
              at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2252)
              at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2545)
              at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2555)
              at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1294)
              at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
              at hudson.remoting.Channel$ReaderThread.run(Channel.java:1017)

            main

            "main" Id=1 Group=main WAITING on hudson.remoting.Channel@39d85f79
            at java.lang.Object.wait(Native Method)

            • waiting on hudson.remoting.Channel@39d85f79
              at java.lang.Object.wait(Object.java:485)
              at hudson.remoting.Channel.join(Channel.java:795)
              at hudson.remoting.Launcher.main(Launcher.java:412)
              at hudson.remoting.Launcher.runWithStdinStdout(Launcher.java:358)
              at hudson.remoting.Launcher.run(Launcher.java:198)
              at hudson.remoting.Launcher.main(Launcher.java:160)

            Ping thread for channel hudson.remoting.Channel@39d85f79:channel

            "Ping thread for channel hudson.remoting.Channel@39d85f79:channel" Id=10 Group=main TIMED_WAITING
            at java.lang.Thread.sleep(Native Method)
            at hudson.remoting.PingThread.run(PingThread.java:79)

            Pipe writer thread: channel

            "Pipe writer thread: channel" Id=12 Group=main WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@10cb09c8
            at sun.misc.Unsafe.park(Native Method)

            • waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@10cb09c8
              at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
              at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
              at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
              at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:957)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:917)
              at java.lang.Thread.run(Thread.java:662)

            pool-1-thread-15

            "pool-1-thread-15" Id=1131 Group=main WAITING on java.lang.UNIXProcess@5ac31778
            at java.lang.Object.wait(Native Method)

            • waiting on java.lang.UNIXProcess@5ac31778
              at java.lang.Object.wait(Object.java:485)
              at java.lang.UNIXProcess.waitFor(UNIXProcess.java:165)
              at hudson.Proc$LocalProc.join(Proc.java:222)
              at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:828)
              at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:797)
              at hudson.remoting.UserRequest.perform(UserRequest.java:107)
              at hudson.remoting.UserRequest.perform(UserRequest.java:41)
              at hudson.remoting.Request$2.run(Request.java:276)
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
              at java.util.concurrent.FutureTask.run(FutureTask.java:138)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
              at java.lang.Thread.run(Thread.java:662)

            Number of locked synchronizers = 1

            • java.util.concurrent.locks.ReentrantLock$NonfairSync@3818a815

            pool-1-thread-25

            "pool-1-thread-25" Id=1931 Group=main RUNNABLE
            at sun.management.ThreadImpl.dumpThreads0(Native Method)
            at sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:433)
            at hudson.Functions.getThreadInfos(Functions.java:891)
            at hudson.util.RemotingDiagnostics$GetThreadDump.call(RemotingDiagnostics.java:83)
            at hudson.util.RemotingDiagnostics$GetThreadDump.call(RemotingDiagnostics.java:78)
            at hudson.remoting.UserRequest.perform(UserRequest.java:107)
            at hudson.remoting.UserRequest.perform(UserRequest.java:41)
            at hudson.remoting.Request$2.run(Request.java:276)
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
            at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
            at java.util.concurrent.FutureTask.run(FutureTask.java:138)
            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
            at java.lang.Thread.run(Thread.java:662)

            Number of locked synchronizers = 1

            • java.util.concurrent.locks.ReentrantLock$NonfairSync@217fa749

            pool-1-thread-27

            "pool-1-thread-27" Id=2292 Group=main TIMED_WAITING on java.util.concurrent.SynchronousQueue$TransferStack@7839e749
            at sun.misc.Unsafe.park(Native Method)

            • waiting on java.util.concurrent.SynchronousQueue$TransferStack@7839e749
              at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
              at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
              at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
              at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
              at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:955)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:917)
              at java.lang.Thread.run(Thread.java:662)

            pool-1-thread-28

            "pool-1-thread-28" Id=2466 Group=main TIMED_WAITING on java.util.concurrent.SynchronousQueue$TransferStack@7839e749
            at sun.misc.Unsafe.park(Native Method)

            • waiting on java.util.concurrent.SynchronousQueue$TransferStack@7839e749
              at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
              at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
              at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
              at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
              at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:955)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:917)
              at java.lang.Thread.run(Thread.java:662)

            pool-1-thread-29

            "pool-1-thread-29" Id=2467 Group=main TIMED_WAITING on java.util.concurrent.SynchronousQueue$TransferStack@7839e749
            at sun.misc.Unsafe.park(Native Method)

            • waiting on java.util.concurrent.SynchronousQueue$TransferStack@7839e749
              at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
              at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
              at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
              at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
              at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:955)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:917)
              at java.lang.Thread.run(Thread.java:662)

            pool-1-thread-7

            "pool-1-thread-7" Id=18 Group=main WAITING on java.lang.UNIXProcess@66ac6adc
            at java.lang.Object.wait(Native Method)

            • waiting on java.lang.UNIXProcess@66ac6adc
              at java.lang.Object.wait(Object.java:485)
              at java.lang.UNIXProcess.waitFor(UNIXProcess.java:165)
              at hudson.Proc$LocalProc.join(Proc.java:222)
              at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:828)
              at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:797)
              at hudson.remoting.UserRequest.perform(UserRequest.java:107)
              at hudson.remoting.UserRequest.perform(UserRequest.java:41)
              at hudson.remoting.Request$2.run(Request.java:276)
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
              at java.util.concurrent.FutureTask.run(FutureTask.java:138)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
              at java.lang.Thread.run(Thread.java:662)

            Number of locked synchronizers = 1

            • java.util.concurrent.locks.ReentrantLock$NonfairSync@2be579ff

            process reaper

            "process reaper" Id=109 Group=main RUNNABLE (in native)
            at java.lang.UNIXProcess.waitForProcessExit(Native Method)
            at java.lang.UNIXProcess.access$900(UNIXProcess.java:20)
            at java.lang.UNIXProcess$1$1.run(UNIXProcess.java:132)

            Finalizer

            "Finalizer" Id=3 Group=system WAITING on java.lang.ref.ReferenceQueue$Lock@7ec101b0
            at java.lang.Object.wait(Native Method)

            • waiting on java.lang.ref.ReferenceQueue$Lock@7ec101b0
              at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
              at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
              at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

            Reference Handler

            "Reference Handler" Id=2 Group=system WAITING on java.lang.ref.Reference$Lock@31560ad3
            at java.lang.Object.wait(Native Method)

            • waiting on java.lang.ref.Reference$Lock@31560ad3
              at java.lang.Object.wait(Object.java:485)
              at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)

            Signal Dispatcher

            "Signal Dispatcher" Id=4 Group=system RUNNABLE

            Show
            webshammo Steve HAmmond added a comment - I added Dfile.encoding=UTF-8 in node configuration >Node Properties->Environment Variables using JAVA_TOOL_OPTIONS and in the master system configuration->Global Properties->Environment Variables the same. Still having the same error. System Properties Name ↓ Value file.encoding ANSI_X3.4-1968 file.encoding.pkg sun.io file.separator / java.awt.graphicsenv sun.awt.X11GraphicsEnvironment java.awt.printerjob sun.print.PSPrinterJob java.class.path slave.jar java.class.version 50.0 java.endorsed.dirs /home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/endorsed java.ext.dirs /home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/ext:/usr/java/packages/lib/ext java.home /home/installs/java-1.6.0/jdk1.6.0_41/jre java.io.tmpdir /tmp java.library.path /home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/amd64/server:/home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/amd64:/home/installs/java-1.6.0/jdk1.6.0_41/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib java.runtime.name Java(TM) SE Runtime Environment java.runtime.version 1.6.0_41-b02 java.specification.name Java Platform API Specification java.specification.vendor Sun Microsystems Inc. java.specification.version 1.6 java.vendor Sun Microsystems Inc. java.vendor.url http://java.sun.com/ java.vendor.url.bug http://java.sun.com/cgi-bin/bugreport.cgi java.version 1.6.0_41 java.vm.info mixed mode java.vm.name Java HotSpot(TM) 64-Bit Server VM java.vm.specification.name Java Virtual Machine Specification java.vm.specification.vendor Sun Microsystems Inc. java.vm.specification.version 1.0 java.vm.vendor Sun Microsystems Inc. java.vm.version 20.14-b01 line.separator \n os.arch amd64 os.name Linux os.version 3.8.13-55.1.2.el6uek.x86_64 path.separator : sun.arch.data.model 64 sun.boot.class.path /home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/resources.jar:/home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/rt.jar:/home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/sunrsasign.jar:/home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/jsse.jar:/home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/jce.jar:/home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/charsets.jar:/home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/modules/jdk.boot.jar:/home/installs/java-1.6.0/jdk1.6.0_41/jre/classes sun.boot.library.path /home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/amd64 sun.cpu.endian little sun.cpu.isalist sun.io.unicode.encoding UnicodeLittle sun.java.command slave.jar sun.java.launcher SUN_STANDARD sun.jnu.encoding ANSI_X3.4-1968 sun.management.compiler HotSpot 64-Bit Tiered Compilers sun.os.patch.level unknown user.country US user.dir /home user.home /home user.language en user.name installs user.timezone Universal Environment Variables Name ↓ Value _ /home/installs/java-1.6.0/jdk1.6.0_41/bin/java HOME /home LD_LIBRARY_PATH /home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/amd64/server:/home/installs/java-1.6.0/jdk1.6.0_41/jre/lib/amd64:/home/installs/java-1.6.0/jdk1.6.0_41/jre/../lib/amd64 LOGNAME installs MAIL /var/mail/installs NLSPATH /usr/dt/lib/nls/msg/%L/%N.cat OLDPWD /home/installs PATH /usr/local/bin:/bin:/usr/bin PWD /home/installs SELINUX_LEVEL_REQUESTED SELINUX_ROLE_REQUESTED SELINUX_USE_CURRENT_RANGE SHELL /bin/sh SHLVL 1 SSH_CLIENT 10.241.4.166 52269 22 SSH_CONNECTION 10.241.4.166 52269 10.241.4.179 22 USER installs XFILESEARCHPATH /usr/dt/app-defaults/%L/Dt Thread Dump Channel reader thread: channel "Channel reader thread: channel" Id=9 Group=main RUNNABLE (in native) at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(FileInputStream.java:220) at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) at java.io.BufferedInputStream.read(BufferedInputStream.java:237) locked java.io.BufferedInputStream@1ef3215 at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2252) at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2545) at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2555) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1294) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at hudson.remoting.Channel$ReaderThread.run(Channel.java:1017) main "main" Id=1 Group=main WAITING on hudson.remoting.Channel@39d85f79 at java.lang.Object.wait(Native Method) waiting on hudson.remoting.Channel@39d85f79 at java.lang.Object.wait(Object.java:485) at hudson.remoting.Channel.join(Channel.java:795) at hudson.remoting.Launcher.main(Launcher.java:412) at hudson.remoting.Launcher.runWithStdinStdout(Launcher.java:358) at hudson.remoting.Launcher.run(Launcher.java:198) at hudson.remoting.Launcher.main(Launcher.java:160) Ping thread for channel hudson.remoting.Channel@39d85f79:channel "Ping thread for channel hudson.remoting.Channel@39d85f79:channel" Id=10 Group=main TIMED_WAITING at java.lang.Thread.sleep(Native Method) at hudson.remoting.PingThread.run(PingThread.java:79) Pipe writer thread: channel "Pipe writer thread: channel" Id=12 Group=main WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@10cb09c8 at sun.misc.Unsafe.park(Native Method) waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@10cb09c8 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:957) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:917) at java.lang.Thread.run(Thread.java:662) pool-1-thread-15 "pool-1-thread-15" Id=1131 Group=main WAITING on java.lang.UNIXProcess@5ac31778 at java.lang.Object.wait(Native Method) waiting on java.lang.UNIXProcess@5ac31778 at java.lang.Object.wait(Object.java:485) at java.lang.UNIXProcess.waitFor(UNIXProcess.java:165) at hudson.Proc$LocalProc.join(Proc.java:222) at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:828) at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:797) at hudson.remoting.UserRequest.perform(UserRequest.java:107) at hudson.remoting.UserRequest.perform(UserRequest.java:41) at hudson.remoting.Request$2.run(Request.java:276) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:662) Number of locked synchronizers = 1 java.util.concurrent.locks.ReentrantLock$NonfairSync@3818a815 pool-1-thread-25 "pool-1-thread-25" Id=1931 Group=main RUNNABLE at sun.management.ThreadImpl.dumpThreads0(Native Method) at sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:433) at hudson.Functions.getThreadInfos(Functions.java:891) at hudson.util.RemotingDiagnostics$GetThreadDump.call(RemotingDiagnostics.java:83) at hudson.util.RemotingDiagnostics$GetThreadDump.call(RemotingDiagnostics.java:78) at hudson.remoting.UserRequest.perform(UserRequest.java:107) at hudson.remoting.UserRequest.perform(UserRequest.java:41) at hudson.remoting.Request$2.run(Request.java:276) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:662) Number of locked synchronizers = 1 java.util.concurrent.locks.ReentrantLock$NonfairSync@217fa749 pool-1-thread-27 "pool-1-thread-27" Id=2292 Group=main TIMED_WAITING on java.util.concurrent.SynchronousQueue$TransferStack@7839e749 at sun.misc.Unsafe.park(Native Method) waiting on java.util.concurrent.SynchronousQueue$TransferStack@7839e749 at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:955) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:917) at java.lang.Thread.run(Thread.java:662) pool-1-thread-28 "pool-1-thread-28" Id=2466 Group=main TIMED_WAITING on java.util.concurrent.SynchronousQueue$TransferStack@7839e749 at sun.misc.Unsafe.park(Native Method) waiting on java.util.concurrent.SynchronousQueue$TransferStack@7839e749 at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:955) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:917) at java.lang.Thread.run(Thread.java:662) pool-1-thread-29 "pool-1-thread-29" Id=2467 Group=main TIMED_WAITING on java.util.concurrent.SynchronousQueue$TransferStack@7839e749 at sun.misc.Unsafe.park(Native Method) waiting on java.util.concurrent.SynchronousQueue$TransferStack@7839e749 at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:955) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:917) at java.lang.Thread.run(Thread.java:662) pool-1-thread-7 "pool-1-thread-7" Id=18 Group=main WAITING on java.lang.UNIXProcess@66ac6adc at java.lang.Object.wait(Native Method) waiting on java.lang.UNIXProcess@66ac6adc at java.lang.Object.wait(Object.java:485) at java.lang.UNIXProcess.waitFor(UNIXProcess.java:165) at hudson.Proc$LocalProc.join(Proc.java:222) at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:828) at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:797) at hudson.remoting.UserRequest.perform(UserRequest.java:107) at hudson.remoting.UserRequest.perform(UserRequest.java:41) at hudson.remoting.Request$2.run(Request.java:276) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:662) Number of locked synchronizers = 1 java.util.concurrent.locks.ReentrantLock$NonfairSync@2be579ff process reaper "process reaper" Id=109 Group=main RUNNABLE (in native) at java.lang.UNIXProcess.waitForProcessExit(Native Method) at java.lang.UNIXProcess.access$900(UNIXProcess.java:20) at java.lang.UNIXProcess$1$1.run(UNIXProcess.java:132) Finalizer "Finalizer" Id=3 Group=system WAITING on java.lang.ref.ReferenceQueue$Lock@7ec101b0 at java.lang.Object.wait(Native Method) waiting on java.lang.ref.ReferenceQueue$Lock@7ec101b0 at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) Reference Handler "Reference Handler" Id=2 Group=system WAITING on java.lang.ref.Reference$Lock@31560ad3 at java.lang.Object.wait(Native Method) waiting on java.lang.ref.Reference$Lock@31560ad3 at java.lang.Object.wait(Object.java:485) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) Signal Dispatcher "Signal Dispatcher" Id=4 Group=system RUNNABLE
            Hide
            danielbeck Daniel Beck added a comment -

            I added Dfile.encoding=UTF-8 in node configuration>Node Properties->Environment Variables using JAVA_TOOL_OPTIONS
            and in the master system configuration->Global Properties->Environment Variables the same.

            Those are the environment variables passed to your builds, not to Jenkins itself and the slave processes, so this won't work. Change it where Jenkins (and/or slaves) are actually launched.

            Show
            danielbeck Daniel Beck added a comment - I added Dfile.encoding=UTF-8 in node configuration>Node Properties->Environment Variables using JAVA_TOOL_OPTIONS and in the master system configuration->Global Properties->Environment Variables the same. Those are the environment variables passed to your builds, not to Jenkins itself and the slave processes, so this won't work. Change it where Jenkins (and/or slaves) are actually launched.
            Hide
            dantran dan tran added a comment - - edited

            Encounter same issue

            Caused by: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /space/jenkins/xxxx/workspace/xxx-ui/node_modules/grunt-contrib-compress/node_modules/archiver/node_modules/file-utils/node_modules/isbinaryfile/tests/fixtures/03_��������������������������������������������������.rst
            at sun.nio.fs.UnixPath.encode(UnixPath.java:147)
            at sun.nio.fs.UnixPath.<init>(UnixPath.java:71)

            My jenkins STS 1.609 is on linux SLES12 x64 Java 8

            Where the file name a Russian file name

            Show
            dantran dan tran added a comment - - edited Encounter same issue Caused by: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /space/jenkins/xxxx/workspace/xxx-ui/node_modules/grunt-contrib-compress/node_modules/archiver/node_modules/file-utils/node_modules/isbinaryfile/tests/fixtures/03_���������������������� ���� ������������������������.rst at sun.nio.fs.UnixPath.encode(UnixPath.java:147) at sun.nio.fs.UnixPath.<init>(UnixPath.java:71) My jenkins STS 1.609 is on linux SLES12 x64 Java 8 Where the file name a Russian file name
            Hide
            dantran dan tran added a comment -

            @Daniel Beck could you be more specific, the closest I can guest is the same place node->configuration>node properties->environment.

            Show
            dantran dan tran added a comment - @Daniel Beck could you be more specific, the closest I can guest is the same place node- >configuration >node properties ->environment.
            Hide
            croesus Croesus Kall added a comment -

            dan tran I think he means the environment variable set to the jenkins process itself.

            If you are using for example an rpm based version of jenkins, you can set this in the file:

            /etc/sysconfig/jenkins

            and add the UTF-8 setting to the variable JENKINS_JAVA_OPTIONS

            Show
            croesus Croesus Kall added a comment - dan tran I think he means the environment variable set to the jenkins process itself. If you are using for example an rpm based version of jenkins, you can set this in the file: /etc/sysconfig/jenkins and add the UTF-8 setting to the variable JENKINS_JAVA_OPTIONS
            Hide
            dantran dan tran added a comment -

            More clarification.

            1. Our Master on is on SLES11.3 with UTF-8 encoding setup correctly. I can see it from jenkins system info

            2. Connect to SLES12 slave via ssh to a user account that uses csh as login shell ( i cant change it to bash). For some reason, this slave does not have LANG configured and therefor the slave system info show file.encoding=ANSI_X3.4-1968. This causes our build log shows 'funny' chars when encounter none ascii

            3. To fix this, I ended up to set up LANG=en_US.UTF-8 env, the slave JVM's file.encoding=UTF-8 at the slave node configuration. This solves the log display issue

            However, I am not able to remove my job workspace which has none English chars in filenames.

            Show
            dantran dan tran added a comment - More clarification. 1. Our Master on is on SLES11.3 with UTF-8 encoding setup correctly. I can see it from jenkins system info 2. Connect to SLES12 slave via ssh to a user account that uses csh as login shell ( i cant change it to bash). For some reason, this slave does not have LANG configured and therefor the slave system info show file.encoding=ANSI_X3.4-1968. This causes our build log shows 'funny' chars when encounter none ascii 3. To fix this, I ended up to set up LANG=en_US.UTF-8 env, the slave JVM's file.encoding=UTF-8 at the slave node configuration. This solves the log display issue However, I am not able to remove my job workspace which has none English chars in filenames.
            Hide
            jglick Jesse Glick added a comment -

            Jenkins now requires Java 7 so there is no reason not to switch to the newer, probably more reliable APIs.

            Show
            jglick Jesse Glick added a comment - Jenkins now requires Java 7 so there is no reason not to switch to the newer, probably more reliable APIs.
            Hide
            danielbeck Daniel Beck added a comment -

            Jesse Glick The existing implementation of Util.deleteFile(File) already uses Files.delete(Path) if available, or what are you referring to?

            Show
            danielbeck Daniel Beck added a comment - Jesse Glick The existing implementation of Util.deleteFile(File) already uses Files.delete(Path) if available, or what are you referring to?
            Hide
            jglick Jesse Glick added a comment -

            Daniel Beck no it only uses the Java 7+ methods as a fallback to gather diagnostics. Since we now require Java 7, the whole method should be rewritten to use java.nio.file from the start.

            Show
            jglick Jesse Glick added a comment - Daniel Beck no it only uses the Java 7+ methods as a fallback to gather diagnostics. Since we now require Java 7, the whole method should be rewritten to use java.nio.file from the start.
            ickersep ickersep made changes -
            Link This issue is related to JENKINS-17726 [ JENKINS-17726 ]
            ickersep ickersep made changes -
            Link This issue is related to JENKINS-33478 [ JENKINS-33478 ]
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 142976 ] JNJira + In-Review [ 175799 ]
            Hide
            rtyler R. Tyler Croy added a comment -

            I suspect this might be fixed now that Jenkins requires Java 8. Assigning to myself to do some testing.

            Show
            rtyler R. Tyler Croy added a comment - I suspect this might be fixed now that Jenkins requires Java 8. Assigning to myself to do some testing.
            rtyler R. Tyler Croy made changes -
            Assignee R. Tyler Croy [ rtyler ]
            Hide
            jglick Jesse Glick added a comment -

            I doubt that merely requiring Java 8 (actually here, 7) fixes anything. We would need to actually rewrite a bunch of code to use java.nio.file. Which is not done, and already tracked in several other issues which I could look up if you are interested.

            Show
            jglick Jesse Glick added a comment - I doubt that merely requiring Java 8 (actually here, 7) fixes anything. We would need to actually rewrite a bunch of code to use java.nio.file . Which is not done, and already tracked in several other issues which I could look up if you are interested.
            Hide
            rtyler R. Tyler Croy added a comment -

            With the latest LTS, I was not able to strictly use Daniel Beck's reproduction steps above. Instead I needed to execute Jenkins with LANG=C in the environment. -Dfile.encoding=ASCII was irrelevant to whether or not the workspace could be properly cleaned out.

            I would be surprised if this was still affecting modern systems though, unless they have very dumb defaults set (i.e. LANG=C).

            Show
            rtyler R. Tyler Croy added a comment - With the latest LTS, I was not able to strictly use Daniel Beck 's reproduction steps above. Instead I needed to execute Jenkins with LANG=C in the environment. -Dfile.encoding=ASCII was irrelevant to whether or not the workspace could be properly cleaned out. I would be surprised if this was still affecting modern systems though, unless they have very dumb defaults set (i.e. LANG=C).
            Hide
            danielbeck Daniel Beck added a comment -

            R. Tyler Croy RHEL 6 had a very weird default LANG, at least when logged in via SSH, back when I used it, but I guess it doesn't qualify as modern for you?

            Show
            danielbeck Daniel Beck added a comment - R. Tyler Croy RHEL 6 had a very weird default LANG, at least when logged in via SSH, back when I used it, but I guess it doesn't qualify as modern for you?
            Hide
            rtyler R. Tyler Croy added a comment -

            Depends on which 6.x you're referring to, RHEL6 spans 6 years.

            But generally yes, I don't consider RHEL modern at all

            Show
            rtyler R. Tyler Croy added a comment - Depends on which 6.x you're referring to, RHEL6 spans 6 years. But generally yes, I don't consider RHEL modern at all
            laurent_malvert Laurent Malvert made changes -
            Link This issue relates to JENKINS-46298 [ JENKINS-46298 ]
            Hide
            jglick Jesse Glick added a comment -

            FTR Devin Nusbaum has recently been working on related core patches.

            Show
            jglick Jesse Glick added a comment - FTR Devin Nusbaum has recently been working on related core patches.
            Hide
            dnusbaum Devin Nusbaum added a comment -

            Yes, I am in the process of moving Util.tryOnceDeleteRecursive and the methods it uses to NIO as part of JENKINS-36088. I don't know if it will fix this issue but it might improve the error messages.

            Show
            dnusbaum Devin Nusbaum added a comment - Yes, I am in the process of moving Util.tryOnceDeleteRecursive and the methods it uses to NIO as part of JENKINS-36088 . I don't know if it will fix this issue but it might improve the error messages.
            dnusbaum Devin Nusbaum made changes -
            Link This issue relates to JENKINS-36088 [ JENKINS-36088 ]
            Hide
            dnusbaum Devin Nusbaum added a comment - - edited

            I was able to reproduce the issue on 2.94-SNAPSHOT (With PR #3169 which uses NIO for deletion) with Daniel Beck's instructions after adding -Dsun.jnu.encoding=ASCII when starting Jenkins.

            java -Dsun.jnu.encoding=ASCII -Dfile.encoding=ASCII -jar jenkins.war
            
            java.lang.reflect.InvocationTargetException
            	at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:347)
            	at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:52)
            	at org.kohsuke.stapler.PreInvokeInterceptedFunction.invoke(PreInvokeInterceptedFunction.java:26)
            	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:184)
            	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:117)
            	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:129)
            	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
            	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
            	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
            	at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:248)
            	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
            	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
            	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
            	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
            	at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
            	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
            	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
            	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
            	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:138)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
            	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:85)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
            	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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
            	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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
            	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:67)
            	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
            	at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90)
            	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
            	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
            	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
            	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
            	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
            	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
            	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
            	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
            	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
            	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
            	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
            	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
            	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
            	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
            	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
            	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
            	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
            	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
            	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
            	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
            	at org.eclipse.jetty.server.Server.handle(Server.java:564)
            	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317)
            	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
            	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
            	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
            	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
            	at org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:128)
            	at org.eclipse.jetty.util.thread.Invocable$InvocableExecutor.invoke(Invocable.java:222)
            	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:294)
            	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:199)
            	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
            	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
            	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
            	at java.lang.Thread.run(Thread.java:748)
            Caused by: java.io.IOException: Unable to delete '/Users/dnusbaum/.jenkins/jobs/filename-testing'. Tried 3 times (of a maximum of 3) waiting 0.1 sec between attempts.
            	at hudson.Util.deleteRecursive(Util.java:338)
            	at hudson.model.AbstractItem.performDelete(AbstractItem.java:674)
            	at hudson.model.AbstractProject.performDelete(AbstractProject.java:362)
            	at hudson.model.AbstractItem.delete(AbstractItem.java:658)
            	at hudson.model.Job.delete(Job.java:681)
            	at hudson.model.AbstractItem.doDoDelete(AbstractItem.java:528)
            	at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
            	at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343)
            	... 76 more
            Caused by: java.io.IOException: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /Users/dnusbaum/.jenkins/jobs/filename-testing/workspace/?
            	at hudson.Util.isSymlink(Util.java:510)
            	at hudson.Util.tryOnceDeleteRecursive(Util.java:354)
            	at hudson.Util.tryOnceDeleteContentsRecursive(Util.java:375)
            	at hudson.Util.tryOnceDeleteRecursive(Util.java:355)
            	at hudson.Util.tryOnceDeleteContentsRecursive(Util.java:375)
            	at hudson.Util.tryOnceDeleteRecursive(Util.java:355)
            	at hudson.Util.deleteRecursive(Util.java:333)
            	... 83 more
            Caused by: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /Users/dnusbaum/.jenkins/jobs/filename-testing/workspace/?
            	at sun.nio.fs.UnixPath.encode(UnixPath.java:147)
            	at sun.nio.fs.UnixPath.<init>(UnixPath.java:71)
            	at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:281)
            	at java.io.File.toPath(File.java:2234)
            	at hudson.Util.isSymlink(Util.java:496)
            	... 89 more
            

            Relevant settings from /SystemInfo:

            file.encoding=ASCII
            sun.jnu.encoding=ASCII
            LANG=en_US.UTF-8
            

            The description of http://bugs.java.com/view_bug.do?bug_id=8003228 mentions:

            sun.jnu.encoding is the encoding used for encoding/decoding file paths...

            So maybe that is the magic parameter that needs to be set for people who already have UTF8 file.encoding and LANG?

            Show
            dnusbaum Devin Nusbaum added a comment - - edited I was able to reproduce the issue on 2.94-SNAPSHOT (With PR #3169  which uses NIO for deletion) with Daniel Beck 's instructions after adding -Dsun.jnu.encoding=ASCII when starting Jenkins. java -Dsun.jnu.encoding=ASCII -Dfile.encoding=ASCII -jar jenkins.war java.lang.reflect.InvocationTargetException at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:347) at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:52) at org.kohsuke.stapler.PreInvokeInterceptedFunction.invoke(PreInvokeInterceptedFunction.java:26) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:184) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:117) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:129) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:248) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649) at org.kohsuke.stapler.Stapler.service(Stapler.java:238) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:138) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:85) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) 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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117) 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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) 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:67) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.Server.handle(Server.java:564) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110) at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124) at org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:128) at org.eclipse.jetty.util.thread.Invocable$InvocableExecutor.invoke(Invocable.java:222) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:294) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:199) at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.io.IOException: Unable to delete '/Users/dnusbaum/.jenkins/jobs/filename-testing'. Tried 3 times (of a maximum of 3) waiting 0.1 sec between attempts. at hudson.Util.deleteRecursive(Util.java:338) at hudson.model.AbstractItem.performDelete(AbstractItem.java:674) at hudson.model.AbstractProject.performDelete(AbstractProject.java:362) at hudson.model.AbstractItem.delete(AbstractItem.java:658) at hudson.model.Job.delete(Job.java:681) at hudson.model.AbstractItem.doDoDelete(AbstractItem.java:528) at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627) at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343) ... 76 more Caused by: java.io.IOException: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /Users/dnusbaum/.jenkins/jobs/filename-testing/workspace/? at hudson.Util.isSymlink(Util.java:510) at hudson.Util.tryOnceDeleteRecursive(Util.java:354) at hudson.Util.tryOnceDeleteContentsRecursive(Util.java:375) at hudson.Util.tryOnceDeleteRecursive(Util.java:355) at hudson.Util.tryOnceDeleteContentsRecursive(Util.java:375) at hudson.Util.tryOnceDeleteRecursive(Util.java:355) at hudson.Util.deleteRecursive(Util.java:333) ... 83 more Caused by: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /Users/dnusbaum/.jenkins/jobs/filename-testing/workspace/? at sun.nio.fs.UnixPath.encode(UnixPath.java:147) at sun.nio.fs.UnixPath.<init>(UnixPath.java:71) at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:281) at java.io.File.toPath(File.java:2234) at hudson.Util.isSymlink(Util.java:496) ... 89 more Relevant settings from /SystemInfo: file.encoding=ASCII sun.jnu.encoding=ASCII LANG=en_US.UTF-8 The description of http://bugs.java.com/view_bug.do?bug_id=8003228 mentions: sun.jnu.encoding is the encoding used for encoding/decoding file paths... So maybe that is the magic parameter that needs to be set for people who already have UTF8 file.encoding and LANG?
            rtyler R. Tyler Croy made changes -
            Assignee R. Tyler Croy [ rtyler ] Devin Nusbaum [ dnusbaum ]
            Hide
            danielbeck Daniel Beck added a comment -

            Time for another admin monitor?

            Show
            danielbeck Daniel Beck added a comment - Time for another admin monitor?
            Hide
            dnusbaum Devin Nusbaum added a comment -

            Daniel Beck You mean an admin monitor that activates if the master or any of the build agents have some, but not all, of LANG, file.encoding, and sun.jnu.encoding set to some UTF-8 variant? I guess it could just warn if anything is not UTF-8, as long as the monitor can be dismissed.

            Show
            dnusbaum Devin Nusbaum added a comment - Daniel Beck You mean an admin monitor that activates if the master or any of the build agents have some, but not all, of LANG , file.encoding , and sun.jnu.encoding set to some UTF-8 variant? I guess it could just warn if anything is not UTF-8, as long as the monitor can be dismissed.
            Hide
            danielbeck Daniel Beck added a comment -

            Every monitor can be dismissed. They typically implement a button to do so, otherwise there's a section in the global config to enable/disable monitors (separate from them being active/inactive, which enabled monitors can be if their condition is matched).

            Show
            danielbeck Daniel Beck added a comment - Every monitor can be dismissed. They typically implement a button to do so, otherwise there's a section in the global config to enable/disable monitors (separate from them being active/inactive, which enabled monitors can be if their condition is matched).
            dnusbaum Devin Nusbaum made changes -
            Assignee Devin Nusbaum [ dnusbaum ]
            Hide
            combin Valeriy Pastushenko added a comment -

            Hello! Does anyone know of any workaround?

            Show
            combin Valeriy Pastushenko added a comment - Hello! Does anyone know of any workaround?

              People

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

                Dates

                • Created:
                  Updated: