I upgraded to the latest version today (before: 1.5.14). Now Cryptomator is not starting anymore.
Before I already had issues with my vault (couldn’t open it). I thought the upgrade might fix it. On the iOS Version Cryptomator is running fine and I can open my vault. My vault is on OneDrive.
Is there any option to reset my Cryptomator settings and add the vault again?
Thanks for your help!
13:35:08.477 [main] INFO org.cryptomator.launcher.Cryptomator - Starting Cryptomator 1.6.10 on Mac OS X 12.2.1 (x86_64)
13:35:08.506 [main] INFO org.cryptomator.ipc.Server - Spawning IPC server listening on socket /Users/jonas/Library/Application Support/Cryptomator/ipc.socket
13:35:08.951 [JavaFX Application Thread] INFO org.cryptomator.launcher.Cryptomator - JavaFX runtime started after 740ms
13:35:09.051 [JavaFX Application Thread] WARN o.c.common.vaults.VaultListManager - Failed to determine vault state for /Users/jonas/OneDrive/Crypto
java.io.IOException: Unreadable JSON
at org.cryptomator.cryptolib@2.0.3/org.cryptomator.cryptolib.common.MasterkeyFile.read(MasterkeyFile.java:59)
at org.cryptomator.cryptolib@2.0.3/org.cryptomator.cryptolib.common.MasterkeyFileAccess.readAllegedVaultVersion(MasterkeyFileAccess.java:68)
at org.cryptomator.cryptofs@2.4.1/org.cryptomator.cryptofs.migration.Migrators.determineVaultVersion(Migrators.java:116)
at org.cryptomator.cryptofs@2.4.1/org.cryptomator.cryptofs.migration.Migrators.needsMigration(Migrators.java:79)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.determineVaultState(VaultListManager.java:143)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.create(VaultListManager.java:98)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.toArray(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.toArray(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.toList(Unknown Source)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.addAll(VaultListManager.java:83)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.<init>(VaultListManager.java:52)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.DaggerCryptomatorComponent$SwitchingProvider.get(DaggerCryptomatorComponent.java:7615)
at dagger@2.41/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.DaggerCryptomatorComponent$FxApplicationComponentImpl$SwitchingProvider.get(DaggerCryptomatorComponent.java:7078)
at dagger@2.41/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.DaggerCryptomatorComponent$FxApplicationComponentImpl$SwitchingProvider.get(DaggerCryptomatorComponent.java:7065)
at dagger@2.41/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.DaggerCryptomatorComponent$FxApplicationComponentImpl.application(DaggerCryptomatorComponent.java:7037)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.Cryptomator$MainApp.start(Cryptomator.java:138)
at javafx.graphics@18.0.1/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:847)
at javafx.graphics@18.0.1/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:484)
at javafx.graphics@18.0.1/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at javafx.graphics@18.0.1/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
at javafx.graphics@18.0.1/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
at com.google.gson@2.9.0/com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:225)
at com.google.gson@2.9.0/com.google.gson.Gson.fromJson(Gson.java:991)
at com.google.gson@2.9.0/com.google.gson.Gson.fromJson(Gson.java:929)
at org.cryptomator.cryptolib@2.0.3/org.cryptomator.cryptolib.common.MasterkeyFile.read(MasterkeyFile.java:52)
... 30 common frames omitted
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
at com.google.gson@2.9.0/com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
at com.google.gson@2.9.0/com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:214)
... 33 common frames omitted
13:35:09.096 [JavaFX Application Thread] INFO org.cryptomator.launcher.Cryptomator - JavaFX application stopped.
13:35:09.103 [main] ERROR org.cryptomator.launcher.Cryptomator - Terminating due to error
java.lang.RuntimeException: Exception in Application start method
at javafx.graphics@18.0.1/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:901)
at javafx.graphics@18.0.1/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:196)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalStateException: org.cryptomator.common.vaults.VaultConfigCache must be set
at dagger@2.41/dagger.internal.Preconditions.checkBuilderRequirement(Preconditions.java:123)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.DaggerCryptomatorComponent$VaultComponentBuilder.build(DaggerCryptomatorComponent.java:1480)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.create(VaultListManager.java:110)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.toArray(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.toArray(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.toList(Unknown Source)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.addAll(VaultListManager.java:83)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.<init>(VaultListManager.java:52)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.DaggerCryptomatorComponent$SwitchingProvider.get(DaggerCryptomatorComponent.java:7615)
at dagger@2.41/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.DaggerCryptomatorComponent$FxApplicationComponentImpl$SwitchingProvider.get(DaggerCryptomatorComponent.java:7078)
at dagger@2.41/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.DaggerCryptomatorComponent$FxApplicationComponentImpl$SwitchingProvider.get(DaggerCryptomatorComponent.java:7065)
at dagger@2.41/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.DaggerCryptomatorComponent$FxApplicationComponentImpl.application(DaggerCryptomatorComponent.java:7037)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.Cryptomator$MainApp.start(Cryptomator.java:138)
at javafx.graphics@18.0.1/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:847)
at javafx.graphics@18.0.1/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:484)
at javafx.graphics@18.0.1/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at javafx.graphics@18.0.1/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
at javafx.graphics@18.0.1/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
13:35:09.104 [main] INFO org.cryptomator.launcher.Cryptomator - Exit 1
Nope. If you cannot find it, it might not have been created at all.
When I see the timestamps on your masterkey file & backups, are you sure you migrated the vault at all? If so, did you migrated it on a different device?
Ohhh, i see. Sorry, i misread your problem description and assumed something. Then forget what i said about the vault.cryptomator. It will exist after your problem at hand is fixed and you migrated the vault to a newer version.
In your vault directory, you see the files ending with .bckup, right? Those are copies of older masterkey.cryptomator versions (e.g., everytime the password is changed, a backup is made). Make a copy of your current masterkey.cryptomator and then rename the most recent backup to masterkey.cryptomator and try to start your application.
Can it be related to the fact that I have auto-unlock enabled?
Is there any option to completely “reset” / clean install Cryptomator?
Logs:
17:17:17.699 [main] INFO org.cryptomator.launcher.Cryptomator - Starting Cryptomator 1.6.10 on Mac OS X 12.2.1 (x86_64)
17:17:17.737 [main] INFO org.cryptomator.ipc.Server - Spawning IPC server listening on socket /Users/jonas/Library/Application Support/Cryptomator/ipc.socket
17:17:18.431 [JavaFX Application Thread] INFO org.cryptomator.launcher.Cryptomator - JavaFX runtime started after 1114ms
17:17:19.941 [JavaFX Application Thread] WARN o.c.common.vaults.VaultListManager - Failed to determine vault state for /Users/jonas/OneDrive/Crypto
java.io.IOException: Unreadable JSON
at org.cryptomator.cryptolib@2.0.3/org.cryptomator.cryptolib.common.MasterkeyFile.read(MasterkeyFile.java:59)
at org.cryptomator.cryptolib@2.0.3/org.cryptomator.cryptolib.common.MasterkeyFileAccess.readAllegedVaultVersion(MasterkeyFileAccess.java:68)
at org.cryptomator.cryptofs@2.4.1/org.cryptomator.cryptofs.migration.Migrators.determineVaultVersion(Migrators.java:116)
at org.cryptomator.cryptofs@2.4.1/org.cryptomator.cryptofs.migration.Migrators.needsMigration(Migrators.java:79)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.determineVaultState(VaultListManager.java:143)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.create(VaultListManager.java:98)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.toArray(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.toArray(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.toList(Unknown Source)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.addAll(VaultListManager.java:83)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.<init>(VaultListManager.java:52)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.DaggerCryptomatorComponent$SwitchingProvider.get(DaggerCryptomatorComponent.java:7615)
at dagger@2.41/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.DaggerCryptomatorComponent$FxApplicationComponentImpl$SwitchingProvider.get(DaggerCryptomatorComponent.java:7078)
at dagger@2.41/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.DaggerCryptomatorComponent$FxApplicationComponentImpl$SwitchingProvider.get(DaggerCryptomatorComponent.java:7065)
at dagger@2.41/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.DaggerCryptomatorComponent$FxApplicationComponentImpl.application(DaggerCryptomatorComponent.java:7037)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.Cryptomator$MainApp.start(Cryptomator.java:138)
at javafx.graphics@18.0.1/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:847)
at javafx.graphics@18.0.1/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:484)
at javafx.graphics@18.0.1/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at javafx.graphics@18.0.1/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
at javafx.graphics@18.0.1/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
at com.google.gson@2.9.0/com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:225)
at com.google.gson@2.9.0/com.google.gson.Gson.fromJson(Gson.java:991)
at com.google.gson@2.9.0/com.google.gson.Gson.fromJson(Gson.java:929)
at org.cryptomator.cryptolib@2.0.3/org.cryptomator.cryptolib.common.MasterkeyFile.read(MasterkeyFile.java:52)
... 30 common frames omitted
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
at com.google.gson@2.9.0/com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
at com.google.gson@2.9.0/com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:214)
... 33 common frames omitted
17:17:19.942 [JavaFX Application Thread] INFO org.cryptomator.launcher.Cryptomator - JavaFX application stopped.
17:17:19.950 [main] ERROR org.cryptomator.launcher.Cryptomator - Terminating due to error
java.lang.RuntimeException: Exception in Application start method
at javafx.graphics@18.0.1/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:901)
at javafx.graphics@18.0.1/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:196)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalStateException: org.cryptomator.common.vaults.VaultConfigCache must be set
at dagger@2.41/dagger.internal.Preconditions.checkBuilderRequirement(Preconditions.java:123)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.DaggerCryptomatorComponent$VaultComponentBuilder.build(DaggerCryptomatorComponent.java:1480)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.create(VaultListManager.java:110)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.toArray(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.toArray(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.toList(Unknown Source)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.addAll(VaultListManager.java:83)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.<init>(VaultListManager.java:52)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.DaggerCryptomatorComponent$SwitchingProvider.get(DaggerCryptomatorComponent.java:7615)
at dagger@2.41/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.DaggerCryptomatorComponent$FxApplicationComponentImpl$SwitchingProvider.get(DaggerCryptomatorComponent.java:7078)
at dagger@2.41/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.DaggerCryptomatorComponent$FxApplicationComponentImpl$SwitchingProvider.get(DaggerCryptomatorComponent.java:7065)
at dagger@2.41/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.DaggerCryptomatorComponent$FxApplicationComponentImpl.application(DaggerCryptomatorComponent.java:7037)
at org.cryptomator.desktop@1.6.10/org.cryptomator.launcher.Cryptomator$MainApp.start(Cryptomator.java:138)
at javafx.graphics@18.0.1/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:847)
at javafx.graphics@18.0.1/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:484)
at javafx.graphics@18.0.1/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at javafx.graphics@18.0.1/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
at javafx.graphics@18.0.1/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
17:17:19.952 [main] INFO org.cryptomator.launcher.Cryptomator - Exit 1
Did you tried my suggestion of replacing the masterkey.cryptomator file?
No.
You can delete the file ~/Library/Application Support/Cryptomator/settings.json. All your settings will be lost, but the application will start again. But once you’ll add the faulty vault again as the first vault in the list, you will run into the same problem again. I opened a ticket on our issue tracker and it will be fixed with the next Cryptomator update.
09:15:16.616 [main] INFO org.cryptomator.launcher.Cryptomator - Starting Cryptomator 1.6.10 on Mac OS X 12.2.1 (x86_64)
09:15:16.643 [main] INFO org.cryptomator.ipc.Server - Spawning IPC server listening on socket /Users/jonas/Library/Application Support/Cryptomator/ipc.socket
09:15:17.152 [JavaFX Application Thread] INFO org.cryptomator.launcher.Cryptomator - JavaFX runtime started after 848ms
09:15:19.855 [App Scheduled Executor 01] INFO o.c.common.settings.SettingsProvider - Settings saved to /Users/jonas/Library/Application Support/Cryptomator/settings.json
09:15:34.729 [JavaFX Application Thread] WARN o.c.common.vaults.VaultListManager - Failed to determine vault state for /Users/jonas/Desktop/Crypto 2
java.io.IOException: Unreadable JSON
at org.cryptomator.cryptolib@2.0.3/org.cryptomator.cryptolib.common.MasterkeyFile.read(MasterkeyFile.java:59)
at org.cryptomator.cryptolib@2.0.3/org.cryptomator.cryptolib.common.MasterkeyFileAccess.readAllegedVaultVersion(MasterkeyFileAccess.java:68)
at org.cryptomator.cryptofs@2.4.1/org.cryptomator.cryptofs.migration.Migrators.determineVaultVersion(Migrators.java:116)
at org.cryptomator.cryptofs@2.4.1/org.cryptomator.cryptofs.migration.Migrators.needsMigration(Migrators.java:79)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.determineVaultState(VaultListManager.java:143)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.create(VaultListManager.java:98)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.lambda$add$0(VaultListManager.java:65)
at java.base/java.util.Optional.orElseGet(Unknown Source)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.add(VaultListManager.java:64)
at org.cryptomator.desktop@1.6.10/org.cryptomator.ui.addvaultwizard.ChooseExistingVaultController.chooseFileAndNext(ChooseExistingVaultController.java:81)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.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.javafx.reflect.Trampoline.invoke(MethodUtil.java:77)
at jdk.internal.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at javafx.base@18.0.1/com.sun.javafx.reflect.MethodUtil.invoke(MethodUtil.java:275)
at javafx.fxml@18.0.1/com.sun.javafx.fxml.MethodHelper.invoke(MethodHelper.java:84)
at javafx.fxml@18.0.1/javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1854)
at javafx.fxml@18.0.1/javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1724)
at javafx.base@18.0.1/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at javafx.base@18.0.1/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234)
at javafx.base@18.0.1/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at javafx.base@18.0.1/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at javafx.base@18.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at javafx.base@18.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@18.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@18.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@18.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@18.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@18.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@18.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@18.0.1/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at javafx.base@18.0.1/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.base@18.0.1/javafx.event.Event.fireEvent(Event.java:198)
at javafx.graphics@18.0.1/javafx.scene.Node.fireEvent(Node.java:8797)
at javafx.controls@18.0.1/javafx.scene.control.Button.fire(Button.java:203)
at javafx.controls@18.0.1/com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:208)
at javafx.controls@18.0.1/com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274)
at javafx.base@18.0.1/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:247)
at javafx.base@18.0.1/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at javafx.base@18.0.1/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234)
at javafx.base@18.0.1/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at javafx.base@18.0.1/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at javafx.base@18.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at javafx.base@18.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@18.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@18.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@18.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@18.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@18.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@18.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@18.0.1/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at javafx.base@18.0.1/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.base@18.0.1/javafx.event.Event.fireEvent(Event.java:198)
at javafx.graphics@18.0.1/javafx.scene.Scene$MouseHandler.process(Scene.java:3881)
at javafx.graphics@18.0.1/javafx.scene.Scene.processMouseEvent(Scene.java:1874)
at javafx.graphics@18.0.1/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2607)
at javafx.graphics@18.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411)
at javafx.graphics@18.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at javafx.graphics@18.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450)
at javafx.graphics@18.0.1/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
at javafx.graphics@18.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449)
at javafx.graphics@18.0.1/com.sun.glass.ui.View.handleMouseEvent(View.java:551)
at javafx.graphics@18.0.1/com.sun.glass.ui.View.notifyMouse(View.java:937)
at javafx.graphics@18.0.1/com.sun.glass.ui.mac.MacView.notifyMouse(MacView.java:127)
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
at com.google.gson@2.9.0/com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:225)
at com.google.gson@2.9.0/com.google.gson.Gson.fromJson(Gson.java:991)
at com.google.gson@2.9.0/com.google.gson.Gson.fromJson(Gson.java:929)
at org.cryptomator.cryptolib@2.0.3/org.cryptomator.cryptolib.common.MasterkeyFile.read(MasterkeyFile.java:52)
... 68 common frames omitted
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
at com.google.gson@2.9.0/com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
at com.google.gson@2.9.0/com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:214)
... 71 common frames omitted
09:15:54.948 [JavaFX Application Thread] WARN o.c.common.vaults.VaultListManager - Failed to determine vault state for /Users/jonas/Desktop/Crypto 2
java.io.IOException: Unreadable JSON
at org.cryptomator.cryptolib@2.0.3/org.cryptomator.cryptolib.common.MasterkeyFile.read(MasterkeyFile.java:59)
at org.cryptomator.cryptolib@2.0.3/org.cryptomator.cryptolib.common.MasterkeyFileAccess.readAllegedVaultVersion(MasterkeyFileAccess.java:68)
at org.cryptomator.cryptofs@2.4.1/org.cryptomator.cryptofs.migration.Migrators.determineVaultVersion(Migrators.java:116)
at org.cryptomator.cryptofs@2.4.1/org.cryptomator.cryptofs.migration.Migrators.needsMigration(Migrators.java:79)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.determineVaultState(VaultListManager.java:143)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.create(VaultListManager.java:98)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.lambda$add$0(VaultListManager.java:65)
at java.base/java.util.Optional.orElseGet(Unknown Source)
at org.cryptomator.desktop@1.6.10/org.cryptomator.common.vaults.VaultListManager.add(VaultListManager.java:64)
at org.cryptomator.desktop@1.6.10/org.cryptomator.ui.addvaultwizard.ChooseExistingVaultController.chooseFileAndNext(ChooseExistingVaultController.java:81)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.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.javafx.reflect.Trampoline.invoke(MethodUtil.java:77)
at jdk.internal.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at javafx.base@18.0.1/com.sun.javafx.reflect.MethodUtil.invoke(MethodUtil.java:275)
at javafx.fxml@18.0.1/com.sun.javafx.fxml.MethodHelper.invoke(MethodHelper.java:84)
at javafx.fxml@18.0.1/javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1854)
at javafx.fxml@18.0.1/javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1724)
at javafx.base@18.0.1/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at javafx.base@18.0.1/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234)
at javafx.base@18.0.1/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at javafx.base@18.0.1/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at javafx.base@18.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at javafx.base@18.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@18.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@18.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@18.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@18.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@18.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@18.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@18.0.1/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at javafx.base@18.0.1/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.base@18.0.1/javafx.event.Event.fireEvent(Event.java:198)
at javafx.graphics@18.0.1/javafx.scene.Node.fireEvent(Node.java:8797)
at javafx.controls@18.0.1/javafx.scene.control.Button.fire(Button.java:203)
at javafx.controls@18.0.1/com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:208)
at javafx.controls@18.0.1/com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274)
at javafx.base@18.0.1/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:247)
at javafx.base@18.0.1/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at javafx.base@18.0.1/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234)
at javafx.base@18.0.1/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at javafx.base@18.0.1/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at javafx.base@18.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at javafx.base@18.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@18.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@18.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@18.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@18.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@18.0.1/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@18.0.1/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@18.0.1/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at javafx.base@18.0.1/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.base@18.0.1/javafx.event.Event.fireEvent(Event.java:198)
at javafx.graphics@18.0.1/javafx.scene.Scene$MouseHandler.process(Scene.java:3881)
at javafx.graphics@18.0.1/javafx.scene.Scene.processMouseEvent(Scene.java:1874)
at javafx.graphics@18.0.1/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2607)
at javafx.graphics@18.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411)
at javafx.graphics@18.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at javafx.graphics@18.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450)
at javafx.graphics@18.0.1/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
at javafx.graphics@18.0.1/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449)
at javafx.graphics@18.0.1/com.sun.glass.ui.View.handleMouseEvent(View.java:551)
at javafx.graphics@18.0.1/com.sun.glass.ui.View.notifyMouse(View.java:937)
at javafx.graphics@18.0.1/com.sun.glass.ui.mac.MacView.notifyMouse(MacView.java:127)
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
at com.google.gson@2.9.0/com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:225)
at com.google.gson@2.9.0/com.google.gson.Gson.fromJson(Gson.java:991)
at com.google.gson@2.9.0/com.google.gson.Gson.fromJson(Gson.java:929)
at org.cryptomator.cryptolib@2.0.3/org.cryptomator.cryptolib.common.MasterkeyFile.read(MasterkeyFile.java:52)
... 68 common frames omitted
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
at com.google.gson@2.9.0/com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
at com.google.gson@2.9.0/com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:214)
... 71 common frames omitted
Well, not exactly the same problem as before, but you cannot say i did not warned you
But i guess also there we need to adjust the software.
In your case, you can also try older backups of the masterkey. Just be aware that you might need different (aka older) password to unlock it then. Before you do this procedure, maybe copy all masterkey backups to a different place so you can restore the orignal state of the vault dir.
@tobihagemann Since the iOS Apps can work with the vault, do you have an idea whats went wrong here?
I mean, the error says Unreadable JSON. Would be interesting to know if you could just “fix” the JSON file. Does masterkey.cryptomator resemble anything like this if you open it with a simple text editor (like TextEdit)?
@tobihagemann thanks for the advice. Apparently three of my masterkey files were broken (just empty). Luckily two of the old backups contained a readable JSON and I could open the vault and also migrate it to the new format → now I have an additional vault.cryptomator file.