Umount: illegal option

Hi,

I have some problem when ejecting my drive. I’m using Mac OS X 10.14.4 with the Cryptomator 1.4.10 (1374). It looks like it’s giving some strange command to umount. Here is part of the log from debug mode, bug is at the bottom.

By the way, my umount is the default one in /sbin/umount.

12:40:44.400 [Thread-142] TRACE o.c.frontend.fuse.ReadOnlyAdapter - getattr /david.txt (lastModifiedTime: 2018-12-13T18:57:40Z, lastAccessTime: 2019-05-24T10:40:44.284374Z, creationTime: 2018-12-13T18:57:40Z, isRegularFile: true, isDirectory: false, isSymbolicLink: false, isOther: false, size: 6845, fileKey: (dev=1000004,ino=8602499348))
12:40:44.400 [Thread-142] TRACE o.c.f.fuse.locks.DataRLockImpl - Released read data lock for '[, david.txt]'
12:40:44.400 [Thread-142] TRACE o.c.f.fuse.locks.PathRLockImpl - Released read path lock for '[, david.txt]'
12:40:44.400 [Thread-142] TRACE o.c.f.fuse.locks.PathRLockImpl - Released read path lock for '[]'
12:40:47.382 [JavaFX Application Thread] TRACE o.c.u.controllers.UnlockedController - Regular unmount failed.
org.cryptomator.ui.model.Volume$VolumeException: org.cryptomator.frontend.fuse.mount.CommandFailedException: Command failed with exit code 1. Expected 0. Stderr: umount: illegal option -- _
usage: umount [-fv] [-t fstypelist] special | node
       umount -a[fv] [-h host] [-t fstypelist]

        at org.cryptomator.ui.model.FuseVolume.unmount(FuseVolume.java:141)
        at org.cryptomator.ui.model.Vault.lock(Vault.java:130)
        at org.cryptomator.ui.controllers.UnlockedController.lambda$regularLockVault$1(UnlockedController.java:116)
        at org.cryptomator.ui.util.Tasks.lambda$create$0(Tasks.java:33)
        at org.cryptomator.ui.util.Tasks$TaskImpl.call(Tasks.java:139)
        at javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.cryptomator.frontend.fuse.mount.CommandFailedException: Command failed with exit code 1. Expected 0. Stderr: umount: illegal option -- _
usage: umount [-fv] [-t fstypelist] special | node
       umount -a[fv] [-h host] [-t fstypelist]

        at org.cryptomator.frontend.fuse.mount.ProcessUtil.assertExitValue(ProcessUtil.java:26)
        at org.cryptomator.frontend.fuse.mount.AbstractMount.unmount(AbstractMount.java:52)
        at org.cryptomator.ui.model.FuseVolume.unmount(FuseVolume.java:138)
        ... 11 common frames omitted

Thank you for your bug report! I was able to reproduce it and opened a new issue on GitHub:

I’ve also reported a workaround:

If you’re not using a custom mount point, re-add the vault so that a new vault ID is being generated. Otherwise, don’t use a mount point that begins with a hyphen.

Thanks! I confirm that the workaround works as well.

Fixed in Version 1.4.11