signalapp / Signal-Desktop

A private messenger for Windows, macOS, and Linux.
https://signal.org/download
GNU Affero General Public License v3.0
14.5k stars 2.63k forks source link

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

Closed mihai-chezan closed 1 month ago

mihai-chezan commented 6 years ago

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 commented 6 years ago

Same issue exists on Debian Jessie.

Works as expected on Debian Stretch.

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

Workaround

Back in business :ok_hand:

  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" (#6722) by adding config file
scarlion1 commented 6 years ago

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 commented 6 years ago

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 commented 6 years ago

same story @LMDE2

breznak commented 6 years ago

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 commented 6 years ago

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 commented 6 years ago

Confirmed by on debian jessie. Reverted to 1.14.4 successfully.

501st-alpha1 commented 6 years ago

I'm getting the same error on 1.15.2.

Robertbrown92 commented 6 years ago

version 1.15.2 on debian jessie problem still unsolved

wsamoht commented 6 years ago

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 commented 6 years ago

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

99a26b3eb2196a9f3a19c7c8eb8b15711fd731da25e1e7ff79664f44cec92015  signal-desktop_1.14.4_amd64.deb
mykhi commented 6 years ago

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

501st-alpha1 commented 6 years ago

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 commented 6 years ago

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

melmasri commented 6 years ago

Same issue here, with Debian Jessie.

0o-o0 commented 6 years ago

Same issue on 14.04

deraendi commented 6 years ago

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

fastriker commented 6 years ago

I have also this issue on Ubuntu 14.04

hkoller commented 6 years ago

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 commented 6 years ago

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 commented 6 years ago

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 commented 6 years ago

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 commented 6 years ago

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 commented 6 years ago

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 commented 6 years ago

Workaround

Back in business :ok_hand:

  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" (#6722) by adding config file
varanasib commented 6 years ago

Is this fixed in 16?

wsamoht commented 6 years ago

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

mcdogas commented 5 years ago

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

Chris56 commented 5 years ago

Same with 1.16.2 on mint 17.3 Mate. I had to revert to the above mentioned version.

It seems ALL distributions based on Ubunut 14.04/debian jessie are broken.

Strange nobody cares (nobody is even assigned!) about all those (still supported!) distributions.

mockturtl commented 5 years ago

@scottnonnenberg-signal Would you mind commenting if Signal doesn't plan to maintain the infrastructure for this, so people know their options are (1) build from source or (2) upgrade their OS?

mockturtl commented 5 years ago

@moxie0 @moxie-signal I would rattle the RFP cage, but it looks like there are some open questions? Thanks for any insight!

Chris56 commented 5 years ago

Ubuntu Trusty variants and Mint variants in question are Long Term Support. My signal-desktop refused to continue saying the version wouldn't be supported anymore. Therefore, I did the update. And the result: it did not work at all.

xeniode commented 5 years ago

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.

Yes, that is what I did. I did what some of the others said and used NVM to back peddle to Node v.8.9.3.

I ran the commands as stated here: Getting Dev Envrionment Up

I then went into the config folder of the initial repo and created a file:

local-development.json

and added the lines

 {
  "serverUrl": "https://textsecure-service.whispersystems.org",
  "cdnUrl": "https://cdn.signal.org"
}

To build a .deb file I ran yarn generate --force followed by yarn build-release --force

xeniode commented 5 years ago

I did what some of the others said and used NVM to back peddle to Node v.8.9.3. I was able to build a stable version of v1.16 and works fine now. You can either follow the instructions below or I have the built .deb file here: Google Drive

I ran the commands as stated here: Getting Dev Envrionment Up

I then went into the config folder of the initial repo and created a file:

local-development.json

and added the lines

 {
  "serverUrl": "https://textsecure-service.whispersystems.org",
  "cdnUrl": "https://cdn.signal.org"
}

To build a .deb file I ran yarn generate --force followed by yarn build-release --force

varanasib commented 5 years ago

Works in LMDE 3.

elimisteve commented 5 years ago

@garretjames's directions worked perfectly for me, except instead of

yarn build-release --force

I left off the --force:

yarn build-release

leo-bogert commented 5 years ago

@moxie-signal @scottnonnenberg-signal

The last version of Signal which was not affected by this bug has now stopped working:

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

Users of the affected systems now cannot use Signal at all anymore.
Can we please get a fix?

siccovansas commented 5 years ago

@leo-bogert I have the same problem. This is disappointing. I was kind of ok with being stuck on v1.14.4 (though I really want to use the new versions), but now I can't even use Signal Desktop anymore :(.

It would be nice if Signal specified which versions of which Linux distro's are supported. Currently it only says 64-bit distributions supporting APT, like Ubuntu or Debian, but Ubuntu 14.04 (and all distributions based on it?) can't install the latest Signal Desktop version for 2.5 months already and now they can't even use Signal Desktop at all.

Will this be fixed or not? Ubuntu 14.04's EOL is just 6 months away so I can imagine that @scottnonnenberg could better put effort in other development tasks if this is issue is hard to solve, but if it is easy to solve then it would be nice to fix it :). In any case it would be nice to know what we can expect :).

As always kudos for the great work on Signal :heart: !

williamfromtexas commented 5 years ago

Similar story here, failed upgrade. Just tried upgrading today based on the "update within X days" banner. Linux Mint 17.2.

Clicking on the desktop icon opens the window but only with the "You are almost done, download and run the new version" message.

In the terminal it hangs and does not open.

myuser@linuxmint ~ $ 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/myuser/.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.bqgYBD)
    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)
leo-bogert commented 5 years ago

@siccovansas

Ubuntu 14.04's EOL is just 6 months away so I can imagine that @scottnonnenberg could better put effort in other development tasks if this is issue is hard to solve, but if it is easy to solve then it would be nice to fix it :)

Well, at first glance yes, but here are some further thoughts:

Sorry for being an annoyance here, but it's just impossible for me to find the weeks of time now to dist-upgrade just for Signal.

scarlion1 commented 5 years ago

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 commented 5 years ago

@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 commented 5 years ago

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: https://github.com/signalapp/libsignal-service-java/issues/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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

@alexburner i think this is the easiest work-around for now: https://github.com/signalapp/Signal-Desktop/issues/2604#issuecomment-431624475