Unable to migrate vault to newer version

I have a vault that i’m trying to unlock but cryptomator says that I need to migrate to a newer format and asks for my password and to check that synch has finished. I do this but then get a message saying "Upgrade failed. Details in Log message.

This is what I get in the log:

20:49:07.340 [main] INFO  org.cryptomator.launcher.Cryptomator - Starting Cryptomator 1.3.3 on Windows 10 10.0 (amd64)
20:49:07.766 [JavaFX Application Thread] INFO  o.c.launcher.MainApplication - JavaFX application started.
20:49:07.880 [JavaFX Application Thread] INFO  o.c.common.settings.SettingsProvider - Settings loaded from C:\Users\JoeTa\AppData\Roaming\Cryptomator\settings.json
20:49:08.572 [JavaFX Application Thread] INFO  org.cryptomator.jni.JniModule - loaded WinFunctions.dll
20:49:20.011 [JavaFX Application Thread] INFO  org.eclipse.jetty.util.log - Logging initialized @-1ms to org.eclipse.jetty.util.log.Slf4jLog
20:49:20.063 [JavaFX Application Thread] INFO  o.c.frontend.webdav.WebDavServer - Binding server socket to 127.0.0.1:42427
20:49:20.083 [JavaFX Application Thread] INFO  o.e.jetty.server.AbstractConnector - Started ServerConnector@5ddf997d{HTTP/1.1,[http/1.1]}{127.0.0.1:42427}
20:49:21.091 [pool-3-thread-1] INFO  o.c.common.settings.SettingsProvider - Settings saved to C:\Users\JoeTa\AppData\Roaming\Cryptomator\settings.json
20:49:36.070 [pool-4-thread-2] WARN  o.c.ui.model.UpgradeVersion5toX - Upgrade failed.
org.cryptomator.cryptofs.migration.api.NoApplicableMigratorException: null
	at java.util.Optional.orElseThrow(Optional.java:290)
	at org.cryptomator.cryptofs.migration.Migrators.migrate(Migrators.java:97)
	at org.cryptomator.ui.model.UpgradeVersion5toX.upgrade(UpgradeVersion5toX.java:45)
	at org.cryptomator.ui.controllers.UpgradeController.lambda$upgrade$0(UpgradeController.java:130)
	at org.cryptomator.ui.util.AsyncTaskService.lambda$asyncTaskOf$0(AsyncTaskService.java:43)
	at org.cryptomator.ui.util.AsyncTaskService$AsyncTaskImpl.lambda$null$6(AsyncTaskService.java:106)
	at org.cryptomator.ui.util.AsyncTaskService.logExceptions(AsyncTaskService.java:135)
	at org.cryptomator.ui.util.AsyncTaskService.access$100(AsyncTaskService.java:24)
	at org.cryptomator.ui.util.AsyncTaskService$AsyncTaskImpl.lambda$run$7(AsyncTaskService.java:104)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

any ideas?

Could you please open masterkey.cryptomator with a text editor and check what version number it says?

{
  ...
  "version": X
}

Just opened it and it says it is version 2

Version 2 is old. Does it make sense that you’ve created the vault about 2 years ago with a beta version of Cryptomator?

We don’t offer backwards-compatibility to old beta versions to reduce complexity. But we could improve the error message to be completely honest. :sweat_smile:

Solution

Download Beta 0.10 here (click “Show Old Beta Versions” below): https://cryptomator.org/downloads/#allVersions

After you’ve unlocked the vault with the old version, copy all files out of your vault. Then create a new vault with the latest version of Cryptomator.

1 Like

Ah okay that makes sense.

I’ve downloaded 0.10 but when trying to add an existing vault after i have selected the vault file and click open nothing appears to happen. Doesn’t appear in the vault list or anything?

Oh, I think I know what happens: In the past, all Cryptomator vaults needed to have the .cryptomator extension. Since you’ve done the first migration with the latest Cryptomator version, .cryptomator was removed from the folder name.

Let’s say your folder/vault is called Foo. Please rename it to Foo.cryptomator. After that, you should be able to use Cryptomator 0.10 with it.

1 Like

That’s done it! Thanks for the help!

2 Likes