cryptomator
cryptomator copied to clipboard
workaround for setup with noexec /tmp directory does not work anymore with 1.6.10
Please agree to the following
- [X] I have searched existing issues for duplicates
- [X] I agree to follow this project's Code of Conduct
Summary
java.lang.UnsatisfiedLinkError due to noexec /tmp directory
What software is involved?
- Operating System: ubuntu 20.04
- Cryptomator: 1.6.10
- …
Volume Type
FUSE
Steps to Reproduce
- start cryptomator appimage
- fails to start
Expected Behavior
- it should start
Actual Behavior
- it fails (see log output below)
While I need a tmp directory with exec privilege, this is not recommended by NCSC (see previous bug). I have now the same error as described here (https://github.com/cryptomator/cryptomator/issues/1694) <-- sorry that I file a new bug, but my comment didn't bump the issue to the top, and the old workaround is not working anymore.
I tried to find where I could set a custom temp directory in the new version, and found jdk.net.unixdomain.tmpdir=/tmpin./lib/runtime/conf/net.properties`
I set it to my custom exec directory, but when I then try to start cryptomator, I get:
./cryptomator-1.6.10/AppRun
/usr/bin/dpkg
Error: could not find libjava.so
Error: Could not find Java SE Runtime Environment.
./cryptomator-1.6.10/bin/Cryptomator
Error: could not find libjava.so
Error: Could not find Java SE Runtime Environment.
Is there a way that this can get fixed permanently, or a way that I can specify a custom tmpdir which has exec privileges?
Reproducibility
Always
Relevant Log Output
12:29:47.868 [JavaFX Application Thread] ERROR o.c.ui.fxapp.FxApplicationWindows - Failed to display stage
java.util.concurrent.CompletionException: java.util.ServiceConfigurationError: org.cryptomator.integrations.keychain.KeychainAccessProvider: Provider org.cryptomator.linux.keychain.KDEWalletKeychainAccess could not be instantiated
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(Unknown Source)
at [email protected]/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at [email protected]/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
at [email protected]/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at [email protected]/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at [email protected]/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:316)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.util.ServiceConfigurationError: org.cryptomator.integrations.keychain.KeychainAccessProvider: Provider org.cryptomator.linux.keychain.KDEWalletKeychainAccess could not be instantiated
at java.base/java.util.ServiceLoader.fail(Unknown Source)
at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(Unknown Source)
at java.base/java.util.ServiceLoader$ProviderImpl.get(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.base/java.util.ArrayList.forEach(Unknown Source)
at java.base/java.util.stream.SortedOps$RefSortingSink.end(Unknown Source)
at java.base/java.util.stream.Sink$ChainedReference.end(Unknown Source)
at java.base/java.util.stream.Sink$ChainedReference.end(Unknown Source)
at java.base/java.util.stream.Sink$ChainedReference.end(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 [email protected]/org.cryptomator.common.keychain.KeychainModule.provideSupportedKeychainAccessProviders(KeychainModule.java:19)
at [email protected]/org.cryptomator.common.keychain.KeychainModule_ProvideSupportedKeychainAccessProvidersFactory.provideSupportedKeychainAccessProviders(KeychainModule_ProvideSupportedKeychainAccessProvidersFactory.java:29)
at [email protected]/org.cryptomator.launcher.DaggerCryptomatorComponent$SwitchingProvider.get(DaggerCryptomatorComponent.java:7665)
at [email protected]/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at [email protected]/org.cryptomator.launcher.DaggerCryptomatorComponent$SwitchingProvider.get(DaggerCryptomatorComponent.java:7660)
at [email protected]/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at [email protected]/org.cryptomator.launcher.DaggerCryptomatorComponent$SwitchingProvider.get(DaggerCryptomatorComponent.java:7654)
at [email protected]/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at [email protected]/org.cryptomator.launcher.DaggerCryptomatorComponent$MainWindowComponentImpl$SwitchingProvider.get(DaggerCryptomatorComponent.java:5299)
at [email protected]/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at [email protected]/org.cryptomator.ui.common.FxmlLoaderFactory.constructController(FxmlLoaderFactory.java:78)
at [email protected]/javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:941)
at [email protected]/javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:981)
at [email protected]/javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:230)
at [email protected]/javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:755)
at [email protected]/javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2808)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2634)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
at [email protected]/javafx.fxml.FXMLLoader$IncludeElement.constructValue(FXMLLoader.java:1153)
at [email protected]/javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:757)
at [email protected]/javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2808)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2634)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
at [email protected]/javafx.fxml.FXMLLoader$IncludeElement.constructValue(FXMLLoader.java:1153)
at [email protected]/javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:757)
at [email protected]/javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2808)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2634)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
at [email protected]/javafx.fxml.FXMLLoader.load(FXMLLoader.java:2516)
at [email protected]/org.cryptomator.ui.common.FxmlLoaderFactory.load(FxmlLoaderFactory.java:46)
at [email protected]/org.cryptomator.ui.common.FxmlLoaderFactory.createScene(FxmlLoaderFactory.java:63)
at [email protected]/org.cryptomator.ui.common.FxmlLoaderFactory.createScene(FxmlLoaderFactory.java:51)
at [email protected]/org.cryptomator.ui.mainwindow.MainWindowModule.provideMainScene(MainWindowModule.java:79)
at [email protected]/org.cryptomator.ui.mainwindow.MainWindowModule_ProvideMainSceneFactory.provideMainScene(MainWindowModule_ProvideMainSceneFactory.java:38)
at [email protected]/org.cryptomator.launcher.DaggerCryptomatorComponent$MainWindowComponentImpl$SwitchingProvider.get(DaggerCryptomatorComponent.java:5235)
at [email protected]/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at [email protected]/org.cryptomator.ui.mainwindow.MainWindowComponent.showMainWindow(MainWindowComponent.java:28)
... 8 common frames omitted
Caused by: java.lang.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.Provider
at jnr.ffi.provider.InvalidRuntime.newLoadError(InvalidRuntime.java:102)
at jnr.ffi.provider.InvalidRuntime.findType(InvalidRuntime.java:43)
at jnr.ffi.Struct$NumberField.<init>(Struct.java:879)
at jnr.ffi.Struct$Unsigned16.<init>(Struct.java:1247)
at jnr.unixsocket.SockAddrUnix$DefaultSockAddrUnix.<init>(SockAddrUnix.java:209)
at jnr.unixsocket.SockAddrUnix.create(SockAddrUnix.java:174)
at jnr.unixsocket.UnixSocketAddress.<init>(UnixSocketAddress.java:53)
at org.freedesktop.dbus.connections.transports.UnixSocketTransport.<init>(UnixSocketTransport.java:31)
at org.freedesktop.dbus.connections.transports.TransportFactory.createTransport(TransportFactory.java:37)
at org.freedesktop.dbus.connections.AbstractConnection.<init>(AbstractConnection.java:149)
at org.freedesktop.dbus.connections.impl.DBusConnection.<init>(DBusConnection.java:322)
at org.freedesktop.dbus.connections.impl.DBusConnection.getConnection(DBusConnection.java:142)
at org.freedesktop.dbus.connections.impl.DBusConnection.getConnection(DBusConnection.java:195)
at org.freedesktop.dbus.connections.impl.DBusConnection.newConnection(DBusConnection.java:172)
at [email protected]/org.cryptomator.linux.keychain.KDEWalletKeychainAccess$ConnectedWallet.getNewConnection(KDEWalletKeychainAccess.java:92)
at [email protected]/org.cryptomator.linux.keychain.KDEWalletKeychainAccess$ConnectedWallet.connect(KDEWalletKeychainAccess.java:83)
at [email protected]/org.cryptomator.linux.keychain.KDEWalletKeychainAccess.<init>(KDEWalletKeychainAccess.java:30)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source)
at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
... 60 common frames omitted
Caused by: java.lang.UnsatisfiedLinkError: could not get native definition for type `POINTER`, original error message follows: java.io.IOException: Unable to write jffi binary stub to `/tmp`. Set `TMPDIR` or Java property `java.io.tmpdir` to a read/write path that is not mounted "noexec".
at com.kenai.jffi.internal.StubLoader.tempReadonlyError(StubLoader.java:541)
at com.kenai.jffi.internal.StubLoader.loadFromJar(StubLoader.java:442)
at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:326)
at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:614)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Unknown Source)
at com.kenai.jffi.Init.load(Init.java:68)
at com.kenai.jffi.Foreign$InstanceHolder.getInstanceHolder(Foreign.java:50)
at com.kenai.jffi.Foreign$InstanceHolder.<clinit>(Foreign.java:46)
at com.kenai.jffi.Foreign.getInstance(Foreign.java:104)
at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
at com.kenai.jffi.Type.resolveSize(Type.java:155)
at com.kenai.jffi.Type.size(Type.java:138)
at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:198)
at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:77)
at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:49)
at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:73)
at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:60)
at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source)
at java.base/java.lang.reflect.ReflectAccess.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(Unknown Source)
at java.base/java.lang.Class.newInstance(Unknown Source)
at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
at jnr.ffi.Runtime$SingletonHolder.<clinit>(Runtime.java:109)
at jnr.ffi.Runtime.getSystemRuntime(Runtime.java:70)
at jnr.unixsocket.SockAddrUnix.<init>(SockAddrUnix.java:46)
at jnr.unixsocket.SockAddrUnix$DefaultSockAddrUnix.<init>(SockAddrUnix.java:208)
at jnr.unixsocket.SockAddrUnix.create(SockAddrUnix.java:174)
at jnr.unixsocket.UnixSocketAddress.<init>(UnixSocketAddress.java:53)
at org.freedesktop.dbus.connections.transports.UnixSocketTransport.<init>(UnixSocketTransport.java:31)
at org.freedesktop.dbus.connections.transports.TransportFactory.createTransport(TransportFactory.java:37)
at org.freedesktop.dbus.connections.AbstractConnection.<init>(AbstractConnection.java:149)
at org.freedesktop.dbus.connections.impl.DBusConnection.<init>(DBusConnection.java:322)
at org.freedesktop.dbus.connections.impl.DBusConnection.getConnection(DBusConnection.java:142)
at org.freedesktop.dbus.connections.impl.DBusConnection.getConnection(DBusConnection.java:195)
at org.freedesktop.dbus.connections.impl.DBusConnection.newConnection(DBusConnection.java:172)
at [email protected]/org.cryptomator.linux.keychain.KDEWalletKeychainAccess$ConnectedWallet.getNewConnection(KDEWalletKeychainAccess.java:92)
at [email protected]/org.cryptomator.linux.keychain.KDEWalletKeychainAccess$ConnectedWallet.connect(KDEWalletKeychainAccess.java:83)
at [email protected]/org.cryptomator.linux.keychain.KDEWalletKeychainAccess.<init>(KDEWalletKeychainAccess.java:30)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source)
at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(Unknown Source)
at java.base/java.util.ServiceLoader$ProviderImpl.get(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.base/java.util.ArrayList.forEach(Unknown Source)
at java.base/java.util.stream.SortedOps$RefSortingSink.end(Unknown Source)
at java.base/java.util.stream.Sink$ChainedReference.end(Unknown Source)
at java.base/java.util.stream.Sink$ChainedReference.end(Unknown Source)
at java.base/java.util.stream.Sink$ChainedReference.end(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 [email protected]/org.cryptomator.common.keychain.KeychainModule.provideSupportedKeychainAccessProviders(KeychainModule.java:19)
at [email protected]/org.cryptomator.common.keychain.KeychainModule_ProvideSupportedKeychainAccessProvidersFactory.provideSupportedKeychainAccessProviders(KeychainModule_ProvideSupportedKeychainAccessProvidersFactory.java:29)
at [email protected]/org.cryptomator.launcher.DaggerCryptomatorComponent$SwitchingProvider.get(DaggerCryptomatorComponent.java:7665)
at [email protected]/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at [email protected]/org.cryptomator.launcher.DaggerCryptomatorComponent$SwitchingProvider.get(DaggerCryptomatorComponent.java:7660)
at [email protected]/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at [email protected]/org.cryptomator.launcher.DaggerCryptomatorComponent$SwitchingProvider.get(DaggerCryptomatorComponent.java:7654)
at [email protected]/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at [email protected]/org.cryptomator.launcher.DaggerCryptomatorComponent$MainWindowComponentImpl$SwitchingProvider.get(DaggerCryptomatorComponent.java:5299)
at [email protected]/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at [email protected]/org.cryptomator.ui.common.FxmlLoaderFactory.constructController(FxmlLoaderFactory.java:78)
at [email protected]/javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:941)
at [email protected]/javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:981)
at [email protected]/javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:230)
at [email protected]/javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:755)
at [email protected]/javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2808)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2634)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
at [email protected]/javafx.fxml.FXMLLoader$IncludeElement.constructValue(FXMLLoader.java:1153)
at [email protected]/javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:757)
at [email protected]/javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2808)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2634)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
at [email protected]/javafx.fxml.FXMLLoader$IncludeElement.constructValue(FXMLLoader.java:1153)
at [email protected]/javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:757)
at [email protected]/javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2808)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2634)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
at [email protected]/javafx.fxml.FXMLLoader.load(FXMLLoader.java:2516)
at [email protected]/org.cryptomator.ui.common.FxmlLoaderFactory.load(FxmlLoaderFactory.java:46)
at [email protected]/org.cryptomator.ui.common.FxmlLoaderFactory.createScene(FxmlLoaderFactory.java:63)
at [email protected]/org.cryptomator.ui.common.FxmlLoaderFactory.createScene(FxmlLoaderFactory.java:51)
at [email protected]/org.cryptomator.ui.mainwindow.MainWindowModule.provideMainScene(MainWindowModule.java:79)
at [email protected]/org.cryptomator.ui.mainwindow.MainWindowModule_ProvideMainSceneFactory.provideMainScene(MainWindowModule_ProvideMainSceneFactory.java:38)
at [email protected]/org.cryptomator.launcher.DaggerCryptomatorComponent$MainWindowComponentImpl$SwitchingProvider.get(DaggerCryptomatorComponent.java:5235)
at [email protected]/dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at [email protected]/org.cryptomator.ui.mainwindow.MainWindowComponent.showMainWindow(MainWindowComponent.java:28)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(Unknown Source)
at [email protected]/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at [email protected]/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
at [email protected]/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at [email protected]/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at [email protected]/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:316)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: Read-only file system
at java.base/java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.base/java.io.File.createTempFile(Unknown Source)
at com.kenai.jffi.internal.StubLoader.calculateExtractPath(StubLoader.java:532)
at com.kenai.jffi.internal.StubLoader.calculateExtractPath(StubLoader.java:501)
at com.kenai.jffi.internal.StubLoader.loadFromJar(StubLoader.java:433)
... 110 more
at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:253)
at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
at com.kenai.jffi.Type.resolveSize(Type.java:155)
at com.kenai.jffi.Type.size(Type.java:138)
at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:198)
at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:77)
at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:49)
at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:73)
at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:60)
at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source)
at java.base/java.lang.reflect.ReflectAccess.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(Unknown Source)
at java.base/java.lang.Class.newInstance(Unknown Source)
at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
at jnr.ffi.Runtime$SingletonHolder.<clinit>(Runtime.java:109)
at jnr.ffi.Runtime.getSystemRuntime(Runtime.java:70)
at jnr.unixsocket.SockAddrUnix.<init>(SockAddrUnix.java:46)
at jnr.unixsocket.SockAddrUnix$DefaultSockAddrUnix.<init>(SockAddrUnix.java:208)
... 77 common frames omitted
12:29:47.870 [JavaFX Application Thread] ERROR o.cryptomator.ui.fxapp.FxApplication - Failed to show main window
java.util.concurrent.CompletionException: java.util.ServiceConfigurationError: org.cryptomator.integrations.keychain.KeychainAccessProvider: Provider org.cryptomator.linux.keychain.KDEWalletKeychainAccess could not be instantiated
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(Unknown Source)
at [email protected]/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at [email protected]/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
at [email protected]/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at [email protected]/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at [email protected]/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:316)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.util.ServiceConfigurationError: org.cryptomator.integrations.keychain.KeychainAccessProvider: Provider org.cryptomator.linux.keychain.KDEWalletKeychainAccess could not be instantiated
Anything else?
No response
Hello,
thank you for the workaround for KDEwallet, but it didn't fix my problem. The java crash persisted.
What fixed my problem (using cryptomator 1.6.14, and kubuntu 22.04) with /tmp set to noexec was simply setting the java variable before starting the appimage:
(export _JAVA_OPTIONS=-Djava.io.tmpdir=/var/tmp-with-exec-permissions && ./cryptomator-1.6.14-x86_64.AppImage)
its actually easier than before (because I don't have to extract the appimage, etc). I hope I can also use future cryptomator versions with this workaround.
thanks for all the work!
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
In the meantime we have updated our DBus implementation, so we no longer require jnr.unixsocket.*. So this specific error should be obsolete.