Cryptomator automatically locking vault

Hello folks,

I use Cryptomator 1.6.5. on a windows 11 machine. A synology NAS DS920 is connect via LAN to the machine, on which several vaults lie. I can unlock any vault via Cryptomator by accessing it through its according directory in the “network” drive in windows explorer.

This is what I do to reproduce the bug:

  1. I mount one of my vaults from NAS through its windows network directory as a drive on my windows machine.
  2. From another external HDD mounted to the windows machine, I try to copy quite a big chunk of files (~50GB, ~100,000 files) via the windows explorer copy tool (essentially ctrl+c/+v).
  3. After ~1 minute, while the copy wizard is still assessing the size/amount of files to be copied on the HDD, all (!) mounted drives are closed by Crptomator. When i remount the drive while the copy process is still assessing the files to be copied, Cryptomator will unmount the vault again after less than 1 minute.

This is undesired behavior, as I wish the vault not to be randomly unmounted so my copy process can finish.

This is, what the log says:

08:20:24.092 [dokanMount-1-callback-3] TRACE o.c.frontend.dokany.ReadWriteAdapter - Try to open / as Directory.
08:20:24.093 [dokanMount-1-callback-3] TRACE o.c.frontend.dokany.ReadWriteAdapter - (40) / opened successful with handle 40.
08:20:24.093 [dokanMount-1-callback-4] TRACE o.c.frontend.dokany.ReadWriteAdapter - (40) getFileInformation() is called for /.
08:20:24.093 [dokanMount-1-callback-4] TRACE o.c.frontend.dokany.ReadWriteAdapter - (40) File Information successful read from /.
08:20:24.093 [dokanMount-1-callback-0] TRACE o.c.frontend.dokany.ReadWriteAdapter - (40) cleanup() is called for /.
08:20:24.093 [dokanMount-1-callback-1] TRACE o.c.frontend.dokany.ReadWriteAdapter - (40) closeFile() is called for /.
08:20:37.993 [dokanMount-4-callback-2] TRACE o.c.frontend.dokany.ReadWriteAdapter - zwCreateFile() is called for / with the following parameters:
	CreateDisposition -- OPEN_EXISTING
	createOptions -- [FILE_DIRECTORY_FILE, FILE_SYNCHRONOUS_IO_NONALERT]
	accessMasks -- [SYNCHRONIZE]
	fileAccessMasks -- []
	fileAttributes -- [].
08:20:38.107 [dokanMount-4-callback-2] TRACE o.c.frontend.dokany.ReadWriteAdapter - Try to open / as Directory.
08:20:38.107 [dokanMount-4-callback-2] TRACE o.c.frontend.dokany.ReadWriteAdapter - (114) / opened successful with handle 114.
08:20:38.108 [dokanMount-4-callback-0] TRACE o.c.frontend.dokany.ReadWriteAdapter - (114) getFileInformation() is called for /.
08:20:38.108 [dokanMount-4-callback-0] TRACE o.c.frontend.dokany.ReadWriteAdapter - (114) File Information successful read from /.
08:20:38.108 [dokanMount-4-callback-3] TRACE o.c.frontend.dokany.ReadWriteAdapter - (114) cleanup() is called for /.
08:20:38.108 [dokanMount-4-callback-4] TRACE o.c.frontend.dokany.ReadWriteAdapter - (114) closeFile() is called for /.
08:20:38.110 [dokanMount-4-callback-2] TRACE o.c.frontend.dokany.ReadWriteAdapter - zwCreateFile() is called for / with the following parameters:
	CreateDisposition -- OPEN_EXISTING
	createOptions -- [FILE_DIRECTORY_FILE, FILE_SYNCHRONOUS_IO_NONALERT]
	accessMasks -- [SYNCHRONIZE]
	fileAccessMasks -- []
	fileAttributes -- [].
08:20:38.110 [dokanMount-4-callback-2] TRACE o.c.frontend.dokany.ReadWriteAdapter - Try to open / as Directory.
08:20:38.111 [dokanMount-4-callback-2] TRACE o.c.frontend.dokany.ReadWriteAdapter - (115) / opened successful with handle 115.
08:20:38.111 [dokanMount-4-callback-0] TRACE o.c.frontend.dokany.ReadWriteAdapter - (115) getFileInformation() is called for /.
08:20:38.111 [dokanMount-4-callback-0] TRACE o.c.frontend.dokany.ReadWriteAdapter - (115) File Information successful read from /.
08:20:38.111 [dokanMount-4-callback-3] TRACE o.c.frontend.dokany.ReadWriteAdapter - (115) cleanup() is called for /.
08:20:38.111 [dokanMount-4-callback-4] TRACE o.c.frontend.dokany.ReadWriteAdapter - (115) closeFile() is called for /.
08:21:05.702 [dokanMount-2-main] TRACE o.c.frontend.dokany.ReadWriteAdapter - mounted() is called.
08:21:05.703 [dokanMount-2-main] TRACE o.c.frontend.dokany.ReadWriteAdapter - unmounted() is called.
08:21:05.797 [dokanMount-1-main] TRACE o.c.frontend.dokany.ReadWriteAdapter - mounted() is called.
08:21:05.797 [dokanMount-3-main] TRACE o.c.frontend.dokany.ReadWriteAdapter - mounted() is called.
08:21:05.798 [dokanMount-3-main] TRACE o.c.frontend.dokany.ReadWriteAdapter - unmounted() is called.
08:21:05.798 [dokanMount-1-main] TRACE o.c.frontend.dokany.ReadWriteAdapter - unmounted() is called.
08:21:05.798 [dokanMount-1-main] WARN  o.c.f.dokany.OpenHandleFactory - Closing unclosed handle to /
08:21:06.703 [dokanMount-2-main] INFO  org.cryptomator.common.vaults.Vault - Unmounted vault '2013_2019-personal_imagery'
08:21:06.703 [dokanMount-2-main] TRACE org.cryptomator.common.vaults.Vault - Trying to close associated CryptoFS...
08:21:06.705 [JavaFX Application Thread] DEBUG o.c.common.vaults.VaultStats - stop recording stats
08:21:06.798 [dokanMount-3-main] INFO  org.cryptomator.common.vaults.Vault - Unmounted vault '2020_2021-personal_imagery'
08:21:06.798 [dokanMount-1-main] INFO  org.cryptomator.common.vaults.Vault - Unmounted vault 'private'
08:21:06.798 [dokanMount-3-main] TRACE org.cryptomator.common.vaults.Vault - Trying to close associated CryptoFS...
08:21:06.798 [dokanMount-1-main] TRACE org.cryptomator.common.vaults.Vault - Trying to close associated CryptoFS...
08:21:06.798 [JavaFX Application Thread] DEBUG o.c.common.vaults.VaultStats - stop recording stats
08:21:06.799 [JavaFX Application Thread] DEBUG o.c.common.vaults.VaultStats - stop recording stats
08:21:23.345 [dokanMount-4-main] TRACE o.c.frontend.dokany.ReadWriteAdapter - mounted() is called.
08:21:23.345 [dokanMount-4-main] TRACE o.c.frontend.dokany.ReadWriteAdapter - unmounted() is called.
08:21:24.346 [dokanMount-4-main] INFO  org.cryptomator.common.vaults.Vault - Unmounted vault '04_data_misc'
08:21:24.346 [dokanMount-4-main] TRACE org.cryptomator.common.vaults.Vault - Trying to close associated CryptoFS...
08:21:24.346 [JavaFX Application Thread] DEBUG o.c.common.vaults.VaultStats - stop recording stats
08:21:24.347 [JavaFX Application Thread] DEBUG o.c.ui.launcher.AppLifecycleListener - Allow quitting without prompt: true

I have no clue, what is happening here. Any guesses anyone & solutions to it?

Cheers

Aphexer

Welcome to the Cryptomator Community :slightly_smiling_face: ,

on certain systems, the integration technology called Dokany used by Cryptomator suffers from random unmounts (see for example #1431 or #888 on our issue tracker).

For a quick fix, I suggest to try WinFSP: How to use it. If this does not help, we can go further down this rabbit hole :wink:

Thank you very much, that seems to have fixed the random dissconnect. Nonetheless transfer/read speed and also folder size determination is still very slow. Other threads about this issue indicate that is would also be caused by Dokany and used to be faster in previous versions. I havn’t tried that yet. Larger folder structures take very long to figure out file count / folder count / size / size on disk, compared to file unencrypted, which es a bit irritating. Any thoughts on that?

Cheers and thanks a lot for your help

Aphexer