purejava/keepassxc-cryptomator

Plugin install makes Cryptomator unresponsive

Closed this issue · 14 comments

Please agree to the following

Summary

Cryptomator becomes unresponsive at launch after plugin install

What software is involved?

  • Operating System: Windows 10 21H2
  • Cryptomator: 1.6.8 (same behavior on 1.6.5)
  • KeePassXC: 2.7.0
  • keepassxc-cryptomator-1.1.0.jar

Steps to Reproduce

Cryptomator was already used before plugin installation (8 vaults total, 3 with auto-unlock)

  • Place plugin in %homepath%\AppData\Roaming\Cryptomator\Plugins
  • Launch Cryptomator

Expected Behavior

  • Cryptomator pops in the tray bar
  • Cryptomator auto-unlocks the usual 3 vaults
  • I can select KeePassXC in the settings

Actual Behavior

  • Cryptomator pops in the tray bar
  • Cryptomator does not auto-unlock anything
  • I can right-click on the tray bar icon and see all my vaults, but no click works (neither show, preferences quit, or unlock a vault)
  • Only way to quit is to kill the process in the task manager

Reproducibility

Always

Relevant Log Output

19:44:44.241 [main] INFO  org.cryptomator.launcher.Cryptomator - Starting Cryptomator 1.6.8 on Windows 10 10.0 (amd64)
19:44:44.244 [main] DEBUG org.cryptomator.logging.DebugMode - Debug mode enabled
19:44:44.306 [main] INFO  org.cryptomator.ipc.Server - Spawning IPC server listening on socket C:\Users\<USER>\AppData\Roaming\Cryptomator\ipc.socket
19:44:44.375 [main] DEBUG o.c.launcher.IpcMessageHandler - Received launch args: 
19:44:44.377 [main] DEBUG org.cryptomator.launcher.Cryptomator - Did not find running application instance. Launching GUI...
19:44:44.572 [main] DEBUG org.cryptomator.common.CommonsModule - Starting App Scheduled Executor 01
19:44:44.578 [App Scheduled Executor 01] DEBUG org.cryptomator.common.CommonsModule - Starting App Scheduled Executor 02
19:44:44.890 [main] DEBUG o.c.ui.traymenu.TrayIconController - initialized tray icon
19:44:44.896 [main] DEBUG o.cryptomator.ui.launcher.UiLauncher - Hiding application...
19:44:44.898 [main] DEBUG org.cryptomator.common.CommonsModule - Starting App Background Thread 001
19:44:51.604 [AWT-EventQueue-0] DEBUG org.cryptomator.common.CommonsModule - Starting App Background Thread 002
19:44:51.605 [App Background Thread 002] DEBUG o.c.ui.launcher.FxApplicationStarter - Starting JavaFX runtime...
19:44:51.895 [JavaFX Application Thread] INFO  o.c.ui.launcher.FxApplicationStarter - JavaFX Runtime started.
19:44:51.989 [JavaFX Application Thread] TRACE o.cryptomator.ui.fxapp.FxApplication - FxApplication.start()
19:44:52.598 [JavaFX Application Thread] DEBUG org.cryptomator.ui.common.FontLoader - Loaded family: Font Awesome 5 Free Solid
19:44:52.619 [JavaFX Application Thread] TRACE o.c.u.m.MainWindowTitleController - init MainWindowTitleController

Anything else?

I will try on another clean (= with no pre-existing vaults) setup asap

Thanks for your report.

Duplicate of purejava/keepassxc-proxy-access#6.

Sorry, I did not check the lib issues, but I don't think the issue is the same: I did try to disable automount, and the behavior is the same

Tried to remove all the vaults, same behavior.

With plugin, launch, right-click on tray icon, click on "Preferences"

20:24:20.277 [main] INFO org.cryptomator.launcher.Cryptomator - Starting Cryptomator 1.6.8 on Windows 10 10.0 (amd64)
20:24:20.281 [main] DEBUG org.cryptomator.logging.DebugMode - Debug mode enabled
20:24:20.336 [main] INFO org.cryptomator.ipc.Server - Spawning IPC server listening on socket C:\Users\USERNAME\AppData\Roaming\Cryptomator\ipc.socket
20:24:20.411 [main] DEBUG o.c.launcher.IpcMessageHandler - Received launch args:
20:24:20.412 [main] DEBUG org.cryptomator.launcher.Cryptomator - Did not find running application instance. Launching GUI...
20:24:20.430 [main] DEBUG org.cryptomator.common.CommonsModule - Starting App Scheduled Executor 01
20:24:20.436 [App Scheduled Executor 01] DEBUG org.cryptomator.common.CommonsModule - Starting App Scheduled Executor 02
20:24:20.736 [main] DEBUG o.c.ui.traymenu.TrayIconController - initialized tray icon
20:24:20.743 [main] DEBUG o.cryptomator.ui.launcher.UiLauncher - Hiding application...
20:24:20.747 [main] DEBUG org.cryptomator.common.CommonsModule - Starting App Background Thread 001
20:24:32.452 [AWT-EventQueue-0] DEBUG org.cryptomator.common.CommonsModule - Starting App Background Thread 002
20:24:32.453 [App Background Thread 002] DEBUG o.c.ui.launcher.FxApplicationStarter - Starting JavaFX runtime...
20:24:32.750 [JavaFX Application Thread] INFO o.c.ui.launcher.FxApplicationStarter - JavaFX Runtime started.
20:24:33.002 [JavaFX Application Thread] TRACE o.cryptomator.ui.fxapp.FxApplication - FxApplication.start()
20:24:33.538 [JavaFX Application Thread] DEBUG org.cryptomator.ui.common.FontLoader - Loaded family: Font Awesome 5 Free Solid

Without plugin, launch, right-click on tray icon, click on "Preferences"

20:25:12.855 [main] INFO org.cryptomator.launcher.Cryptomator - Starting Cryptomator 1.6.8 on Windows 10 10.0 (amd64)
20:25:12.858 [main] DEBUG org.cryptomator.logging.DebugMode - Debug mode enabled
20:25:12.930 [main] INFO org.cryptomator.ipc.Server - Spawning IPC server listening on socket C:\Users\USERNAME\AppData\Roaming\Cryptomator\ipc.socket
20:25:13.002 [main] DEBUG o.c.launcher.IpcMessageHandler - Received launch args:
20:25:13.003 [main] DEBUG org.cryptomator.launcher.Cryptomator - Did not find running application instance. Launching GUI...
20:25:13.017 [main] DEBUG org.cryptomator.common.CommonsModule - Starting App Scheduled Executor 01
20:25:13.021 [App Scheduled Executor 01] DEBUG org.cryptomator.common.CommonsModule - Starting App Scheduled Executor 02
20:25:13.304 [main] DEBUG o.c.ui.traymenu.TrayIconController - initialized tray icon
20:25:13.309 [main] DEBUG o.cryptomator.ui.launcher.UiLauncher - Hiding application...
20:25:13.311 [main] DEBUG org.cryptomator.common.CommonsModule - Starting App Background Thread 001
20:25:17.951 [AWT-EventQueue-0] DEBUG org.cryptomator.common.CommonsModule - Starting App Background Thread 002
20:25:17.953 [App Background Thread 002] DEBUG o.c.ui.launcher.FxApplicationStarter - Starting JavaFX runtime...
20:25:18.252 [JavaFX Application Thread] INFO o.c.ui.launcher.FxApplicationStarter - JavaFX Runtime started.
20:25:18.485 [JavaFX Application Thread] TRACE o.cryptomator.ui.fxapp.FxApplication - FxApplication.start()
20:25:19.060 [JavaFX Application Thread] DEBUG org.cryptomator.ui.common.FontLoader - Loaded family: Font Awesome 5 Free Solid
20:25:19.214 [JavaFX Application Thread] TRACE o.c.f.fuse.mount.WindowsMounter - Found WinFsp installation at PROGRAMFILESPATH\WinFsp\bin\winfsp-x64.dll
20:25:19.371 [JavaFX Application Thread] DEBUG o.cryptomator.ui.fxapp.FxApplication - has visible stages: true
20:25:19.832 [JavaFX Application Thread] DEBUG o.cryptomator.ui.fxapp.FxApplication - Showing Preferences
20:25:20.140 [App Scheduled Executor 01] DEBUG o.c.common.settings.SettingsProvider - Attempting to save settings to C:\Users\USERNAME\AppData\Roaming\Cryptomator\settings.json
20:25:20.155 [App Scheduled Executor 01] INFO o.c.common.settings.SettingsProvider - Settings saved to C:\Users\USERNAME\AppData\Roaming\Cryptomator\settings.json

Thanks for the additional descriptions and logs.
I'am still convinced that this is the same issue, although the logs differ. This plugin does have problems with requests for multiple vaults sent at the same time as these block each other. That's why the Cryptomator UI doesn't show up and the tray icon menu isn't working properly.

Wouldn't the plugin have worked and the UI become responsive once I deleted all my vaults, though ?

Wouldn't the plugin have worked and the UI become responsive once I deleted all my vaults, though ?

No, deleting vaults does not make any difference. A workaround is to start Cryptomator without a running KeePassXC and then switch off automounting for each vault. Without automounting, the plugin should work fine.

Thank you for your patience and explanations.

I did try to exit KeePassXC, and you are right: Cryptomator (with Plugin) launched without issue (and auto-mounted the vaults).

Noteworthy: the "Store passwords with" does not mention KeePassXC, only Windows Data Protection, as if the plugin was not loaded (or maybe this behavior is expected as KeePassXC is not running?).

I disabled automount on all vaults, launched everything again, and the UI still becomes unresponsive.

Just in case, I tried removing one of my vaults in KeePassXC (I usually have 2 open vaults), no improvement.

I did open an issue at Cryptomator to add more logs so as to understand better if the plugin is loaded, and when it becomes unresponsive (cryptomator/integrations-api#9).

Is there any other test you could think of that would be relevant?

One thing I do not understand is: why would deleting Cryptomator vaults from the app (not the filesystem) not make any difference? No vaults in the app means no attempts to automount, right? So, as I understand it, the issue should not occur.

In the meantime, I'll try to test this on a clean VM just to see.

Thank you for your patience and explanations.

I did try to exit KeePassXC, and you are right: Cryptomator (with Plugin) launched without issue (and auto-mounted the vaults).

In this case the passwords for your vaults are stored in the Windows Data Protection too, otherwise Cryptomator wouldn't have been able to load them.

Noteworthy: the "Store passwords with" does not mention KeePassXC, only Windows Data Protection, as if the plugin was not loaded (or maybe this behavior is expected as KeePassXC is not running?).

Yes. Cryptomator checks on startup, what backends are available. KeePassXC needs to be running when Cryptomator starts.

I disabled automount on all vaults, launched everything again, and the UI still becomes unresponsive.

With what password backend this time?

Is there any other test you could think of that would be relevant?

Log files do always help to understand what is going on. So on further tests, plaese provide them.

One thing I do not understand is: why would deleting Cryptomator vaults from the app (not the filesystem) not make any difference? No vaults in the app means no attempts to automount, right? So, as I understand it, the issue should not occur.

Disabling automount is good enough as a workaround as the issue is related to automount.

Thank you for your patience and explanations.
I did try to exit KeePassXC, and you are right: Cryptomator (with Plugin) launched without issue (and auto-mounted the vaults).

In this case the passwords for your vaults are stored in the Windows Data Protection too, otherwise Cryptomator wouldn't have been able to load them.

That makes sense, I have been using Cryptomator for a while now, and WDP was the only available storage so that's what I've been using all this time (and still am).

I disabled automount on all vaults, launched everything again, and the UI still becomes unresponsive.

With what password backend this time?

I had no opportunity to change the backend, so it still must have been WDP, I could not launch the UI to check.

One thing I do not understand is: why would deleting Cryptomator vaults from the app (not the filesystem) not make any difference? No vaults in the app means no attempts to automount, right? So, as I understand it, the issue should not occur.

Disabling automount is good enough as a workaround as the issue is related to automount.

But in my case that does not work, wouldn't that indicate that the issue is another one?

I had no opportunity to change the backend, so it still must have been WDP, I could not launch the UI to check.

In this case this is not a bug with the plugin as the plugin is not used.

One thing I do not understand is: why would deleting Cryptomator vaults from the app (not the filesystem) not make any difference? No vaults in the app means no attempts to automount, right? So, as I understand it, the issue should not occur.

Disabling automount is good enough as a workaround as the issue is related to automount.

But in my case that does not work, wouldn't that indicate that the issue is another one?

It does not make sense to guess here. Please provide logs that help to understand what is going on.

Could you please re-test with keepassxc-cryptomator 1.1.1?

It should fix this issue.

Please note: in order to use the plugin with vaults intended to be opened with automount, KeePassXC must be associated with Cryptomator before enabling automount for a vault.

I did disable all automounts, installed the 1.1.1 plugin, and I do have the same behavior as before.

My issue on Cryptomator lib was done, I am waiting for the next update which will make the logs more verbose about plugin loading, and I'll post said logs then. I hope that'll help understand when exactly the Cryptomator UI becomes unresponsive.

You were right in the end and I was wrong. Besides the automount related issue there was a second issue that kept Cryptomator from launching.

This is fixed with keepassxc-cryptomator 1.1.2 that was released a couple of hours ago and should make the plugin work for you too.

It works great now, thank you so much for fixing the bug and for writing this plugin! :)