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

after upgrade to signal-desktop 1.15.0, it crashes with `GLIBCXX_3.4.21' not found #2604

Closed
1 task done
mihai-chezan opened this issue Aug 3, 2018 · 68 comments
Closed
1 task done
Labels

Comments

@mihai-chezan
Copy link

  • I have searched open and closed issues for duplicates

There is another issue #2595 open for 1.15.0 crashing but I don't think is the same issue.


Bug description

After upgrading signal-desktop from 1.14.4 to 1.15.0, it stopped working. Running from console gives this error message:

A JavaScript error occurred in the main process
Uncaught Exception:
Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /tmp/.org.chromium.Chromium.2bqTYF)

Steps to reproduce

  1. run signal-desktop from console

Actual result:

A JavaScript error occurred in the main process
Uncaught Exception:
Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /tmp/.org.chromium.Chromium.2bqTYF)
    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:172:20)
    at Object.Module._extensions..node (module.js:671:18)
    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:186:18)
    at Module.load (module.js:561:32)
    at tryModuleLoad (module.js:504:12)
    at Function.Module._load (module.js:496:3)
    at Module.require (module.js:586:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/opt/Signal/resources/app.asar/node_modules/@journeyapps/sqlcipher/lib/sqlite3.js:4:15)
    at Object.<anonymous> (/opt/Signal/resources/app.asar/node_modules/@journeyapps/sqlcipher/lib/sqlite3.js:190:3)

Expected result:

It should start without errors. It worked before the upgrade.

Platform info

Signal version: 1.15.0

Operating System: Linux Mint Mate 17.3

@mockturtl
Copy link

mockturtl commented Aug 4, 2018

Same issue exists on Debian Jessie.

Works as expected on Debian Stretch.

edit: repost to mitigate the "me too" spam...

Workaround

Back in business 👌

  1. (optional) uninstall system packages for nodejs, npm, yarn
  2. get nvm
    1. nvm install 8.9.3, see nvmrc
  3. with node and npm set up, clone this repo and follow the build steps
  4. yarn start launches signal-desktop
    1. scan QR code via mobile app to link
    2. Fix "No device found" (Directly adding user, who is requesting to join by link, is not correctly handled by the UI #6722) by adding config file

@scarlion1
Copy link

scarlion1 commented Aug 4, 2018

I am having the problem too with 1.15.0 on Ubuntu 14.04. Seems they are expecting us to have newer libc than the OS will provide.

$ signal-desktop 
A JavaScript error occurred in the main process
Uncaught Exception:
Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /tmp/.org.chromium.Chromium.64hzcG)
    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:172:20)
    at Object.Module._extensions..node (module.js:671:18)
    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:186:18)
    at Module.load (module.js:561:32)
    at tryModuleLoad (module.js:504:12)
    at Function.Module._load (module.js:496:3)
    at Module.require (module.js:586:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/opt/Signal/resources/app.asar/node_modules/@journeyapps/sqlcipher/lib/sqlite3.js:4:15)
    at Object.<anonymous> (/opt/Signal/resources/app.asar/node_modules/@journeyapps/sqlcipher/lib/sqlite3.js:190:3)
^C$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6|grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBC_2.3
GLIBC_2.2.5
GLIBC_2.14
GLIBC_2.4
GLIBC_2.18
GLIBC_2.3.4
GLIBC_2.17
GLIBC_2.3.2
GLIBCXX_DEBUG_MESSAGE_LENGTH
$ 

@scarlion1
Copy link

scarlion1 commented Aug 4, 2018

They also seem to make it impossible to find previous version to reinstall. The packages come from updates.signal.org but is impossible to browse this site. Fortunately I had previous version still in /var/cache/apt/archives/signal-desktop_1.14.4_amd64.deb. If you can find previous version then can install with "dpkg -i deb-file", as a temporary work around until this is resolved. This worked for me and Signal Desktop is running again. Also be sure to lock the version so it doesn't get updated to 1.15 again when you run the software updater, can do that in various ways as described here for example, https://askubuntu.com/questions/18654/how-to-prevent-updating-of-a-specific-package

@mykhi
Copy link

mykhi commented Aug 5, 2018

same story @LMDE2

@breznak
Copy link

breznak commented Aug 6, 2018

It seems to 1.50 release did fail the QA testing - there are issues on all platforms with this rel. Is it possible to release a successor that reverts to 1.14 for now? I mean official 1.15.1 package that is basically the previous stable 1.14?

@leo-bogert
Copy link

Can confirm this for Ubuntu 14.04.
Was running v1.14.4 yesterday, today upgraded to 1.15.0, won't start due to lack of said glibcxx.

@molo1134
Copy link

molo1134 commented Aug 7, 2018

Confirmed by on debian jessie. Reverted to 1.14.4 successfully.

@501st-alpha1
Copy link

I'm getting the same error on 1.15.2.

@Robertbrown92
Copy link

version 1.15.2 on debian jessie problem still unsolved

@wsamoht
Copy link

wsamoht commented Aug 8, 2018

Issue still on 1.15.3. I am on Linux Mint 17.3 (Ubuntu 14.04). Reverted back to 1.14.4 successfully. Thanks @scarf!!!

@molo1134
Copy link

molo1134 commented Aug 9, 2018

In case you want to validate a 1.14.4 build you locate, here is the sha256sum of the package I have. Please 👍 if yours agrees.

99a26b3eb2196a9f3a19c7c8eb8b15711fd731da25e1e7ff79664f44cec92015  signal-desktop_1.14.4_amd64.deb

@mykhi
Copy link

mykhi commented Aug 9, 2018

Matches, if someone needs to grab this .deb, I've uploaded it here: http://up.pmcm.pl/download/1/ce125efcb03f46b78993041f

@501st-alpha1
Copy link

I was able to downgrade from 1.15.3 to 1.14.4 using the package that @mykhi linked to (and I confirmed that the sha256sum matches the one that @molo1134 posted). Signal now starts without errors.

Here's a Bash one-liner to verify the signature yourself:

[ "99a26b3eb2196a9f3a19c7c8eb8b15711fd731da25e1e7ff79664f44cec92015  signal-desktop_1.14.4_amd64.deb" == "$(sha256sum signal-desktop_1.14.4_amd64.deb)" ] && echo "Success!" || echo "Failure!"

@EvilRenegade
Copy link

Same issue here. After reverting to 1.14.1, which was still cached by apt, it works again.

@melmasri
Copy link

Same issue here, with Debian Jessie.

@0o-o0
Copy link

0o-o0 commented Aug 13, 2018

Same issue on 14.04

@deraendi
Copy link

Same issue with Linux Mint 17.3 Cinnamon 2.8.8 and Signal Version 1.15.5

@fastriker
Copy link

I have also this issue on Ubuntu 14.04

@hkoller
Copy link

hkoller commented Aug 22, 2018

Same problem here. Kubuntu 14.04, all updates installed.

:~$ signal-desktop
A JavaScript error occurred in the main process
Uncaught Exception:
Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /tmp/.org.chromium.Chromium.3tF8gf)
at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:172:20)
at Object.Module._extensions..node (module.js:671:18)
at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:186:18)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:504:12)
at Function.Module._load (module.js:496:3)
at Module.require (module.js:586:17)
at require (internal/module.js:11:18)
at Object. (/opt/Signal/resources/app.asar/node_modules/@journeyapps/sqlcipher/lib/sqlite3.js:4:15)
at Object. (/opt/Signal/resources/app.asar/node_modules/@journeyapps/sqlcipher/lib/sqlite3.js:190:3)

:~$ apt show libstdc++6:amd64
Package: libstdc++6
Version: 4.8.4-2ubuntu1~14.04.4

:~$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6|grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBC_2.3
GLIBC_2.2.5
GLIBC_2.14
GLIBC_2.4
GLIBC_2.18
GLIBC_2.3.4
GLIBC_2.17
GLIBC_2.3.2
GLIBCXX_DEBUG_MESSAGE_LENGTH

@gppixelworks
Copy link

Same issue with LMDE2 (Linux Mind Debian Edition). It does run in the Beta LMDE3, however it's not stable enough for normal uses. Had run it in VirtualBox.

Very disappointing older, working, stable versions of Signal Desktop are not kept in the repository for an easy downgrade to a functional version.

@ullika
Copy link

ullika commented Aug 27, 2018

had the same issue. but it is not about the version, it's about the compiler they used when building the package. see here. it is possible to clone the latest version from github and build the app by yourself, using your system's (older) compiler. instructions are here

@varanasib
Copy link

So, I guess we wait for signal to make the compiler version required more forgiving or for Debian to update the compiler version in stable?

@ullika
Copy link

ullika commented Aug 27, 2018

yes, we wait for signal to build a special signal-desktop package for us or for the distribution to update the package libstdc++.so.6 . But I don't even know if thats possible, maybe a system upgrade is necessary

@mockturtl
Copy link

it is possible to clone the latest version from github and build the app by yourself, using your system's (older) compiler

 $ yarn install --frozen-lockfile  ## from upstream, dl.yarnpkg.com
yarn install v1.9.4
[1/6] Validating package.json...
error signal-desktop@1.15.5: The engine "node" is incompatible with this module.
  Expected version "^8.9.3".
error Found incompatible module

jessie-backports only ships nodejs 4.8.2. npm is its own funny situation. I think my next move is to try node version manager.

None of this is really Signal's problem, but it does highlight the need for proper package archives.

@mockturtl
Copy link

Workaround

Back in business 👌

  1. (optional) uninstall system packages for nodejs, npm, yarn
  2. get nvm
    1. nvm install 8.9.3, see nvmrc
  3. with node and npm set up, clone this repo and follow the build steps
  4. yarn start launches signal-desktop
    1. scan QR code via mobile app to link
    2. Fix "No device found" (Directly adding user, who is requesting to join by link, is not correctly handled by the UI #6722) by adding config file

@varanasib
Copy link

Is this fixed in 16?

@wsamoht
Copy link

wsamoht commented Sep 14, 2018

Nope. I tried it when 1.16.0 was first released and same issue. Had to downgrade back to 1.14.4.

@mcdogas
Copy link

mcdogas commented Sep 21, 2018

Have same issue with my Mint 17.3 Cinnamon.

/opt/Signal/signal-desktop: relocation error: /tmp/.org.chromium.Chromium.hkmqhg: symbol _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference

@scarlion1
Copy link

scarlion1 commented Oct 20, 2018

Another workaround is to download newer libstdc and start signal-desktop with LD_LIBRARY_PATH environment variable. I prefer this than installing whole new development environment and compiling signal-desktop from source everytime a new version is released. With this workaround, signal-desktop can be kept up to date using repository like normal, only need to update the launcher command when signal-desktop gets updated.

For example, Ubuntu 14.04:
Since Ubuntu is based on Debian, can just download newer library from debian, for example https://packages.debian.org/stretch/libstdc++6 (scroll down and select your architecture) and download the deb from a mirror. DON"T INSTALL the deb package, instead extract the contents. First make a directory to put the newer library in, e.g. ~/libc, then use ar command to extract the deb package: ~/libc$ ar vx ~/Downloads/libstdc++6_6.3.0-18+deb9u1_amd64.deb It will extract 3 files, debian-binary, control.tar.gz, and data.tar.xz. data is the one we want, so can delete the other two. Now extract the data.tar.xz: ~/libc$ xz -cd data.tar.xz | tar -xvf - Now you'll have the newer library and link in ~/libc/usr/lib/x86_64-linux-gnu/. Nothing else is needed so you can move these two files to ~/libc directly and delete everything else. Now you may update signal-desktop as normal and test starting it with LD_LIBRARY_PATH: $ LD_LIBRARY_PATH=~/libc signal-desktop If this works for you like it did with me then signal-desktop will start normally and optimize your messages.

Now you may quit signal-desktop and update the launcher so you don't have to use command line always. For me I'm using Unity and the launcher is the file /usr/share/applications/signal-desktop.desktop. Update the line so it looks like this (warning, you may need to exit your desktop session and switch to a console (ctrl-alt+F1) since when I edited this file it crashed the session, but could be because I entered the wrong data initially):
Exec=env LD_LIBRARY_PATH=/home/scar/libc /opt/Signal/signal-desktop %U
Note the addition of "env" and also removal of quotes, and expanded ~/libc to full path. I found this was the way to make it work. Now you can launch signal-desktop normally through your window manager. This should be the only step you need to repeat when signal-desktop gets updated.

@EvilRenegade
Copy link

@moxie-signal @scottnonnenberg-signal
Are you fucking shitting me? First you break the new versions of the software, then you ignore the bug reports, now you retroactively castrate the working older versions?
Are you actively trying to drive people to less secure messengers?

@Chris56
Copy link

Chris56 commented Oct 22, 2018

To name but a few:
Ubuntu 14.4, Kubuntu 14.4, Lubuntu 14.4,
Mint 17,
LMDE2
debian 8 Jessie (Long term support until June 2020 !!!!!!)
Many millions of installations: they all are forced into an Upgrade which does not work.

I had convinced many people to use signal ... "unfortunately", I must say, because now they all complain to me and move back (and even worse: they will not return) to other messengers.

This all would not be a problem, if there was a package maintained by the proper debian package manager. However, as I discovered: signal doesn't want proper package managers, because:

"Distributing it through another channel would only complicate things without providing any clear benefit."
and
"Letting others maintain a package for your app (like Signal-Desktop) is bad because you are no longer in control which version is shipped, and users blame and annoy you for bugs you fixed ages ago."
See: signalapp/libsignal-service-java#50

Great idea, because the result is distributing a package which doesn't work and - even better - it is not allowed to use the working one anymore.
It seems, that a properly working version would not be "any clear benefit".

Big detriment to signal (and to my reputation through recommeding signal).

@b00nish
Copy link

b00nish commented Oct 23, 2018

I'm glad that signal already did not work when I wanted to start using it a few weeks ago.

Just imagine all of this would have happened a few weeks after migrating to Signal and persuade other to also do so. Would have been prette annoying and embarassing.

@wsamoht
Copy link

wsamoht commented Oct 27, 2018

Out of curiosity, what is happening with this? We are three months later with no resolution. Do we give up on Signal? I also don't currently have time to upgrade my machine to the latest Linux Mint LTS just so Signal will work.

It would be nice to hear from a Signal representative to have some hope @moxie-signal @scottnonnenberg-signal @gasi-signal

@EvilRenegade
Copy link

Considering that those people have been mentioned multiple times on this issue and have yet to react to any of those notifications, I guess Signal's official position is "get fucked".

So we return to the dark ages of 2015: There is no Signal desktop client.

@wolcen
Copy link

wolcen commented Oct 29, 2018

Just adding my name to the pile as I'd been struggling to fix this myself for a while now - @scarf thanks for the directions, that worked great!

@Chris56 makes great points IMO, but I stay hopeful that Signal devs will at least let us know their thoughts sometime soon. There's an older request in Debian bugs (wishlist) that had stalled - perhaps a good time to revive discussion there instead?
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=842943

Note that there are potential minor issues should there be continued push against direct Debian inclusion - the app identified by it's current name and icon may be a trademark issue.

@init-js
Copy link

init-js commented Nov 14, 2018

I'd like to provide a bit of additional information on how to go from the git repo to a .deb file that can be installed (on Ubuntu 14.04 (ancient!)). My version of signal warned me that I had to update to keep using, and I got into this mess here.

The steps I post are based on @mockturtl 's message, and also cover deb release creation and installation. At the end of these steps here, you'll be able to start the latest version of signal desktop from the window manager Launcher. (no need to run some yarn command from a git checkout folder).

Not being a developer in this project, it wasn't exactly obvious how one should go from a dev build to a debian file which was installable. The build instructions cited earlier leave you in a state where you have to start it from the checked out repo folder... which is not very practical, especially if you have to select your node version each time.

I considered downloading the deb posted earlier in the thread, but I'm not sure what the hash of the official release used to be. In the interest of freshness, I've decided to install the latest code available. (I'm aware that technically, there's an entirely different chain of trust involved in downloading from GitHub, but at least it's meant to be an official source -- are release hashes stored in some verifiable log?).

  1. git clone https://github.com/signalapp/Signal-Desktop.git && cd Signal-Desktop

  2. choose your git branch of choice (I picked master. fingers crossed)

  3. build it (based on this):

     nvm install 8.9.3
     nvm use 8.9.3
     npm install --global yarn      # (only if you don’t already have `yarn`)
     yarn install --frozen-lockfile # Install and build dependencies (this will take a while)
     yarn grunt                     # Generate final JS and CSS assets
     yarn icon-gen                  # Generate full set of icons for Electron
     yarn test                      # A good idea to make sure tests run first
     # yarn start                     # don't start it yet. or start it to see if it works.
    
  4. I went a bit further and generated a deb.

     yarn build-release
    
  5. Install the deb.

     # change the version to whatever was generated. you'll see in the output of the previous command.
     sudo gdebi release/signal-desktop_1.18.0-beta.7_amd64.deb
    
  6. Start your latest fixed signal-desktop.

     # I did --import because it was the first time I ran it since an upgrade. omit otherwise.
     signal-desktop --import
    

If this information was elsewhere on the site, my apologies for the duplication. I didn't see it in the build readme.

@alexburner
Copy link

Just wanted to join in on the fun, I'm experiencing this with signal-desktop 1.18.1 on ubuntu 14.04.5

$ signal-desktop
Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR /opt/Signal/resources/app.asar/config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME undefined
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
userData: /home/alexb/.config/Signal
config/get: Did not find user config file, cache is now empty object
config/get: Did not find ephemeral config file, cache is now empty object
Uncaught error or unhandled promise rejection: Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /tmp/.org.chromium.Chromium.C1qQAV)
    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:166:20)
    at Object.Module._extensions..node (module.js:671:18)
    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:180:18)
    at Module.load (module.js:561:32)
    at tryModuleLoad (module.js:504:12)
    at Function.Module._load (module.js:496:3)
    at Module.require (module.js:586:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/opt/Signal/resources/app.asar/node_modules/@journeyapps/sqlcipher/lib/sqlite3.js:4:15)
    at Object.<anonymous> (/opt/Signal/resources/app.asar/node_modules/@journeyapps/sqlcipher/lib/sqlite3.js:190:3)

I don't have time to upgrade my OS just for Signal, or test these debugging steps, but I'll come back and give them a go soon.

@scarlion1
Copy link

@alexburner i think this is the easiest work-around for now: #2604 (comment)

@wsamoht
Copy link

wsamoht commented Nov 28, 2018

@alexburner i think this is the easiest work-around for now: #2604 (comment)

Agreed! It worked for me. Just note you have to update /usr/share/applications/signal-desktop.desktop every time Signal is updated.

@melmasri
Copy link

@alexburner i think this is the easiest work-around for now: #2604 (comment)

Agreed! It worked for me. Just note you have to update /usr/share/applications/signal-desktop.desktop every time Signal is updated.

You can use hold to keep single from updating every time, as
sudo apt-mark hold <package-name>

@alexburner
Copy link

Excellent, thank you @scarf ! We'll see which I get to first: the patch or finally updating ubuntu

@Francewhoa
Copy link

Francewhoa commented Dec 2, 2018

Confirming this challenge with latest stable Signal 1.18.1, Debian 8 Jessie at 64-bit, GNOME 3.14.1, Kernel 4.9.0-0

Unhandled Error: Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /tmp/.org.chromium.Chromium.EbKyia)
at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:166:20)
at Object.Module._extensions..node (internal/modules/cjs/loader.js:740:18)
at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:180:18)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:559:12)
at Function.Module._load (internal/modules/cjs/loader.js:551:3)
at Module.require (internal/modules/cjs/loader.js:658:17)
at require (internal/modules/cjs/helpers.js:20:18)
at Object. (/opt/Signal Beta/resources/app.asar/node_modules/@journeyapps/sqlcipher/lib/sqlite3.js:4:15)
at Object. (/opt/Signal Beta/resources/app.asar/node_modules/@journeyapps/sqlcipher/lib/sqlite3.js:190:3)

@Francewhoa
Copy link

Confirming this challenge with latest beta Signal 1.19.0-beta.3, Debian 8 Jessie at 64-bit, GNOME 3.14.1, Kernel 4.9.0-0

Unhandled Error: Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /tmp/.org.chromium.Chromium.EbKyia)
at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:166:20)
at Object.Module._extensions..node (internal/modules/cjs/loader.js:740:18)
at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:180:18)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:559:12)
at Function.Module._load (internal/modules/cjs/loader.js:551:3)
at Module.require (internal/modules/cjs/loader.js:658:17)
at require (internal/modules/cjs/helpers.js:20:18)
at Object. (/opt/Signal Beta/resources/app.asar/node_modules/@journeyapps/sqlcipher/lib/sqlite3.js:4:15)
at Object. (/opt/Signal Beta/resources/app.asar/node_modules/@journeyapps/sqlcipher/lib/sqlite3.js:190:3)

@Francewhoa
Copy link

Francewhoa commented Dec 2, 2018

1.14.4 Worked

This is to confirm that the temporary workaround with reverting to “signal-desktop_1.14.4_amd64.deb” worked. Thanks @mykhi for this package above.

The downside with Signal Desktop 1.14.4 is that you are not allow to send SMS. If you try this error message is display:

This version of Signal Desktop has expired. Please upgrade to the latest version to continue messaging.

this_version_of_signal_desktop_has_expired---2018-12-02---francewhoa

Lock Version 1.14.4

For those using Debian, Linux Mint, Ubuntu. And not familiar with the lock version. Until this challenge is resolved, you might be interested to lock Signal to version 1.14.4. Otherwise during your next system update there is a risk that your Signal version 1.14.4 will be automatically replace by the latest version. In turn, the challenge could be back. If you're not familiar with how to lock a package version, find this how-to at:
https://www.linuxuprising.com/2018/10/how-to-keep-package-from-updating-in.html
• Archived at http://archive.fo/aHGKd

@EvilRenegade
Copy link

EvilRenegade commented Dec 2, 2018

@Francewhoa does that actually work for you? 'cause my 1.14.4 still shows me the

This version of Signal Desktop has expired. Please upgrade to the latest version to continue messaging.

banner.

Like, can you not just start the client, but actually exchange messages with it?
And I can see that it doesn't download all messages. It does seem to show a message I sent from the phone while I had the desktop client open, but it does not show the message I was responding to.

Edit: To clarify: You said you couldn't send SMS with it. Can you send Signal-native messages with it?

@Francewhoa
Copy link

Francewhoa commented Dec 2, 2018

@EvilRenegade :)

does that actually work for you?

Yes and no. No I can not send SMS with 1.14.4 :( I added this screenshot to my comment above. And yes I can start the client :)


Edit: To clarify: You said you couldn't send SMS with it. Can you send Signal-native messages with it?

I don't know. I'm not familiar with Signal-native messages. What I tested is into this screenshot above.


I'm considering using https://ring.cx instead of Signal. Ring have a much better support for Linux. For example Ring has one dedicated repository per distro and per distro version. In comparison Signal has only one repository for all distros and all distro versions. Which seems very risky to create challenge and confusion. Ring package can easily be downloaded either automatically or manually. Including all previous versions. Compare to Ring where only the last version can be manually downloaded. Both Signal and Ring are open source, cross-platform, encrypted, with strong privacy commitment. In November 2016 Ring became part of the GNU Project.

@sebma
Copy link

sebma commented Dec 6, 2018

Hi,
I also downgraded Signal to 1.14.4, but I cannot send any messages with it :

This version of Signal Desktop has expired. Please upgrade to the latest version to continue messaging.

Is there another Signal version (>1.14) that does not have this crash bug that is able to send messages ?

@501st-alpha1
Copy link

@sebma No, there is not. You can either compile from source yourself (#2604 (comment)) or download a newer libstdc for use with Signal Desktop (#2604 (comment)). The latter is probably easier, and so is the solution I recommend.

@sebma
Copy link

sebma commented Jun 1, 2019

@501st-alpha1 I just don't understand : I have installed a newer libstdc++6 on my Ubuntu Trusty taken from the Toolchain test builds PPA :

$ apt-cache policy libstdc++6
libstdc++6:
  Installed: 9.1.0-2ubuntu2~14.04.2
  Candidate: 9.1.0-2ubuntu2~14.04.2
  Version table:
 *** 9.1.0-2ubuntu2~14.04.2 0
        500 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ trusty/main amd64 Packages
        100 /var/lib/dpkg/status
     4.8.4-2ubuntu1~14.04.4 0
        500 http://fr.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
     4.8.2-19ubuntu1 0
        500 http://fr.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

but I still get these errors :

$ signal-desktop
signal-desktop: /lib/x86_64-linux-gnu/libdbus-1.so.3: no version information available (required by signal-desktop)
/opt/Signal/signal-desktop: /lib/x86_64-linux-gnu/libdbus-1.so.3: no version information available (required by /opt/Signal/signal-desktop)
Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR /opt/Signal/resources/app.asar/config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME undefined
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
userData: /home/sebastien/.config/Signal
config/get: Successfully read user config file
config/get: Successfully read ephemeral config file
making app single instance
Fontconfig warning: "/etc/fonts/fonts.conf", line 86: unknown element "blank"
{"name":"log","hostname":"seb-C70D-B-311","pid":18361,"level":30,"msg":"app ready","time":"2019-06-01T06:08:04.182Z","v":0}
{"name":"log","hostname":"seb-C70D-B-311","pid":18361,"level":30,"msg":"starting version 1.25.1","time":"2019-06-01T06:08:04.183Z","v":0}
/opt/Signal/signal-desktop: relocation error: /tmp/.org.chromium.Chromium.KBqn0R: symbol _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference

Can you help me ?

@501st-alpha1
Copy link

@sebma Sorry, I don't know enough to help with that. It looks like its a slightly different error though, so if no one else responds here, it might be worth opening a new issue.

@scytho
Copy link

scytho commented May 21, 2020

To name but a few:
Ubuntu 14.4, Kubuntu 14.4, Lubuntu 14.4,
Mint 17,
LMDE2
debian 8 Jessie (Long term support until June 2020 !!!!!!)
Many millions of installations: they all are forced into an Upgrade which does not work.

I had convinced many people to use signal ... "unfortunately", I must say, because now they all complain to me and move back (and even worse: they will not return) to other messengers.

This all would not be a problem, if there was a package maintained by the proper debian package manager. However, as I discovered: signal doesn't want proper package managers, because:

"Distributing it through another channel would only complicate things without providing any clear benefit."
and
"Letting others maintain a package for your app (like Signal-Desktop) is bad because you are no longer in control which version is shipped, and users blame and annoy you for bugs you fixed ages ago."
See: signalapp/libsignal-service-java#50

Great idea, because the result is distributing a package which doesn't work and - even better - it is not allowed to use the working one anymore.
It seems, that a properly working version would not be "any clear benefit".

Big detriment to signal (and to my reputation through recommeding signal).

No clear benefit … bullshit. This is exactly what I experienced time and again over the past like 10 or 15 years. Devs doing stuff you just don’t understand, and then they won’t change their mind, no matter what reasonable arguments against their decisions you come up with. It’s extremely frustrating. You find a cool piece of software, perfectly suiting your needs, and then the devs ruin it. Gnome, Firefox, Signal. They just don’t have that certain piece of sense of responsibility they inevitably acquire with publishing software for others. It always ends up in some dogmatic, sect-like mess of ideology about software development or gui design.

I just installed Signal on someone’s phone and tried to install Signal Desktop on their machine. Won’t start up. The machine is running Mint 17, which is obsolete, I know, but that’s not the point. Signal could be in repos and in F-Droid for a long time now. But one person doesn’t want to, so we don’t get to have that.

Yeah, it’s free, we’re not paying customers. But we’re the users. Who else would you write software for?

@scottnonnenberg-signal
Copy link
Contributor

@scytho I understand that you are very frustrated, but it's not about reasonable arguments. Supporting very old platforms is extremely costly. We can't justify that effort. You'll note that the Android and iOS apps periodically drop support for the oldest Android phones as well.

Moreover, when platforms like Mint 17 reach their end of life (a little over one year ago in Mint 17's case) it is a very bad idea to continue using them, because they no longer get security updates.

@b00nish
Copy link

b00nish commented May 21, 2020

@scottnonnenberg-signal
It already didn't work in a couple of distributions (e.g. Ubuntu 14.04) when they still were well in their lifecycle. Debian 8 had still two years of support left when it stopped working. So it's not like those were ages old operating systems back then.
But as I said back in 2018: I'm glad that happened before I persuaded my peers to switch to Signal.

@scytho
Copy link

scytho commented May 23, 2020

@scottnonnenberg-signal: I didn’t expect anything else. That’s exactly my point. I have stated that Mint 17 is crap old, and we are going to replace it. But that’s not the thing in question here. It was about Signal not using distro repos. Where does that lead to? Every piece of software having its own update routine. Wait, where do I know that from … Ah! Yes! Windows! Not my favorite OS, in case that didn’t shine through yet.

Yes, it is about reasonable arguments. Be it the hypermonsterbar in Firefox, be it stupid design decisions in Gnome 3, be it this uber annoying device verification when signing in here at GH (here or here), it’s always the same story:

  1. Someone starts a software project.
  2. Users find the SW is really cool, because it’s just a perfect match.
  3. Devs go bananas but think they’re going even more pro.
  4. Users say »Can we please have this or that feature back? I really was using it a lot. I want it. I need it!«
  5. Devs: »No. It’s useless/irritating/counterintuitive/younameit.«
  6. »No, it was great, look: A, B, C, D, E and many other reasons!«
  7. »No it isn’t.« *wontfix*/*closed*/…

So, no, you don’t seem to really understand just how frustrating this is. This is pure unreasonableness (do you really say that in English?). Most users are no developers and thus unable to change things by themselves. The users depend on the devs. The devs develop for the users, not just for themselves (I guess). It can’t be the objective that everyone builds their own forks, anyway.

End of story: The devs act like Apple. They know better what’s good for all of us and basically tell us to shut the fuck up. They would never be able to do this, if they actually had to earn a living with the software, i.e. by selling it. Unless they were Apple or Microsoft or the like. Which in turn is one reason why I don’t like those big players.

@I-I-IT
Copy link

I-I-IT commented Aug 1, 2024

2024 and I just installed the app following instructions on the Signal website, and the app won't open on Linux Mint 22

@jamiebuilds-signal
Copy link
Member

I'm going to close this issue out in favor of asking people to forward issues like this to signal@support.org. Issues like this tend to have multiple root causes and it's difficult to offer support for many people in a single thread like this spanning several years. When sending a report like this please include a debuglog and/or crash report: https://support.signal.org/hc/en-us/articles/360007318591-Debug-Logs-and-Crash-Reports

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

No branches or pull requests