Feature request (Windows version): Better/clearer error messages regarding Cryptomator disk write/modify access

When trying to unlock a Cryptomator vault located on a particular hard drive (E:), the vault wouldn’t unlock and I received the error message “An unexpected error occurred”, along with the following list of parameters:

java.nio.file.AccessDeniedException: E:\Crypt-E\c
	at java.base/sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
	at java.base/sun.nio.fs.WindowsFileSystemProvider.createDirectory(Unknown Source)
	at java.base/java.nio.file.Files.createDirectory(Unknown Source)
	at java.base/java.nio.file.Files.createAndCheckIsDirectory(Unknown Source)
	at java.base/java.nio.file.Files.createDirectories(Unknown Source)
	at org.cryptomator.cryptofs.common.FileSystemCapabilityChecker.determineSupportedFileNameLength(FileSystemCapabilityChecker.java:118)
	at org.cryptomator.cryptofs.common.FileSystemCapabilityChecker.determineSupportedFileNameLength(FileSystemCapabilityChecker.java:95)
	at org.cryptomator.common.vaults.Vault.unlockCryptoFileSystem(Vault.java:108)
	at org.cryptomator.common.vaults.Vault.lambda$getCryptoFileSystem$0(Vault.java:98)
	at org.cryptomator.common.LazyInitializer.lambda$invokeFactoryIfNull$1(LazyInitializer.java:62)
	at java.base/java.util.concurrent.atomic.AtomicReference.updateAndGet(Unknown Source)
	at org.cryptomator.common.LazyInitializer.initializeLazily(LazyInitializer.java:49)
	at org.cryptomator.common.vaults.Vault.getCryptoFileSystem(Vault.java:98)
	at org.cryptomator.common.vaults.Vault.unlock(Vault.java:127)
	at org.cryptomator.ui.unlock.UnlockWorkflow.attemptUnlock(UnlockWorkflow.java:102)
	at org.cryptomator.ui.unlock.UnlockWorkflow.call(UnlockWorkflow.java:79)
	at org.cryptomator.ui.unlock.UnlockWorkflow.call(UnlockWorkflow.java:42)
	at javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)

I initially missed seeing the “Access Denied” warning at the beginning of the parameter list, but eventually I discovered that the problem was because my Windows user account (i.e. a Standard User account) didn’t have “write” or “modify” access to the affected hard disk E:. I have disk E: set up as read-only for the Standard User account, but write accessible from an Adminstrator account and another Standard User account from which I perform data disk backups of my main data drive D: The user account that I was using when I tried to unlock the vault is my normal user account that I use for day-to-day work and it only has read access to disk E:

It would be helpful if the error/warning message more clearly indicated that the user account from which one is running Cryptomator, needs write/modify access to the disk containing the Cryptomator vault. Is this documented anywhere in the official Cryptomator user documentation?

Not directly. It is described how Cryptomator works and therefore I would assume it as obvious that the place where you want to store your vault must be accessible with write permissions. How else should you be able to write anything into you vault if the app is not allowed to write into you vault storage location. Or am I’m missing something?

While not directly addressing the “clearer error messages” topic, this might be of interest:

© 2020 Skymatic GmbH • Privacy PolicyImpressum