Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.12.7 - signal-cli version is too old for the Signal-Server, please update. #1439

Closed
BOFH90 opened this issue Feb 5, 2024 · 36 comments
Closed

Comments

@BOFH90
Copy link

BOFH90 commented Feb 5, 2024

I´m unable to send messages using signal-cli 0.12.7 since about half an hour.
The server tells me the following:

Error while checking account +XXXXX: signal-cli version is too old for the Signal-Server, please update.

I´m using the "bbernhard/signal-cli-rest-api" Docker-Container with 0.12.7 embedded.

@Flottegurke
Copy link

i got the same problem since the same time

@mattwr18
Copy link

mattwr18 commented Feb 5, 2024

Also getting this with v0.12.7

@mmhere
Copy link

mmhere commented Feb 5, 2024

Yeah, I had only just yesterday upgraded to 0.12.7 (with Java 21 on Debian 12) due to this message occurring with an older version of signal-cli, and now this message returned with the latest released version. Any updates will be muchly appreciated.

adTHANKSvance

TL;DR:

$ signal-cli -u +1NNNNNNNNNN send +1MMMMMMMMMM -m message
Error while checking account NNNNNNNNN signal-cli version is too old for the Signal-Server, please update

I'm using the straight up java version in /opt/signal... that runs against Java 21. No containers or anything so running directly within Debian 12.

Linux HOSTNAME 6.1.0-17-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.69-1 (2023-12-30) x86_64 GNU/Linux

PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Distributor ID:	Debian
Description:	Debian GNU/Linux 12 (bookworm)
Release:	12
Codename:	bookworm

cat /etc/debian_version reveals:  12.4

$ java --version
java 21.0.2 2024-01-16 LTS
Java(TM) SE Runtime Environment (build 21.0.2+13-LTS-58)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.2+13-LTS-58, mixed mode, sharing)

$ find /opt/signal-cli-0.12.7 -type f
/opt/signal-cli-0.12.7/bin/signal-cli.bat
/opt/signal-cli-0.12.7/bin/signal-cli
/opt/signal-cli-0.12.7/lib/sqlite-jdbc-3.44.0.0.jar
/opt/signal-cli-0.12.7/lib/argparse4j-0.9.0.jar
/opt/signal-cli-0.12.7/lib/jackson-module-kotlin-2.16.0.jar
/opt/signal-cli-0.12.7/lib/slf4j-api-2.0.9.jar
/opt/signal-cli-0.12.7/lib/signal-cli-0.12.7.jar
/opt/signal-cli-0.12.7/lib/jsr305-3.0.2.jar
/opt/signal-cli-0.12.7/lib/jul-to-slf4j-2.0.9.jar
/opt/signal-cli-0.12.7/lib/annotations-13.0.jar
/opt/signal-cli-0.12.7/lib/reactive-streams-1.0.3.jar
/opt/signal-cli-0.12.7/lib/libphonenumber-8.13.23.jar
/opt/signal-cli-0.12.7/lib/kotlin-stdlib-jdk7-1.9.10.jar
/opt/signal-cli-0.12.7/lib/okhttp-4.11.0.jar
/opt/signal-cli-0.12.7/lib/jackson-annotations-2.16.0.jar
/opt/signal-cli-0.12.7/lib/wire-runtime-jvm-4.4.3.jar
/opt/signal-cli-0.12.7/lib/signal-service-java-2.15.3_unofficial_90.jar
/opt/signal-cli-0.12.7/lib/okio-jvm-3.6.0.jar
/opt/signal-cli-0.12.7/lib/core-util-jvm-2.15.3_unofficial_90.jar
/opt/signal-cli-0.12.7/lib/kotlin-reflect-1.6.21.jar
/opt/signal-cli-0.12.7/lib/kotlin-stdlib-1.9.10.jar
/opt/signal-cli-0.12.7/lib/bcprov-jdk18on-1.77.jar
/opt/signal-cli-0.12.7/lib/logback-classic-1.4.11.jar
/opt/signal-cli-0.12.7/lib/kotlin-stdlib-common-1.9.10.jar
/opt/signal-cli-0.12.7/lib/dbus-java-transport-native-unixsocket-4.3.1.jar
/opt/signal-cli-0.12.7/lib/jackson-core-2.16.0.jar
/opt/signal-cli-0.12.7/lib/dbus-java-core-4.3.1.jar
/opt/signal-cli-0.12.7/lib/kotlin-stdlib-jdk8-1.9.10.jar
/opt/signal-cli-0.12.7/lib/jackson-databind-2.16.0.jar
/opt/signal-cli-0.12.7/lib/rxjava-3.0.13.jar
/opt/signal-cli-0.12.7/lib/lib.jar
/opt/signal-cli-0.12.7/lib/logback-core-1.4.11.jar
/opt/signal-cli-0.12.7/lib/libsignal-client-0.36.1.jar
/opt/signal-cli-0.12.7/lib/HikariCP-5.1.0.jar

@ced-b
Copy link
Contributor

ced-b commented Feb 5, 2024

Looks like the dependencies have been updated 4 days ago. But there is no build yet:

7fb263f

@mmhere
Copy link

mmhere commented Feb 5, 2024

Is there a way to know ahead of time when Signal swervers will begin blocking certain client versions so that the client(s) can be updated ahead of time?

@djksion
Copy link

djksion commented Feb 5, 2024

Hello. Does anyone know when the update will be released?

@rbouma
Copy link

rbouma commented Feb 5, 2024

Same problem here any news on an update?

@ced-b
Copy link
Contributor

ced-b commented Feb 5, 2024

I created a fork that built the latest version. And it works with my preliminary tests.

So on your own risk and with no further guarateed support you can use the following binaries

https://github.com/key-lime-box/signal-cli/releases/tag/v0.12.7_patch2

or the following image:

ghcr.io/key-lime-box/signal-cli:0.12.7_patch2

@ced-b
Copy link
Contributor

ced-b commented Feb 5, 2024

Sorry just fixed the path.

@Flottegurke
Copy link

Flottegurke commented Feb 5, 2024

thank you for the patch. Is there a way to update signal-cli without completely reinstalling it? Beacause i down't want to go through with the complete linking procedure again.

@ced-b
Copy link
Contributor

ced-b commented Feb 5, 2024

In theory you should be able to just replace the jar file and restart it. Although i'm not familiar with your set-up. I also recommend backing up you settings and account data before doing this.

@Flottegurke
Copy link

Thank you very much. I am not using signal-cil for the primary device, so I did not backup my data. I replaced the file and it works fine for me

@hostmasterT
Copy link

I created a fork that built the latest version. And it works with my preliminary tests.

So on your own risk and with no further guarateed support you can use the following binaries

https://github.com/key-lime-box/signal-cli/releases/tag/v0.12.7_patch2

or the following image:

ghcr.io/key-lime-box/signal-cli:0.12.7_patch2

Thank, for me signal-cli-0.12.8-SNAPSHOT worked, jdk-21-oracle-x64 and native lib 0.39.2 https://github.com/signalapp/libsignal/releases/

@reinob
Copy link

reinob commented Feb 5, 2024

With the 0.12.7_patch2 version I get

Error: LinkageError occurred while loading main class org.asamk.signal.Main
	java.lang.UnsupportedClassVersionError: org/asamk/signal/Main has been compiled by a 
more recent version of the Java Runtime (class file version 65.0), this version of the Java
Runtime only recognizes class file versions up to 61.0

This is with debian bookworm/12, with the default jre/jdk (openjdk-17-jre-headless).

@eddielthomas
Copy link

Hi, I am getting this error:
root@724399cc0e13:/usr/bin/lib# signal-cli
Error: Could not find or load main class org.asamk.signal.Main
Caused by: java.lang.ClassNotFoundException: org.asamk.signal.Main

what are the steps to install? Do i just overwrite the signal-cli executable in /usr/bin then drop the lib folder in the /usr/bin ?

@dolomiti70
Copy link

With the 0.12.7_patch2 version I get

Error: LinkageError occurred while loading main class org.asamk.signal.Main
	java.lang.UnsupportedClassVersionError: org/asamk/signal/Main has been compiled by a 
more recent version of the Java Runtime (class file version 65.0), this version of the Java
Runtime only recognizes class file versions up to 61.0

This is with debian bookworm/12, with the default jre/jdk (openjdk-17-jre-headless).

Same here

@m-ueberall
Copy link

Error: LinkageError occurred while loading main class org.asamk.signal.Main
	java.lang.UnsupportedClassVersionError: org/asamk/signal/Main has been compiled by a 
more recent version of the Java Runtime (class file version 65.0), this version of the Java
Runtime only recognizes class file versions up to 61.0

This is with debian bookworm/12, with the default jre/jdk (openjdk-17-jre-headless).

This is to be expected as upstream snapshots produced by the signal-cli CLI workflow that are based on the master branch are using JDK 21 (cf. here and here).
The same goes for the fork mentioned above which only differs with respect to the image registry, workflow URI.

@mbrand1
Copy link

mbrand1 commented Feb 5, 2024

With the 0.12.7_patch2 version I get

Error: LinkageError occurred while loading main class org.asamk.signal.Main
	java.lang.UnsupportedClassVersionError: org/asamk/signal/Main has been compiled by a 
more recent version of the Java Runtime (class file version 65.0), this version of the Java
Runtime only recognizes class file versions up to 61.0

This is with debian bookworm/12, with the default jre/jdk (openjdk-17-jre-headless).

In my environment (debian bullseye/11), I had to manually download the openjdk-21 build (from here: https://jdk.java.net/21/), untar that into /usr/local and put the 'bin' directory into my PATH (PATH="/usr/local/jdk-21.0.2/bin:$PATH"), and then I was able to run the patched version.

$ signal-cli --version
signal-cli 0.12.8-SNAPSHOT

@mmhere
Copy link

mmhere commented Feb 5, 2024

With the 0.12.7_patch2 version I get

Error: LinkageError occurred while loading main class org.asamk.signal.Main
	java.lang.UnsupportedClassVersionError: org/asamk/signal/Main has been compiled by a 
more recent version of the Java Runtime (class file version 65.0), this version of the Java
Runtime only recognizes class file versions up to 61.0

This is with debian bookworm/12, with the default jre/jdk (openjdk-17-jre-headless).

I think it is stated in another issue that Java 21 is required by 0.12.7.

@white-chestnut
Copy link

I created a fork that built the latest version. And it works with my preliminary tests.

So on your own risk and with no further guarateed support you can use the following binaries

https://github.com/key-lime-box/signal-cli/releases/tag/v0.12.7_patch2

or the following image:

ghcr.io/key-lime-box/signal-cli:0.12.7_patch2

THX, this worked for me with openjdk-21 on debian 12.4

@mmhere
Copy link

mmhere commented Feb 5, 2024

I created a fork that built the latest version. And it works with my preliminary tests.
So on your own risk and with no further guarateed support you can use the following binaries
https://github.com/key-lime-box/signal-cli/releases/tag/v0.12.7_patch2
or the following image:
ghcr.io/key-lime-box/signal-cli:0.12.7_patch2

Thanks!

In my environment (details above) I was able to unpack https://github.com/key-lime-box/signal-cli/releases/download/v0.12.7_patch2/signal-cli-0.12.7_patch2.tar.gz into /opt/., do rm -f -v /usr/local/bin/signal-cli; ln -s -v /opt/signal-cli-0.12.8-SNAPSHOT/bin/signal-cli /usr/local/bin/signal-cli, and then continue running straight away.

When 0.12.8 is officially released, I'll do a similar couple of steps.

@msedv
Copy link

msedv commented Feb 5, 2024

I created a fork that built the latest version. And it works with my preliminary tests.

So on your own risk and with no further guarateed support you can use the following binaries

https://github.com/key-lime-box/signal-cli/releases/tag/v0.12.7_patch2

or the following image:

ghcr.io/key-lime-box/signal-cli:0.12.7_patch2

Great - but would it eventually also be possible to do a second build like signal-cli_ubuntu2004_amd64.gz without the "aggressive CPU optimisations"-problem (see #1363)? :-) Tnx!

@mmhere
Copy link

mmhere commented Feb 5, 2024

I created a fork that built the latest version. And it works with my preliminary tests.
So on your own risk and with no further guarateed support you can use the following binaries
https://github.com/key-lime-box/signal-cli/releases/tag/v0.12.7_patch2
or the following image:
ghcr.io/key-lime-box/signal-cli:0.12.7_patch2

Great - but would it eventually also be possible to do a second build like signal-cli_ubuntu2004_amd64.gz without the "aggressive CPU optimisations"-problem (see #1363)? :-) Tnx!

I see 0.12.7_patch2 as a [functional] stopgap until there is time for 0.12.8 to be fully vetted and released officially. Just my humble observation.

@AsamK
Copy link
Owner

AsamK commented Feb 5, 2024

I just released version 0.12.8, which just updates the user agent.

@AsamK AsamK closed this as completed Feb 5, 2024
@mmhere
Copy link

mmhere commented Feb 5, 2024

I just released version 0.12.8, which just updates the user agent.

Thanks so much for the quick response. When you server stops signaling you, you get twitchy. ;-)

@mmhere
Copy link

mmhere commented Feb 5, 2024

Note, upon using the patch, then using official 0.12.8, this error occurs:

ERROR AccountDatabase - Database has been updated by a newer signal-cli version
Error loading state file for user +15032240052: java.sql.SQLException: Database has been updated by a newer signal-cli version (RuntimeException)

Apparently the internal versioning doesn't quite agree, with the patch posted earlier representing itself as a "newer" version than the official release.

So if you went from 0.12.7 to 0.12.8 I imagine you'd be OK, but if you used 0.12.8_patch2 after 0.12.7 then tried to go to 0.12.8, you will have problems. At least I did.

I thus had to go back to the 0.12.7_patch2 version and will continue using it until some future time.

@mmhere
Copy link

mmhere commented Feb 5, 2024

Note, upon using the patch, then using official 0.12.8, this error occurs:

ERROR AccountDatabase - Database has been updated by a newer signal-cli version
Error loading state file for user +15032240052: java.sql.SQLException: Database has been updated by a newer signal-cli version (RuntimeException)

Apparently the internal versioning doesn't quite agree, with the patch posted earlier representing itself as a "newer" version than the official release.

So if you went from 0.12.7 to 0.12.8 I imagine you'd be OK, but if you used 0.12.8_patch2 after 0.12.7 then tried to go to 0.12.8, you will have problems. At least I did.

I thus had to go back to the 0.12.7_patch2 version and will continue using it until some future time.

I cannot use 0.12.8 without re-registering, it seems. any workaround for this?

I think maybe this issue should stay open for a bit.

@disaster123
Copy link

Is there any fix for debian bullseye available? Due to #1363 the official version does no longer work.

@disaster123
Copy link

@msedv did you find any solution for older hosts?

@disaster123
Copy link

@m-ueberall any chance to get a new version here? https://media.projektzentrisch.de/temp/signal-cli/

@m-ueberall
Copy link

@disaster123: Yes, these are currently being tested. With a bit of luck, they should be publicly available within an hour.

@disaster123
Copy link

@m-ueberall thanks a lot! Works fine!

@timaschew
Copy link

I've switch to the debian docker image: registry.gitlab.com/packaging/signal-cli/signal-cli-jre and it works fine and even easiert

@matthew-piziak
Copy link

Okay, listen, I know I'm going to sound a bit crazy here.

If I go to this page in Firefox and click the link for
signal-cli-0.12.8-Linux-native.tar.gz, I get a tarball called signal-cli-0.12.7-Linux-native.tar.gz. [sic, 0.12.7 instead of 0.12.8]

If I hit "copy link" and say wget https://github.com/AsamK/signal-cli/releases/download/v0.12.8/signal-cli-0.12.8-Linux-native.tar.gz, I get the correct signal-cli-0.12.8-Linux-native.tar.gz tarball.

Spooky, probably not relevant, but figured I'd say something.

@reinob
Copy link

reinob commented Feb 6, 2024

The file name is provided with the URL (https://objects.githubusercontent.com/..filename%3D**signal-cli-0.12.8-Linux-native.tar.gz**), but the server sends also as response header

Content-Disposition: attachment; filename=signal-cli-0.12.7-Linux-native.tar.gz

The browser takes the latter, while wget takes the former, apparently.

If you download using

$ wget --content-disposition https://github.com/AsamK/signal-cli/releases/download/v0.12.8/signal-cli-0.12.8-Linux-native.tar.gz

you also get the 0.12.7 name ¯_(ツ)_/¯

@matthew-piziak
Copy link

matthew-piziak commented Feb 6, 2024

Looks like AsamK's fixed the file name! 🙏 #1443~

Oops, premature celebration, I'm still getting the wrong file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests