0x8000FFFF with Magentacloud on Cryptomator 1.5.1

I created a new and empty vault under Telecom Magentacloud in Dokany-Mode, named ‘test’.
After succesfull opening, I tried to create an empty new directory, but went into an error-message 0x8000FFFF.
This is, what the crypromator-Logfile shows. Seems that it creates a filename longer than 260 digits and switches into read-only-mode after java-exception. Choosing WebDav-Mode is the same.
Working with Cryptomator 1.4.15 is fine, without any problems.

Any idea, why that happens?

See Logfile here:

13:53:12.644 [main] INFO  org.cryptomator.launcher.Cryptomator - Starting Cryptomator 1.5.1 on Windows 10 10.0 (amd64)
13:53:13.381 [JavaFX Application Thread] INFO  o.c.ui.launcher.FxApplicationStarter - JavaFX Runtime started.
13:53:13.396 [JavaFX Application Thread] INFO  org.cryptomator.jni.FunctionsLoader - loaded WinFunctions.dll
13:53:21.203 [App Scheduled Executor 01] INFO  o.c.common.settings.SettingsProvider - Settings saved to C:\Users\WDAGUtilityAccount\AppData\Roaming\Cryptomator\settings.json
13:53:23.519 [App Scheduled Executor 02] INFO  o.c.common.settings.SettingsProvider - Settings saved to C:\Users\WDAGUtilityAccount\AppData\Roaming\Cryptomator\settings.json
13:53:35.381 [App Scheduled Executor 01] INFO  o.c.common.settings.SettingsProvider - Settings saved to C:\Users\WDAGUtilityAccount\AppData\Roaming\Cryptomator\settings.json
13:53:37.568 [App Scheduled Executor 02] INFO  o.c.common.settings.SettingsProvider - Settings saved to C:\Users\WDAGUtilityAccount\AppData\Roaming\Cryptomator\settings.json
13:53:50.805 [App Scheduled Executor 01] INFO  o.c.common.settings.SettingsProvider - Settings saved to C:\Users\WDAGUtilityAccount\AppData\Roaming\Cryptomator\settings.json
13:53:57.525 [JavaFX Application Thread] INFO  o.c.k.WindowsProtectedKeychainAccess - Unable to load existing keychain file, creating new keychain.
13:54:03.168 [App Background Thread 003] WARN  o.c.c.c.FileSystemCapabilityChecker - Failed to clean up Z:\Test\c
java.nio.file.FileSystemException: Z:\Test\c: failed to delete one or more files; see suppressed exceptions for details
	at com.google.common.io.MoreFiles.throwDeleteFailed(MoreFiles.java:786)
	at com.google.common.io.MoreFiles.deleteRecursively(MoreFiles.java:552)
	at org.cryptomator.cryptofs.common.FileSystemCapabilityChecker.deleteSilently(FileSystemCapabilityChecker.java:122)
	at org.cryptomator.cryptofs.common.FileSystemCapabilityChecker.assertWriteAccess(FileSystemCapabilityChecker.java:88)
	at org.cryptomator.cryptofs.CryptoFileSystems.adjustForCapabilities(CryptoFileSystems.java:60)
	at org.cryptomator.cryptofs.CryptoFileSystems.create(CryptoFileSystems.java:39)
	at org.cryptomator.cryptofs.CryptoFileSystemProvider.newFileSystem(CryptoFileSystemProvider.java:301)
	at org.cryptomator.cryptofs.CryptoFileSystemProvider.newFileSystem(CryptoFileSystemProvider.java:92)
	at java.base/java.nio.file.FileSystems.newFileSystem(Unknown Source)
	at java.base/java.nio.file.FileSystems.newFileSystem(Unknown Source)
	at org.cryptomator.cryptofs.CryptoFileSystemProvider.newFileSystem(CryptoFileSystemProvider.java:133)
	at org.cryptomator.common.vaults.Vault.unlockCryptoFileSystem(Vault.java:109)
	at org.cryptomator.common.vaults.Vault.lambda$getCryptoFileSystem$0(Vault.java:96)
	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:96)
	at org.cryptomator.common.vaults.Vault.unlock(Vault.java:116)
	at org.cryptomator.ui.common.VaultService$UnlockVaultTask.call(VaultService.java:299)
	at org.cryptomator.ui.common.VaultService$UnlockVaultTask.call(VaultService.java:278)
	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.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
	Suppressed: java.nio.file.FileSystemException: Z:\Test\c\aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.c9r\aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.c9r: Der Dateiname oder die Erweiterung ist zu lang
		at java.base/sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
		at java.base/sun.nio.fs.WindowsException.asIOException(Unknown Source)
		at java.base/sun.nio.fs.WindowsDirectoryStream$WindowsDirectoryIterator.readNextEntry(Unknown Source)
		at java.base/sun.nio.fs.WindowsDirectoryStream$WindowsDirectoryIterator.hasNext(Unknown Source)
		at com.google.common.io.MoreFiles.deleteDirectoryContentsInsecure(MoreFiles.java:691)
		at com.google.common.io.MoreFiles.deleteRecursivelyInsecure(MoreFiles.java:666)
		at com.google.common.io.MoreFiles.deleteDirectoryContentsInsecure(MoreFiles.java:692)
		at com.google.common.io.MoreFiles.deleteRecursivelyInsecure(MoreFiles.java:666)
		at com.google.common.io.MoreFiles.deleteDirectoryContentsInsecure(MoreFiles.java:692)
		at com.google.common.io.MoreFiles.deleteRecursivelyInsecure(MoreFiles.java:666)
		at com.google.common.io.MoreFiles.deleteRecursively(MoreFiles.java:541)
		... 23 common frames omitted
13:54:03.249 [App Background Thread 003] WARN  o.c.cryptofs.CryptoFileSystems - No write access to vault. Fallback to read-only access.
13:54:03.276 [App Background Thread 003] INFO  o.cryptomator.cryptofs.ReadonlyFlag - Vault opened readonly.
13:54:04.283 [App Background Thread 003] INFO  com.dokany.java.DokanyDriver - Dokany version: 130
13:54:04.283 [App Background Thread 003] INFO  com.dokany.java.DokanyDriver - Dokany driver version: 400
13:54:07.294 [JavaFX Application Thread] INFO  o.c.ui.unlock.UnlockController - Unlock of 'Test' succeeded.
13:54:26.917 [Thread-324] WARN  c.dokany.java.DokanyOperationsProxy - zwCreateFile(): Uncaught exception. Returning generic failure code.
java.nio.file.ReadOnlyFileSystemException: null
	at org.cryptomator.cryptofs.ReadonlyFlag.assertWritable(ReadonlyFlag.java:33)
	at org.cryptomator.cryptofs.CryptoFileSystemImpl.createDirectory(CryptoFileSystemImpl.java:290)
	at org.cryptomator.cryptofs.CryptoFileSystemProvider.createDirectory(CryptoFileSystemProvider.java:363)
	at java.base/java.nio.file.Files.createDirectory(Unknown Source)
	at org.cryptomator.frontend.dokany.ReadWriteAdapter.createDirectory(ReadWriteAdapter.java:145)
	at org.cryptomator.frontend.dokany.ReadWriteAdapter.zwCreateFile(ReadWriteAdapter.java:130)
	at com.dokany.java.DokanyOperationsProxy$ZwCreateFileProxy.callback(DokanyOperationsProxy.java:59)
	at jdk.internal.reflect.GeneratedMethodAccessor48.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at com.sun.jna.CallbackReference$DefaultCallbackProxy.invokeCallback(CallbackReference.java:520)
	at com.sun.jna.CallbackReference$DefaultCallbackProxy.callback(CallbackReference.java:551)

Almost: Yes it “probes” the file system by checking out its limits. However it will only create a 220 char filename, but a 300 chars path.

Some applications falsely claim that Windows doesn’t support paths longer than 260 chars and Magenta Cloud may be among them.

If Cryptomator detects that a vault is on a drive that fails to meet these dependencies, it switches to read-only to make sure the user doesn’t accidentally create objects that are swallowed by the underlying file system.

We’re also discussing a user-configurable length limit in the following issue:

Of course, there shouldn’t be such an error message. Instead it should inform you that the file system is read-only. @infeo :wink:

I opened an ticket on our issue tracker:

Addendum: We are rethinking the file name length limit, see