Hi there, I tried installing the binding some weeks ago and did not really get anything to work but saw that there’s a lot of fixing going on, and now, with the new update, I tried to get lucky again. Well, not …so… successful. Therefore I thought I’d ask for support.
I am running openHABian 4.0.4 on a RPI 4. So far for the environment.
With plainly installing the binding, I got all the stuff with the SO file when I saved the config for the first time:
java.sql.SQLException: Error opening connection
at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:283) ~[?:?]
at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:67) ~[?:?]
at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:28) ~[?:?]
at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:19) ~[?:?]
at org.sqlite.JDBC.createConnection(JDBC.java:104) ~[?:?]
at org.sqlite.SQLiteDataSource.getConnection(SQLiteDataSource.java:464) ~[?:?]
at org.sqlite.SQLiteDataSource.getConnection(SQLiteDataSource.java:456) ~[?:?]
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) ~[?:?]
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) ~[?:?]
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) ~[?:?]
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) ~[?:?]
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:100) ~[?:?]
at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:81) ~[?:?]
at org.asamk.signal.manager.storage.Database.getHikariDataSource(Database.java:104) ~[?:?]
at org.asamk.signal.manager.storage.Database.initDatabase(Database.java:33) ~[?:?]
at org.asamk.signal.manager.storage.AccountDatabase.init(AccountDatabase.java:42) ~[?:?]
at org.asamk.signal.manager.storage.SignalAccount.lambda$28(SignalAccount.java:1215) ~[?:?]
at org.asamk.signal.manager.storage.SignalAccount.getOrCreate(SignalAccount.java:1641) ~[?:?]
at org.asamk.signal.manager.storage.SignalAccount.getAccountDatabase(SignalAccount.java:1213) ~[?:?]
at org.asamk.signal.manager.storage.SignalAccount.lambda$22(SignalAccount.java:1199) ~[?:?]
at org.asamk.signal.manager.storage.SignalAccount.getOrCreate(SignalAccount.java:1641) ~[?:?]
at org.asamk.signal.manager.storage.SignalAccount.getKeyValueStore(SignalAccount.java:1199) ~[?:?]
at org.asamk.signal.manager.storage.SignalAccount.getSessionId(SignalAccount.java:1369) ~[?:?]
at org.asamk.signal.manager.internal.RegistrationManagerImpl.register(RegistrationManagerImpl.java:117) ~[?:?]
at org.openhab.binding.signal.internal.protocol.SignalService.registerMain(SignalService.java:241) ~[?:?]
at org.openhab.binding.signal.internal.protocol.SignalService.start(SignalService.java:152) ~[?:?]
at org.openhab.binding.signal.internal.handler.SignalBridgeHandler.checkAndStartServiceIfNeeded(SignalBridgeHandler.java:161) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.Exception: No native library found for os.name=Linux, os.arch=aarch64, paths=[/org/sqlite/native/Linux/aarch64:/var/lib/openhab/tmp/lib]
at org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:363) ~[?:?]
at org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:72) ~[?:?]
at org.sqlite.core.NativeDB.load(NativeDB.java:67) ~[?:?]
at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:280) ~[?:?]
... 32 more
Then, I went into var/lib/openhab/tmp
to create a lib
directory (which I actually did).
One thing I noted there was that the binding installed two files there:
sqlite-3.42.0.0-53b6db8e-b4e8-43af-ac54-87b28dd978e2-libsqlitejdbc.so
sqlite-3.42.0.0-53b6db8e-b4e8-43af-ac54-87b28dd978e2-libsqlitejdbc.so.lck
…just to mention that. I did not mess around anything with these (but they remain there even when you uninstall the binding!!)
As described in the workaround, I put the libsqlitejdbc.so
from the jar file from /native/Linux/armv7
there, set folder group and owner to openhab
, same with the library, and added more or less all permissions just to be sure.
Well, then I got a new kind of error:
java.lang.NoClassDefFoundError: org/bouncycastle/jcajce/provider/asymmetric/rsa/RSAUtil
at org.bouncycastle.jcajce.provider.asymmetric.rsa.KeyFactorySpi.generatePublic(Unknown Source) ~[?:?]
at org.bouncycastle.jce.provider.BouncyCastleProvider.getPublicKey(BouncyCastleProvider.java:347) ~[?:?]
at org.bouncycastle.jcajce.provider.asymmetric.x509.X509CertificateImpl.getPublicKey(Unknown Source) ~[?:?]
at org.bouncycastle.jcajce.provider.asymmetric.x509.X509CertificateObject.getPublicKey(Unknown Source) ~[?:?]
at sun.security.validator.PKIXValidator.setTrustedSubjects(PKIXValidator.java:153) ~[?:?]
at sun.security.validator.PKIXValidator.<init>(PKIXValidator.java:109) ~[?:?]
at sun.security.validator.Validator.getInstance(Validator.java:181) ~[?:?]
at sun.security.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.java:309) ~[?:?]
at sun.security.ssl.X509TrustManagerImpl.checkTrustedInit(X509TrustManagerImpl.java:183) ~[?:?]
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:198) ~[?:?]
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:113) ~[?:?]
at org.whispersystems.signalservice.internal.util.BlacklistingTrustManager.checkServerTrusted(BlacklistingTrustManager.java:86) ~[?:?]
at sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(SSLContextImpl.java:1441) ~[?:?]
at sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:638) ~[?:?]
at sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:473) ~[?:?]
at sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369) ~[?:?]
at sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396) ~[?:?]
at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:480) ~[?:?]
at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:458) ~[?:?]
at sun.security.ssl.TransportContext.dispatch(TransportContext.java:201) ~[?:?]
at sun.security.ssl.SSLTransport.decode(SSLTransport.java:172) ~[?:?]
at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1510) ~[?:?]
at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1425) ~[?:?]
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) ~[?:?]
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) ~[?:?]
at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379) ~[?:?]
at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337) ~[?:?]
at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209) ~[?:?]
at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226) ~[?:?]
at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106) ~[?:?]
at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74) ~[?:?]
at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255) ~[?:?]
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) ~[?:?]
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) ~[?:?]
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) ~[?:?]
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) ~[?:?]
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83) ~[?:?]
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) ~[?:?]
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76) ~[?:?]
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) ~[?:?]
at org.asamk.signal.manager.config.ServiceConfig.lambda$0(ServiceConfig.java:36) ~[?:?]
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) ~[?:?]
at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) ~[?:?]
at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) ~[?:?]
at org.whispersystems.signalservice.internal.push.PushServiceSocket.getServiceConnection(PushServiceSocket.java:2072) ~[?:?]
at org.whispersystems.signalservice.internal.push.PushServiceSocket.makeServiceRequest(PushServiceSocket.java:1991) ~[?:?]
at org.whispersystems.signalservice.internal.push.PushServiceSocket.createVerificationSession(PushServiceSocket.java:349) ~[?:?]
at org.whispersystems.signalservice.api.SignalServiceAccountManager.createRegistrationSession(SignalServiceAccountManager.java:229) ~[?:?]
at org.asamk.signal.manager.util.NumberVerificationUtils.requestValidSession(NumberVerificationUtils.java:151) ~[?:?]
at org.asamk.signal.manager.util.NumberVerificationUtils.getValidSession(NumberVerificationUtils.java:161) ~[?:?]
at org.asamk.signal.manager.util.NumberVerificationUtils.handleVerificationSession(NumberVerificationUtils.java:40) ~[?:?]
at org.asamk.signal.manager.internal.RegistrationManagerImpl.register(RegistrationManagerImpl.java:116) ~[?:?]
at org.openhab.binding.signal.internal.protocol.SignalService.registerMain(SignalService.java:241) ~[?:?]
at org.openhab.binding.signal.internal.protocol.SignalService.start(SignalService.java:152) ~[?:?]
at org.openhab.binding.signal.internal.handler.SignalBridgeHandler.checkAndStartServiceIfNeeded(SignalBridgeHandler.java:161) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.ClassNotFoundException: org.bouncycastle.jcajce.provider.asymmetric.rsa.RSAUtil cannot be found by org.openhab.binding.signal_4.1.0.202311102037
at org.eclipse.osgi.internal.loader.BundleLoader.generateException(BundleLoader.java:541) ~[org.eclipse.osgi-3.18.0.jar:?]
at org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:536) ~[org.eclipse.osgi-3.18.0.jar:?]
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:416) ~[org.eclipse.osgi-3.18.0.jar:?]
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:168) ~[org.eclipse.osgi-3.18.0.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
... 61 more
Now I admit I’m a bit clueless… what can I do now? Help very much appreciated!