I am using version 1.11.0 (msi-4970) with “WinFsp (Local Drive)” (WinFsp 2023 2.0.23075). When trying to update a file in my vault, I get an “Access Denied” error. In my cryptomator0.log I see the following error for multiple files:
09:05:56.435 [Thread-21] ERROR o.c.frontend.fuse.ReadOnlyAdapter - read /Dokumente/Arbeit/[REDACTED]/.obsidian/appearance.json failed.
java.nio.channels.NonReadableChannelException: null
at org.cryptomator.cryptofs@2.6.7/org.cryptomator.cryptofs.ch.AbstractFileChannel.assertReadable(AbstractFileChannel.java:102)
at org.cryptomator.cryptofs@2.6.7/org.cryptomator.cryptofs.ch.AbstractFileChannel.read(AbstractFileChannel.java:149)
at org.cryptomator.frontend.fuse@4.0.0-beta4/org.cryptomator.frontend.fuse.OpenFile.read(OpenFile.java:59)
at org.cryptomator.frontend.fuse@4.0.0-beta4/org.cryptomator.frontend.fuse.ReadOnlyFileHandler.read(ReadOnlyFileHandler.java:62)
at org.cryptomator.frontend.fuse@4.0.0-beta4/org.cryptomator.frontend.fuse.ReadOnlyAdapter.read(ReadOnlyAdapter.java:337)
at org.cryptomator.jfuse.api@0.6.3/org.cryptomator.jfuse.api.FuseOperationsDecorator.read(FuseOperationsDecorator.java:117)
at org.cryptomator.jfuse.win@0.6.3/org.cryptomator.jfuse.win.FuseImpl.read(FuseImpl.java:220)
I also see warnings like this:
08:52:18.418 [Thread-11] WARN o.c.frontend.fuse.ReadWriteAdapter - Setting posix permissions not supported by underlying file system.
and this error:
08:50:10.952 [Thread-20] ERROR o.c.frontend.fuse.ReadOnlyAdapter - getattr failed.
java.lang.IllegalStateException: Recursive update
at java.base/java.util.concurrent.ConcurrentHashMap.compute(Unknown Source)
at com.github.benmanes.caffeine/com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2666)
at com.github.benmanes.caffeine/com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2649)
at com.github.benmanes.caffeine/com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:112)
at com.github.benmanes.caffeine/com.github.benmanes.caffeine.cache.LocalManualCache.get(LocalManualCache.java:62)
at org.cryptomator.cryptofs@2.6.7/org.cryptomator.cryptofs.CryptoPathMapper.getCiphertextDir(CryptoPathMapper.java:161)
at org.cryptomator.cryptofs@2.6.7/org.cryptomator.cryptofs.CryptoPathMapper.getCiphertextFilePath(CryptoPathMapper.java:122)
at org.cryptomator.cryptofs@2.6.7/org.cryptomator.cryptofs.CryptoPathMapper.lambda$getCiphertextDir$0(CryptoPathMapper.java:163)
at com.github.benmanes.caffeine/com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2668)
at java.base/java.util.concurrent.ConcurrentHashMap.compute(Unknown Source)
at com.github.benmanes.caffeine/com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2666)
at com.github.benmanes.caffeine/com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2649)
at com.github.benmanes.caffeine/com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:112)
at com.github.benmanes.caffeine/com.github.benmanes.caffeine.cache.LocalManualCache.get(LocalManualCache.java:62)
at org.cryptomator.cryptofs@2.6.7/org.cryptomator.cryptofs.CryptoPathMapper.getCiphertextDir(CryptoPathMapper.java:161)
at org.cryptomator.cryptofs@2.6.7/org.cryptomator.cryptofs.CryptoPathMapper.getCiphertextFilePath(CryptoPathMapper.java:122)
at org.cryptomator.cryptofs@2.6.7/org.cryptomator.cryptofs.CryptoPathMapper.lambda$getCiphertextDir$0(CryptoPathMapper.java:163)
at com.github.benmanes.caffeine/com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2668)
at java.base/java.util.concurrent.ConcurrentHashMap.compute(Unknown Source)
at com.github.benmanes.caffeine/com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2666)
at com.github.benmanes.caffeine/com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2649)
at com.github.benmanes.caffeine/com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:112)
at com.github.benmanes.caffeine/com.github.benmanes.caffeine.cache.LocalManualCache.get(LocalManualCache.java:62)
at org.cryptomator.cryptofs@2.6.7/org.cryptomator.cryptofs.CryptoPathMapper.getCiphertextDir(CryptoPathMapper.java:161)
at org.cryptomator.cryptofs@2.6.7/org.cryptomator.cryptofs.CryptoPathMapper.getCiphertextFilePath(CryptoPathMapper.java:122)
at org.cryptomator.cryptofs@2.6.7/org.cryptomator.cryptofs.CryptoPathMapper.getCiphertextFileType(CryptoPathMapper.java:97)
at org.cryptomator.cryptofs@2.6.7/org.cryptomator.cryptofs.attr.AttributeProvider.readAttributes(AttributeProvider.java:40)
at org.cryptomator.cryptofs@2.6.7/org.cryptomator.cryptofs.CryptoFileSystemImpl.readAttributes(CryptoFileSystemImpl.java:255)
at org.cryptomator.cryptofs@2.6.7/org.cryptomator.cryptofs.CryptoFileSystemProvider.readAttributes(CryptoFileSystemProvider.java:296)
at java.base/java.nio.file.Files.readAttributes(Unknown Source)
at org.cryptomator.frontend.fuse@4.0.0-beta4/org.cryptomator.frontend.fuse.ReadOnlyAdapter.getattr(ReadOnlyAdapter.java:198)
at org.cryptomator.jfuse.api@0.6.3/org.cryptomator.jfuse.api.Fuse$MountProbeObserver.getattr(Fuse.java:210)
at org.cryptomator.jfuse.win@0.6.3/org.cryptomator.jfuse.win.FuseImpl.getattr(FuseImpl.java:174)
The underlying file system is NTFS, Windows 11 Enterprise. The folder is part of OneDrive (private, not “for business”).
The NTFS access rights are full access inside and outside the vault.