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

Util.deleteRecursive fails for files using unmappable characters

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Critical
    • Resolution: Unresolved
    • core
    • Ubuntu 11.04 64 Bits, Jenkins ver. 1.450

    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

            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 danielbeck'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?

            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 danielbeck '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?
            danielbeck Daniel Beck added a comment -

            Time for another admin monitor?

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

            danielbeck 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.

            dnusbaum Devin Nusbaum added a comment - danielbeck 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.
            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).

            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).

            Hello! Does anyone know of any workaround?

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

            People

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

              Dates

                Created:
                Updated: