Closed tobihagemann closed 7 years ago
Hm okay, maybe it's wrong in this repository. Maybe it should just be silently ignored in CryptoFS. I have no clue. :smile:
maybe related exception:
java.io.UncheckedIOException: java.nio.file.NoSuchFileException: C:\Users\Sebastian\Dropbox\Top Secret\d\PY\N3COE7E4CGC2HGGL4UKMV55DNGSVUS\46U3PFHQQBAZQDL44JM2NKESRVKZEKMCLLS5HWIPTNAUZ3VBOQ======
at org.cryptomator.frontend.webdav.servlet.DavFolder.getMembers(DavFolder.java:114) ~[webdav-nio-adapter-0.5.0.jar:?]
at org.apache.jackrabbit.webdav.MultiStatus.addResourceProperties(MultiStatus.java:63) ~[jackrabbit-webdav-2.15.1.jar:?]
at org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.doPropFind(AbstractWebdavServlet.java:561) ~[jackrabbit-webdav-2.15.1.jar:?]
at org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.execute(AbstractWebdavServlet.java:349) ~[jackrabbit-webdav-2.15.1.jar:?]
at org.cryptomator.frontend.webdav.servlet.WebDavServlet.execute(WebDavServlet.java:106) ~[webdav-nio-adapter-0.5.0.jar:?]
at org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:292) ~[jackrabbit-webdav-2.15.1.jar:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api-3.1.0.jar:3.1.0]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841) ~[jetty-servlet-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634) ~[jetty-servlet-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.cryptomator.frontend.webdav.servlet.MacChunkedPutCompatibilityFilter.doFilterHttp(MacChunkedPutCompatibilityFilter.java:58) ~[webdav-nio-adapter-0.5.0.jar:?]
at org.cryptomator.frontend.webdav.servlet.HttpFilter.doFilter(HttpFilter.java:26) ~[webdav-nio-adapter-0.5.0.jar:?]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621) ~[jetty-servlet-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.cryptomator.frontend.webdav.servlet.AcceptRangeFilter.doFilterHttp(AcceptRangeFilter.java:38) ~[webdav-nio-adapter-0.5.0.jar:?]
at org.cryptomator.frontend.webdav.servlet.HttpFilter.doFilter(HttpFilter.java:26) ~[webdav-nio-adapter-0.5.0.jar:?]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621) ~[jetty-servlet-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.cryptomator.frontend.webdav.servlet.MkcolComplianceFilter.doFilterHttp(MkcolComplianceFilter.java:42) ~[webdav-nio-adapter-0.5.0.jar:?]
at org.cryptomator.frontend.webdav.servlet.HttpFilter.doFilter(HttpFilter.java:26) ~[webdav-nio-adapter-0.5.0.jar:?]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621) ~[jetty-servlet-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.cryptomator.frontend.webdav.servlet.PostRequestBlockingFilter.doFilterHttp(PostRequestBlockingFilter.java:41) ~[webdav-nio-adapter-0.5.0.jar:?]
at org.cryptomator.frontend.webdav.servlet.HttpFilter.doFilter(HttpFilter.java:26) ~[webdav-nio-adapter-0.5.0.jar:?]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621) ~[jetty-servlet-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.cryptomator.frontend.webdav.servlet.UnicodeResourcePathNormalizationFilter.doFilterHttp(UnicodeResourcePathNormalizationFilter.java:68) ~[webdav-nio-adapter-0.5.0.jar:?]
at org.cryptomator.frontend.webdav.servlet.HttpFilter.doFilter(HttpFilter.java:26) ~[webdav-nio-adapter-0.5.0.jar:?]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621) ~[jetty-servlet-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.cryptomator.frontend.webdav.servlet.LoggingFilter.doFilterHttp(LoggingFilter.java:44) ~[webdav-nio-adapter-0.5.0.jar:?]
at org.cryptomator.frontend.webdav.servlet.HttpFilter.doFilter(HttpFilter.java:26) ~[webdav-nio-adapter-0.5.0.jar:?]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621) ~[jetty-servlet-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:541) ~[jetty-servlet-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188) ~[jetty-server-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) ~[jetty-server-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188) ~[jetty-server-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253) ~[jetty-server-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168) ~[jetty-server-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:481) ~[jetty-servlet-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) ~[jetty-server-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166) ~[jetty-server-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155) ~[jetty-server-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[jetty-server-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:219) ~[jetty-server-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) ~[jetty-server-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.server.Server.handle(Server.java:564) ~[jetty-server-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317) [jetty-server-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) [jetty-server-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279) [jetty-io-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110) [jetty-io-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124) [jetty-io-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:128) [jetty-util-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.util.thread.Invocable$InvocableExecutor.invoke(Invocable.java:222) [jetty-util-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:294) [jetty-util-9.4.4.v20170414.jar:9.4.4.v20170414]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:199) [jetty-util-9.4.4.v20170414.jar:9.4.4.v20170414]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_131]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
Caused by: java.nio.file.NoSuchFileException: C:\Users\Sebastian\Dropbox\Top Secret\d\PY\N3COE7E4CGC2HGGL4UKMV55DNGSVUS\46U3PFHQQBAZQDL44JM2NKESRVKZEKMCLLS5HWIPTNAUZ3VBOQ======
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:79) ~[?:1.8.0_131]
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) ~[?:1.8.0_131]
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102) ~[?:1.8.0_131]
at sun.nio.fs.WindowsFileAttributeViews$Basic.readAttributes(WindowsFileAttributeViews.java:53) ~[?:1.8.0_131]
at sun.nio.fs.WindowsFileAttributeViews$Basic.readAttributes(WindowsFileAttributeViews.java:38) ~[?:1.8.0_131]
at sun.nio.fs.WindowsFileSystemProvider.readAttributes(WindowsFileSystemProvider.java:193) ~[?:1.8.0_131]
at java.nio.file.Files.readAttributes(Files.java:1737) ~[?:1.8.0_131]
at org.cryptomator.cryptofs.CryptoFileAttributeProvider.readAttributes(CryptoFileAttributeProvider.java:41) ~[cryptofs-1.2.1.jar:?]
at org.cryptomator.cryptofs.CryptoFileSystemImpl.readAttributes(CryptoFileSystemImpl.java:236) ~[cryptofs-1.2.1.jar:?]
at org.cryptomator.cryptofs.CryptoFileSystemProvider.readAttributes(CryptoFileSystemProvider.java:257) ~[cryptofs-1.2.1.jar:?]
at java.nio.file.Files.readAttributes(Files.java:1737) ~[?:1.8.0_131]
at org.cryptomator.frontend.webdav.servlet.DavFolder.getMembers(DavFolder.java:102) ~[webdav-nio-adapter-0.5.0.jar:?]
... 52 more
Doesn't this issue belong into the https://github.com/cryptomator/cryptofs repo?
In my opinion we should definetely ignore empty directory files, as well as missing directories. What still is strange is that empty directory files seem to be "common". Not sure why that happens - checked the code and it looks good - maybe we should peer review the code in question again.
Created issue 13 on CryptoFS.
Related to https://github.com/cryptomator/cryptofs/issues/8.
Expected
Contents of a directory should be shown even if there is an empty directory file. So it should be just ignored.
Actual
Contents of a directory aren't shown if there is an empty directory file inside.
Stack Trace