Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli

Begonnen von Adimarantis, 31 Januar 2021, 19:16:19

Vorheriges Thema - Nächstes Thema

Mad-at

/var/lib/signal-cli verändert sich beim Reboot nicht. Es gehört signal-cli, nur signal-cli hat Schreib und Lese Rechte. Das /data Unterverzeichnis enthält die korrekten Informationen - Telefonnummer ist also vor und nach Reboot da.
"get signalAccount" liefert nach dem Reboot eine leere Liste.

Last error: "No account registered - use set account to connect to an existing registration, link or register to get a new account"

Der Vollständigkeit halber: ein service fhem restart behebt das Problem bei mir nicht.

Danke!

Adimarantis

Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Mad-at

Ups :o
Sorry, ja natürlich, lesen ist manchmal nicht so leicht...
Äh, also service signal restart alleine bringt nichts, service fhem restart auch nicht, zuerst ein service signal restart gefolgt von einem service fhem restart funktioniert. Was mich zur vermutlichen Diagnose führt: auf dem Raspberry läuft auch der unbound dns server. Könnte mir vorstellen dass es da eine race condition gibt.
Das sleep 10 steht schon drin. Kann ich da einfügen dass systemd auf die Verfügbarkeit der Name Resolution warten muss? Ich hab das schonmal für fhem versucht aber nie hinbekommen, falls Du da Erfahrung hast wär ich um einen Tipp dankbar.

Adimarantis

Dann reicht sicher in FHEM auch ein "set Signalbot reinit"

Ich kenne jetzt deinen Service nicht, daher kann ich dir höchstens die ungefähre Richtung weisen.
In /etc/systemd/system/signal.service steht ja sowas wie
Requires=dbus.socket network-online.target
After=dbus.socket network-online.target
Damit ist z.B. festgelegt, dass der signal-cli service erst startet, wenn dbus läuft und das Netzwerk online ist.
Du müsstest also rausfinden mit welchem "Requries/After" dein DNS resolver abgeprüft werden kann.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Mad-at

Danke!
Habe jetzt mal ganz hemdsärmelig folgendes gemacht:

ExecStartPre=/bin/sh -c 'until host google.com; do sleep 1; done'

...funktioniert  O:-)  :)

HarryT

Hi

I have a problem. I just installed a fresh Raspberry installation (32 bit, 2023-02-21) installed fhem 6.1 and updated it.

When I try to install signal with the signal_install.sh I get the error:


Checking for Protocol::DBus...V0.22 found
Checking user signal-cli ...found
Checking for Java 17.0...successful
Checking for /opt...found
Checking for /var/lib/signal-cli...found
Checking for existing signal-cli installation...found
Checking signal-cli version...signal-cli 0.11.4
signal-cli matches target version...ok
Checking for /etc/dbus-1/system.d/org.asamk.Signal.conf...found
Checking for /usr/share/dbus-1/system-services/org.asamk.Signal.service...found
Checking for /etc/systemd/system/signal.service...found
Start signal-cli service
Job for signal.service failed because the control process exited with error code.
See "systemctl status signal.service" and "journalctl -xe" for details.
Checking installation via dbus-send command...Error org.freedesktop.DBus.Error.TimedOut: Failed to activate service 'org.asamk.Signal': timed out (service_start_timeout=25000ms)
unexpected reply


The systemctl gives me:

A start job for unit signal.service has begun execution.
░░
░░ The job identifier is 5316.
mrt 29 22:53:18 Rasp18-11 signal-cli[6829]: OpenJDK Client VM warning: You have loaded library /tmp/resource3109705241956656131.so which might have disabled stack guard. The VM will try to fix the stack guard now.
mrt 29 22:53:18 Rasp18-11 signal-cli[6829]: It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
mrt 29 22:53:18 Rasp18-11 signal-cli[6829]: WARN  ServiceConfig - Failed to call libsignal-client: /tmp/resource3109705241956656131.so: /tmp/resource3109705241956656131.so: verkeerde ELF-klasse: ELFCLASS64 (Possible cause: can't load AARCH64 .so on a ARM platform)
mrt 29 22:53:18 Rasp18-11 signal-cli[6829]: Missing required native library dependency: libsignal-client
mrt 29 22:53:20 Rasp18-11 systemd[1]: signal.service: Main process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ An ExecStart= process belonging to unit signal.service has exited.
░░

I have no idea what is happening or how to solve it. Anybody has a hint?

Thanks
FHEM 6.3 auf Raspberry Pi3  (1,2 Ghz)
RFXTRX433XL, ZWave, KFL200 and ConBeeIII
Raspberry Pi1 (0,7 Ghz) and Raspberry Pi4 for testing
German reading skills are good.

Adimarantis

The most common reason why the native library can't be loaded is the Java version.
signal-cli requires Java17, but the Raspberry PI still only ships Java11.
To solve this the install script is downloading and installing a third party Java17 build to /opt/java
However your installer log indicates that the installer has found Java17.
If you already have Java17 on your system it could still be that it is not active for the signal-cli user.
You could try
sudo -u signal-cli java --versionif that is showing Java11 you need to make sure that JAVA_HOME is set to the Java17 installation in /etc/systemd/system/signal.service
There should already be a line
Environment="JAVA_HOME="
that you need to extend with the correct path.

Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

HarryT

Zitat von: Adimarantis am 30 März 2023, 07:33:13The most common reason why the native library can't be loaded is the Java version.
signal-cli requires Java17, but the Raspberry PI still only ships Java11.
To solve this the install script is downloading and installing a third party Java17 build to /opt/java
However your installer log indicates that the installer has found Java17.
If you already have Java17 on your system it could still be that it is not active for the signal-cli user.
You could try
sudo -u signal-cli java --version

Thanks for your suggestion. Unfortunately
  sudo -u signal-cli java --version
gives:
  openjdk 17.0.6 2023-01-17
  OpenJDK Runtime Environment (build 17.0.6+10-Raspbian-1deb11u1rpt1)
  OpenJDK Client VM (build 17.0.6+10-Raspbian-1deb11u1rpt1, mixed mode, emulated-client)

So there must be another problem.

If I run
  signal_install.sh system
that is fine
  signal_install.sh install
is fine

But
  signal_install.sh test
gives errors:
  You chose the following option: test

  Start signal-cli service
  Job for signal.service failed because the control process exited with error code.
  See "systemctl status signal.service" and "journalctl -xe" for details.
  Checking installation via dbus-send command...Error org.freedesktop.DBus.Error.TimedOut: Failed to activate service 'org.asamk.Signal': timed out (service_start_timeout=25000ms)
unexpected reply


sudo journalctl -xe           
gives me:
       
-- A start job for unit signal.service has finished with a failure.
--
-- The job identifier is 4553 and the job result is failed.
mrt 31 21:14:20 Rasp18-11 systemd[1]: signal.service: Consumed 3.224s CPU time.
-- Subject: Resources consumed by unit runtime
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- The unit signal.service completed and consumed the indicated resources.
mrt 31 21:14:28 Rasp18-11 dbus-daemon[386]: [system] Failed to activate service 'org.asamk.Signal': timed out (service_start_timeout=25000ms)


systemctl status signal.service
gives:

* signal.service - Send secure messages to Signal clients
    Loaded: loaded (/etc/systemd/system/signal.service; enabled; vendor preset: enabled)
    Active: failed (Result: exit-code) since Fri 2023-03-31 21:14:20 CEST; 14min ago
    Process: 16886 ExecStartPre=/bin/sleep 10 (code=exited, status=0/SUCCESS)
    Process: 16893 ExecStart=/opt/signal/bin/signal-cli --config /var/lib/signal-cli daemon --system (code=exited, status=1/FAILURE)
  Main PID: 16893 (code=exited, status=1/FAILURE)
        CPU: 3.224s

mrt 31 21:14:03 Rasp18-11 systemd[1]: Starting Send secure messages to Signal clients...
mrt 31 21:14:16 Rasp18-11 signal-cli[16893]: OpenJDK Client VM warning: You have loaded library /tmp/resource1073912741712660700.so which might have disabled stack guar>
mrt 31 21:14:16 Rasp18-11 signal-cli[16893]: It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
mrt 31 21:14:16 Rasp18-11 signal-cli[16893]: WARN  ServiceConfig - Failed to call libsignal-client: /tmp/resource1073912741712660700.so: /tmp/resource107391274171266070>
mrt 31 21:14:16 Rasp18-11 signal-cli[16893]: Missing required native library dependency: libsignal-client
mrt 31 21:14:20 Rasp18-11 systemd[1]: signal.service: Main process exited, code=exited, status=1/FAILURE
mrt 31 21:14:20 Rasp18-11 systemd[1]: signal.service: Failed with result 'exit-code'.
mrt 31 21:14:20 Rasp18-11 systemd[1]: Failed to start Send secure messages to Signal clients.
mrt 31 21:14:20 Rasp18-11 systemd[1]: signal.service: Consumed 3.224s CPU time.


I hope this gives a clue and you can give me an idea where to look. 


Btw. I would add "rm /tmp/signal_install.log" at the start of signal_install.sh
Current you get errors when you start once signal_install.sh without sudo and restart it with sudo. 
FHEM 6.3 auf Raspberry Pi3  (1,2 Ghz)
RFXTRX433XL, ZWave, KFL200 and ConBeeIII
Raspberry Pi1 (0,7 Ghz) and Raspberry Pi4 for testing
German reading skills are good.

HarryT

addition

/opt/signal/lib/libsignal-client-0.20.0.jar

is present.

-rw-r--r-- 1 signal-cli signal-cli  8984638 31 mrt 21:49 libsignal-client-0.20.0.jar


Looks ok to me
FHEM 6.3 auf Raspberry Pi3  (1,2 Ghz)
RFXTRX433XL, ZWave, KFL200 and ConBeeIII
Raspberry Pi1 (0,7 Ghz) and Raspberry Pi4 for testing
German reading skills are good.

tamash

Hi!

I have exactly the same problem after an apt upgrade today.
I am on debian bullseye on a raspberry pi.

BR

HarryT

Hi

It seems a posting of mine got lost.

In short the signal-client*.so in the current libsignal-client-0.20.0.jar is, according to "file -L"  a 64 bit version. But my raspbian is the recommended 32 bit version. In October the signal-client*.so version was a 32 bit version and that worked.

uname -m  reports my system as aarch64.

I hope this helps.

{HT}



FHEM 6.3 auf Raspberry Pi3  (1,2 Ghz)
RFXTRX433XL, ZWave, KFL200 and ConBeeIII
Raspberry Pi1 (0,7 Ghz) and Raspberry Pi4 for testing
German reading skills are good.

Adimarantis

If "uname -m" reports aarch64, but you're on a 32-bit raspberry (where I would expect armv7l), you probably found the root cause.

To remedy, please download
https://github.com/bublath/FHEM-Signalbot/blob/main/armhf-glibc2.28-0.11.2/libsignal_jni.so
then you need to update it with
sudo -u signal-cli zip -u /opt/signal/lib/libsignal-client-*.jar libsignal_jni.so
You could probably also hardcode the architecture in the signal_install.sh script line 164:
ARCH=`arch`
to
ARCH=armv7ldelete /opt/signal and run the installer again.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Adimarantis

I can reproduce the problem after updating my Raspberry.
Apparently the Kernel gets updated to 64 bits now, while the remaining runtime remains 32 bit.
This causes "arch" to return aarch64 while all the software still expects 32 bits.

I have added another check in the installer, that hopefully detects this.
If somebody has a real 64 bit system, I would appreciate a crosscheck - especially if
getconf LONG_BIT
really returns 64 in those cases.

Please try the new installer from
https://raw.githubusercontent.com/bublath/FHEM-Signalbot/main/signal_install.sh
You still should remove /opt/signal before retrying.

Let me know if this works better, then I'll push it to svn
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

tamash

hi!

unfortunately both solutions lead to this:

Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]: OpenJDK Client VM warning: You have loaded library /tmp/sqlite-3.39.3.0-fe930b41-57ad-4202-9059-4ab4130e9aa9-libsqlitejdbc.so which might have disabled stack guard. The VM will try to fix the stack guard now.
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]: It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]: Failed to load native library:sqlite-3.39.3.0-fe930b41-57ad-4202-9059-4ab4130e9aa9-libsqlitejdbc.so. osinfo: Linux/aarch64
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]: java.lang.UnsatisfiedLinkError: /tmp/sqlite-3.39.3.0-fe930b41-57ad-4202-9059-4ab4130e9aa9-libsqlitejdbc.so: /tmp/sqlite-3.39.3.0-fe930b41-57ad-4202-9059-4ab4130e9aa9-libsqlitejdbc.so: wrong ELF class: ELFCLASS64 (Possible cause: can't load AARCH64 .so on a ARM platform)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:388)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:232)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:174)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2389)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.lang.Runtime.load0(Runtime.java:755)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.lang.System.load(System.java:1953)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.SQLiteJDBCLoader.loadNativeLibrary(SQLiteJDBCLoader.java:280)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.SQLiteJDBCLoader.extractAndLoadLibraryFile(SQLiteJDBCLoader.java:237)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:350)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:68)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.core.NativeDB.load(NativeDB.java:63)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:278)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:65)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:28)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:19)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.JDBC.createConnection(JDBC.java:104)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.JDBC.connect(JDBC.java:77)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:121)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:100)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:81)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.Database.getHikariDataSource(Database.java:101)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.Database.initDatabase(Database.java:32)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.AccountDatabase.init(AccountDatabase.java:32)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.lambda$getAccountDatabase$38(SignalAccount.java:1233)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.getOrCreate(SignalAccount.java:1645)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.getAccountDatabase(SignalAccount.java:1231)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.lambda$getRecipientStore$30(SignalAccount.java:1206)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.getOrCreate(SignalAccount.java:1645)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.getRecipientStore(SignalAccount.java:1203)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.getProfileStore(SignalAccount.java:1210)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.migrateLegacyConfigs(SignalAccount.java:404)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.load(SignalAccount.java:183)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.SignalAccountFiles.initManager(SignalAccountFiles.java:93)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.SignalAccountFiles.lambda$initMultiAccountManager$1(SignalAccountFiles.java:65)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1707)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.Nodes$CollectorTask.doLeaf(Nodes.java:2183)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.Nodes$CollectorTask$OfRef.doLeaf(Nodes.java:2193)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.AbstractTask.compute(AbstractTask.java:327)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:686)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.Nodes.collect(Nodes.java:328)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.ReferencePipeline.evaluateToNode(ReferencePipeline.java:111)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:570)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.SignalAccountFiles.initMultiAccountManager(SignalAccountFiles.java:73)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.App.handleMultiLocalCommand(App.java:309)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.App.init(App.java:191)
Apr 01 17:50:01 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.Main.main(Main.java:60)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]: ERROR HikariPool - HikariPool-1 - Exception during pool initialization.
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]: java.sql.SQLException: Error opening connection
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:281)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:65)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:28)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:19)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.JDBC.createConnection(JDBC.java:104)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.JDBC.connect(JDBC.java:77)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:121)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:100)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:81)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.Database.getHikariDataSource(Database.java:101)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.Database.initDatabase(Database.java:32)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.AccountDatabase.init(AccountDatabase.java:32)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.lambda$getAccountDatabase$38(SignalAccount.java:1233)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.getOrCreate(SignalAccount.java:1645)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.getAccountDatabase(SignalAccount.java:1231)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.lambda$getRecipientStore$30(SignalAccount.java:1206)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.getOrCreate(SignalAccount.java:1645)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.getRecipientStore(SignalAccount.java:1203)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.getProfileStore(SignalAccount.java:1210)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.migrateLegacyConfigs(SignalAccount.java:404)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.load(SignalAccount.java:183)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.SignalAccountFiles.initManager(SignalAccountFiles.java:93)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.SignalAccountFiles.lambda$initMultiAccountManager$1(SignalAccountFiles.java:65)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1707)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.Nodes$CollectorTask.doLeaf(Nodes.java:2183)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.Nodes$CollectorTask$OfRef.doLeaf(Nodes.java:2193)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.AbstractTask.compute(AbstractTask.java:327)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:686)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.Nodes.collect(Nodes.java:328)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.ReferencePipeline.evaluateToNode(ReferencePipeline.java:111)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:570)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.SignalAccountFiles.initMultiAccountManager(SignalAccountFiles.java:73)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.App.handleMultiLocalCommand(App.java:309)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.App.init(App.java:191)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.Main.main(Main.java:60)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]: Caused by: java.lang.Exception: No native library found for os.name=Linux, os.arch=aarch64, paths=[/org/sqlite/native/Linux/aarch64:/usr/java/packages/lib:/usr/lib/arm-linux-gnueabihf/jni:/lib/arm-linux-gnueabihf:/usr/lib/arm-linux-gnueabihf:/usr/lib/jni:/lib:/usr/lib]
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:375)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:68)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.core.NativeDB.load(NativeDB.java:63)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:278)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         ... 47 common frames omitted
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]: ERROR MultiAccountManager - Failed to load +4xxxxxxxx: Failed to initialize pool: Error opening connection (PoolInitializationException)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: Error opening connection
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.pool.HikariPool.throwPoolInitializationException(HikariPool.java:596)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:582)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:100)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:81)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.Database.getHikariDataSource(Database.java:101)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.Database.initDatabase(Database.java:32)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.AccountDatabase.init(AccountDatabase.java:32)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.lambda$getAccountDatabase$38(SignalAccount.java:1233)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.getOrCreate(SignalAccount.java:1645)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.getAccountDatabase(SignalAccount.java:1231)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.lambda$getRecipientStore$30(SignalAccount.java:1206)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.getOrCreate(SignalAccount.java:1645)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.getRecipientStore(SignalAccount.java:1203)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.getProfileStore(SignalAccount.java:1210)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.migrateLegacyConfigs(SignalAccount.java:404)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.storage.SignalAccount.load(SignalAccount.java:183)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.SignalAccountFiles.initManager(SignalAccountFiles.java:93)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.SignalAccountFiles.lambda$initMultiAccountManager$1(SignalAccountFiles.java:65)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1707)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.Nodes$CollectorTask.doLeaf(Nodes.java:2183)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.Nodes$CollectorTask$OfRef.doLeaf(Nodes.java:2193)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.AbstractTask.compute(AbstractTask.java:327)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:686)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.Nodes.collect(Nodes.java:328)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.ReferencePipeline.evaluateToNode(ReferencePipeline.java:111)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:570)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.manager.SignalAccountFiles.initMultiAccountManager(SignalAccountFiles.java:73)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.App.handleMultiLocalCommand(App.java:309)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.App.init(App.java:191)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.asamk.signal.Main.main(Main.java:60)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]: Caused by: java.sql.SQLException: Error opening connection
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:281)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:65)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:28)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:19)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.JDBC.createConnection(JDBC.java:104)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.JDBC.connect(JDBC.java:77)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:121)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         ... 37 more
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]: Caused by: java.lang.Exception: No native library found for os.name=Linux, os.arch=aarch64, paths=[/org/sqlite/native/Linux/aarch64:/usr/java/packages/lib:/usr/lib/arm-linux-gnueabihf/jni:/lib/arm-linux-gnueabihf:/usr/lib/arm-linux-gnueabihf:/usr/lib/jni:/lib:/usr/lib]
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:375)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:68)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.core.NativeDB.load(NativeDB.java:63)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:278)
Apr 01 17:50:02 fhem.sweethome.net signal-cli[1554]:         ... 47 more
Apr 01 17:50:02 fhem.sweethome.net systemd[1]: signal.service: Main process exited, code=exited, status=2/INVALIDARGUMENT


HarryT

Hi

I tried your procedure on a clean, fresh installed, system and it worked.
A few notes:
- line 39 calls java before it is installed. This gives an error message
- if you run the script first without sudo it gives errors afterwards. I would place
    if [ ! $(id -u) = 0 ] ; then
    # the script needs to be executed with sudo (or root)
      echo "Please run $0 with sudo"
      exit 1
    fi
  in the top of the script
- I used
  # aarch64 can be 32 or 64 bits. It is assumed you are running a 32 bit OS if ls is a 32bit program.
  if [ $(file -L /usr/bin/ls | grep -c 32-bit) ] ; then
  to detect 32 or 64 bit after aarch64 was detected. But your solution seems to work too.

I used "signal_install.sh restore" to restore the account from another installation on another raspberry. It seems that does not work.  Is there a way to copy the account to a new installation?

mfg
{HT}

FHEM 6.3 auf Raspberry Pi3  (1,2 Ghz)
RFXTRX433XL, ZWave, KFL200 and ConBeeIII
Raspberry Pi1 (0,7 Ghz) and Raspberry Pi4 for testing
German reading skills are good.