snapcrafters / signal-desktop

Unofficial Signal Desktop installer for Linux
https://snapcraft.io/signal-desktop
GNU Affero General Public License v3.0
35 stars 14 forks source link

[Bug]: Failing to start #265

Closed Vilasamuni closed 8 months ago

Vilasamuni commented 8 months ago

What happened?

Today, every time I try to start Signal it gets stuck on the loading screen - the screen with the Signal logo and 3 animated dots. It does not show 'loading X messages' or a progress bar. I've tried restarting the machine and deleting ~/snap/signal-desktop/common/.cache/ to see if that helps, but no luck.

What should have happened?

It should finish loading and show messages as normal.

Output of snap info $snap_name

name:      signal-desktop
summary:   Speak Freely - Private Messenger
publisher: Snapcrafters✪
store-url: https://snapcraft.io/signal-desktop
contact:   https://github.com//snapcrafters/signal-desktop/issues
license:   AGPL-3.0-only
description: |
  **Note: To use the Signal desktop app, you must first install Signal on your phone.**

  Millions of people use Signal every day for free and instantaneous communication anywhere in the
  world. Send and receive high-fidelity messages, participate in HD voice/video calls, and explore a
  growing set of new features that help you stay connected. Signal's advanced privacy-preserving
  technology is always enabled, so you can focus on sharing the moments that matter with the people
  who matter to you.

  - Say anything - State-of-the-art end-to-end encryption (powered by the open source Signal
  Protocol™) keeps your conversations secure. Privacy isn't an optional mode; it's just the way that
  Signal works. Every message, every call, every time.
  - Go fast - Messages are delivered quickly and reliably, even on slow networks. Signal is
  optimized to operate in the most constrained environment possible.
  - Feel free - Signal is a completely independent 501c3 nonprofit. Development is supported by
  users like you. No advertisements. No trackers. No kidding.
  - Be yourself - You can use your existing phone number and address book to securely communicate
  with your friends.
  - Speak up - Whether they live across town or across the ocean, Signal's enhanced audio and video
  quality will make your friends and family feel closer.
  - Whisper in the shadows - Switch to the dark theme if you refuse to see the light.

  **Minimize to tray**

  Per the request of the Signal developers, this snap does not use the system tray by default. This
  is disabled by default per the request of the Signal developers, because system tray support is
  not stable. Set to `false`, Signal will stop when you close it and will not have a system tray
  icon. You can enable it by running the following command.

      snap set signal-desktop tray-icon=true

  **Are you having issues?**

  Let us know by creating a new issue here: https://github.com/snapcrafters/signal-desktop/issues

  **Authors**

  This snap is maintained by the Snapcrafters community, and is not necessarily endorsed or
  officially maintained by the upstream developers.
commands:
  - signal-desktop
snap-id:      r4LxMVp7zWramXsJQAKdamxy6TAWlaDD
tracking:     latest/stable
refresh-date: today at 15:21 GMT
channels:
  latest/stable:    6.47.0 2024-02-08 (618) 193MB -
  latest/candidate: 6.47.0 2024-02-08 (618) 193MB -
  latest/beta:      ↑                             
  latest/edge:      ↑                             
installed:          6.47.0            (618) 193MB -

Output of snap connections $snap_name

Interface               Plug                                   Slot                            Notes
audio-playback          signal-desktop:audio-playback          :audio-playback                 -
audio-record            signal-desktop:audio-record            :audio-record                   -
browser-support         signal-desktop:browser-support         :browser-support                -
camera                  signal-desktop:camera                  :camera                         -
content[gnome-42-2204]  signal-desktop:gnome-42-2204           gnome-42-2204:gnome-42-2204     -
content[gtk-3-themes]   signal-desktop:gtk-3-themes            gtk-common-themes:gtk-3-themes  -
content[icon-themes]    signal-desktop:icon-themes             gtk-common-themes:icon-themes   -
content[sound-themes]   signal-desktop:sound-themes            gtk-common-themes:sound-themes  -
desktop                 signal-desktop:desktop                 :desktop                        -
desktop-legacy          signal-desktop:desktop-legacy          :desktop-legacy                 -
gsettings               signal-desktop:gsettings               :gsettings                      -
home                    signal-desktop:home                    :home                           -
network                 signal-desktop:network                 :network                        -
opengl                  signal-desktop:opengl                  :opengl                         -
removable-media         signal-desktop:removable-media         -                               -
screen-inhibit-control  signal-desktop:screen-inhibit-control  :screen-inhibit-control         -
unity7                  signal-desktop:unity7                  :unity7                         -
wayland                 signal-desktop:wayland                 :wayland                        -
x11                     signal-desktop:x11                     :x11                            -

Output of snap version

snap    2.61.1
snapd   2.61.1
series  16
ubuntu  22.04
kernel  6.1.0-1029-oem

Relevant log output

[ 5461.186901] audit: type=1400 audit(1707411858.379:431): apparmor="DENIED" operation="capable" profile="/snap/snapd/20671/usr/lib/snapd/snap-confine" pid=22199 comm="snap-confine" capability=12  capname="net_admin"
[ 5461.186910] audit: type=1400 audit(1707411858.379:432): apparmor="DENIED" operation="capable" profile="/snap/snapd/20671/usr/lib/snapd/snap-confine" pid=22199 comm="snap-confine" capability=38  capname="perfmon"
[ 5461.290889] audit: type=1326 audit(1707411858.483:433): auid=1000 uid=1000 gid=1000 ses=3 subj=snap.signal-desktop.signal-desktop pid=22288 comm="signal-desktop" exe="/snap/signal-desktop/618/opt/Signal/signal-desktop" sig=0 arch=c000003e syscall=330 compat=0 ip=0x7f644301115b code=0x50000
[ 5461.290894] audit: type=1326 audit(1707411858.483:434): auid=1000 uid=1000 gid=1000 ses=3 subj=snap.signal-desktop.signal-desktop pid=22289 comm="signal-desktop" exe="/snap/signal-desktop/618/opt/Signal/signal-desktop" sig=0 arch=c000003e syscall=330 compat=0 ip=0x7f62cf03d15b code=0x50000
[ 5461.765271] audit: type=1107 audit(1707411858.959:435): pid=1594 uid=102 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_method_call"  bus="system" path="/" interface="org.freedesktop.DBus.ObjectManager" member="GetManagedObjects" mask="send" name="org.bluez" pid=22199 label="snap.signal-desktop.signal-desktop" peer_pid=1591 peer_label="unconfined"
                exe="/usr/bin/dbus-daemon" sauid=102 hostname=? addr=? terminal=?'
[ 5461.774839] audit: type=1400 audit(1707411858.967:436): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/implicit_layer.d/" pid=22332 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 5461.774845] audit: type=1400 audit(1707411858.967:437): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/implicit_layer.d/" pid=22332 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 5461.774946] audit: type=1400 audit(1707411858.967:438): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/icd.d/" pid=22332 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 5461.774950] audit: type=1400 audit(1707411858.967:439): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/icd.d/" pid=22332 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 5461.775049] audit: type=1400 audit(1707411858.967:440): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/implicit_layer.d/" pid=22332 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 5483.321615] kauditd_printk_skb: 48 callbacks suppressed
[ 5483.321618] audit: type=1326 audit(1707411880.515:489): auid=1000 uid=1000 gid=1000 ses=3 subj=snap.signal-desktop.signal-desktop pid=22651 comm="signal-desktop" exe="/snap/signal-desktop/618/opt/Signal/signal-desktop" sig=0 arch=c000003e syscall=330 compat=0 ip=0x7febab4f815b code=0x50000
[ 5483.321622] audit: type=1326 audit(1707411880.515:490): auid=1000 uid=1000 gid=1000 ses=3 subj=snap.signal-desktop.signal-desktop pid=22650 comm="signal-desktop" exe="/snap/signal-desktop/618/opt/Signal/signal-desktop" sig=0 arch=c000003e syscall=330 compat=0 ip=0x7f6784c2515b code=0x50000
[ 5483.787380] audit: type=1107 audit(1707411880.979:491): pid=1594 uid=102 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_method_call"  bus="system" path="/" interface="org.freedesktop.DBus.ObjectManager" member="GetManagedObjects" mask="send" name="org.bluez" pid=22562 label="snap.signal-desktop.signal-desktop" peer_pid=1591 peer_label="unconfined"
                exe="/usr/bin/dbus-daemon" sauid=102 hostname=? addr=? terminal=?'
[ 5483.797035] audit: type=1400 audit(1707411880.991:492): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/implicit_layer.d/" pid=22694 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 5483.797051] audit: type=1400 audit(1707411880.991:493): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/implicit_layer.d/" pid=22694 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 5483.797116] audit: type=1400 audit(1707411880.991:494): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/icd.d/" pid=22694 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 5483.797134] audit: type=1400 audit(1707411880.991:495): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/icd.d/" pid=22694 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 5483.797169] audit: type=1400 audit(1707411880.991:496): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/implicit_layer.d/" pid=22694 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 5483.797206] audit: type=1400 audit(1707411880.991:497): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/implicit_layer.d/" pid=22694 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 5483.797237] audit: type=1400 audit(1707411880.991:498): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/icd.d/" pid=22694 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0

Teminal output of app

$ signal-desktop 
Set Windows Application User Model ID (AUMID) { AUMID: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR /snap/signal-desktop/618/opt/Signal/resources/app.asar/config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME undefined
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
SIGNAL_ENABLE_HTTP undefined
userData: /home/vilas/snap/signal-desktop/618/.config/Signal
config/get: Successfully read user config file
config/get: Successfully read ephemeral config file
making app single instance
Error org.freedesktop.DBus.Error.Failed: cannot find desktop file "/var/lib/snapd/desktop/applications/signal-desktop_signal.desktop"
Error org.freedesktop.DBus.Error.Failed: cannot find desktop file "/var/lib/snapd/desktop/applications/signal-desktop_signal.desktop"
Gtk-Message: 17:04:40.920: Not loading module "atk-bridge": The functionality is provided by GTK natively. Please try to not load it.

(signal-desktop:22562): Gtk-WARNING **: 17:04:40.968: GTK+ module /snap/signal-desktop/618/gnome-platform/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so cannot be loaded.
GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported.
Gtk-Message: 17:04:40.968: Failed to load module "canberra-gtk-module"

(signal-desktop:22562): Gtk-WARNING **: 17:04:40.969: GTK+ module /snap/signal-desktop/618/gnome-platform/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so cannot be loaded.
GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported.
Gtk-Message: 17:04:40.969: Failed to load module "canberra-gtk-module"
{"level":30,"time":"2024-02-08T17:04:41.061Z","msg":"got fast localeOverride setting null"}
{"level":30,"time":"2024-02-08T17:04:41.061Z","msg":"app.ready: hour cycle preference: UnknownPreference"}
{"level":30,"time":"2024-02-08T17:04:41.062Z","msg":"app.ready: preferred system locales: en-GB, en"}
{"level":30,"time":"2024-02-08T17:04:41.062Z","msg":"locale: Supported locales: af-ZA, ar, az-AZ, bg-BG, bn-BD, bs-BA, ca, cs, da, de, el, en, es, et-EE, eu, fa-IR, fi, fr, ga-IE, gl-ES, gu-IN, he, hi-IN, hr-HR, hu, id, it, ja, ka-GE, kk-KZ, km-KH, kn-IN, ko, ky-KG, lt-LT, lv-LV, mk-MK, ml-IN, mr-IN, ms, my, nb, nl, pa-IN, pl, pt-BR, pt-PT, ro-RO, ru, sk-SK, sl-SI, sq-AL, sr, sv, sw, ta-IN, te-IN, th, tl-PH, tr, ug, uk-UA, ur, vi, yue, zh-CN, zh-HK, zh-Hant"}
{"level":30,"time":"2024-02-08T17:04:41.062Z","msg":"locale: Preferred locales: en-GB, en"}
{"level":30,"time":"2024-02-08T17:04:41.062Z","msg":"locale: Locale Override: null"}
{"level":30,"time":"2024-02-08T17:04:41.063Z","msg":"locale: Matched locale: en"}
{"level":40,"time":"2024-02-08T17:04:41.080Z","msg":"intl.onWarn [@formatjs/intl] \"defaultRichTextElements\" was specified but \"message\" was not pre-compiled. \nPlease consider using \"@formatjs/cli\" to pre-compile your messages for performance.\nFor more details see https://formatjs.io/docs/getting-started/message-distribution"}
{"level":30,"time":"2024-02-08T17:04:41.080Z","msg":"locale: Text info direction for en: ltr"}
{"level":30,"time":"2024-02-08T17:04:41.081Z","msg":"app ready"}
{"level":30,"time":"2024-02-08T17:04:41.082Z","msg":"starting version 6.47.0"}
{"level":30,"time":"2024-02-08T17:04:41.082Z","msg":"media access status [object Undefined] [object Undefined]"}
{"level":30,"time":"2024-02-08T17:04:41.083Z","msg":"got fast theme-setting value system"}
{"level":40,"time":"2024-02-08T17:04:41.083Z","msg":"MainSQL: Database log code=283: recovered 737 frames from WAL file [REDACTED]/sql/db.sqlite-wal"}
{"level":30,"time":"2024-02-08T17:04:41.083Z","msg":"MainSQL: updateSchema:\n  Current user_version: 980;\n  Most recent db schema: 980;\n  SQLite version: 3.42.0;\n  SQLCipher version: 4.5.5 community;\n  (deprecated) schema_version: 439;\n"}
{"level":30,"time":"2024-02-08T17:04:41.084Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2024-02-08T17:04:41.084Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2024-02-08T17:04:41.084Z","msg":"getSystemTraySetting had no flags and did no DB lookups. Returning DoNotUseSystemTray"}
{"level":30,"time":"2024-02-08T17:04:41.085Z","msg":"Initializing BrowserWindow config: {\"show\":false,\"width\":1290,\"height\":796,\"minWidth\":300,\"minHeight\":200,\"autoHideMenuBar\":true,\"titleBarStyle\":\"default\",\"backgroundColor\":\"#121212\",\"webPreferences\":{\"devTools\":false,\"spellcheck\":true,\"enableBlinkFeatures\":\"CSSPseudoDir,CSSLogical\",\"enablePreferredSizeMode\":true,\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"sandbox\":false,\"contextIsolation\":true,\"preload\":\"[REDACTED]/preload.bundle.js\",\"backgroundThrottling\":true,\"disableBlinkFeatures\":\"Accelerated2dCanvas,AcceleratedSmallCanvases\"},\"icon\":\"[REDACTED]/images/signal-logo-desktop-linux.png\",\"x\":0,\"y\":64}"}
{"level":30,"time":"2024-02-08T17:04:41.107Z","msg":"spellcheck: user locales: [\"en-GB\",\"en\"]"}
{"level":30,"time":"2024-02-08T17:04:41.107Z","msg":"spellcheck: available spellchecker languages: [\"af\",\"bg\",\"ca\",\"cs\",\"cy\",\"da\",\"de\",\"de-DE\",\"el\",\"en\",\"en-AU\",\"en-CA\",\"en-GB\",\"en-GB-oxendict\",\"en-US\",\"es\",\"es-419\",\"es-AR\",\"es-ES\",\"es-MX\",\"es-US\",\"et\",\"fa\",\"fo\",\"fr\",\"fr-FR\",\"he\",\"hi\",\"hr\",\"hu\",\"hy\",\"id\",\"it\",\"it-IT\",\"ko\",\"lt\",\"lv\",\"nb\",\"nl\",\"pl\",\"pt\",\"pt-BR\",\"pt-PT\",\"ro\",\"ru\",\"sh\",\"sk\",\"sl\",\"sq\",\"sr\",\"sv\",\"ta\",\"tg\",\"tr\",\"uk\",\"vi\"]"}
{"level":30,"time":"2024-02-08T17:04:41.107Z","msg":"spellcheck: setting languages to: [\"en-GB\",\"en\"]"}
[22562:0208/170441.113870:ERROR:object_proxy.cc(577)] Failed to call method: org.freedesktop.login1.Manager.Inhibit: object_path= /org/freedesktop/login1: org.freedesktop.DBus.Error.AccessDenied: An AppArmor policy prevents this sender from sending this message to this recipient; type="method_call", sender=":1.313" (uid=1000 pid=22562 comm="/snap/signal-desktop/618/opt/Signal/signal-desktop" label="snap.signal-desktop.signal-desktop (enforce)") interface="org.freedesktop.login1.Manager" member="Inhibit" error name="(unset)" requested_reply="0" destination="org.freedesktop.login1" (uid=0 pid=1629 comm="/lib/systemd/systemd-logind " label="unconfined")
{"level":30,"time":"2024-02-08T17:04:41.332Z","msg":"got fast theme-setting value system"}
{"level":50,"time":"2024-02-08T17:04:41.487Z","msg":"Preload error in [REDACTED]/preload.bundle.js:  Cannot read properties of undefined (reading 'PureComponent')"}
{"level":30,"time":"2024-02-08T17:04:41.505Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2024-02-08T17:04:41.509Z","msg":"System tray service: created"}
{"level":30,"time":"2024-02-08T17:04:41.509Z","msg":"System tray service: updating main window. Previously, there was not a window, and now there is"}
{"level":30,"time":"2024-02-08T17:04:41.509Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2024-02-08T17:04:41.509Z","msg":"Begin ensuring permissions"}
{"level":30,"time":"2024-02-08T17:04:41.510Z","msg":"Ensuring file permissions for 4 files"}
{"level":30,"time":"2024-02-08T17:04:41.511Z","msg":"Finish ensuring permissions in 2ms"}
{"level":30,"time":"2024-02-08T17:04:41.511Z","msg":"main window is ready-to-show"}
{"level":30,"time":"2024-02-08T17:04:41.511Z","msg":"showing main window"}
{"level":30,"time":"2024-02-08T17:04:41.512Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2024-02-08T17:04:41.619Z","msg":"Updating BrowserWindow config: %s {\"maximized\":false,\"autoHideMenuBar\":true,\"fullscreen\":false,\"width\":1290,\"height\":796,\"x\":0,\"y\":64}"}
{"level":30,"time":"2024-02-08T17:04:41.623Z","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2024-02-08T17:04:41.623Z","msg":"config/set: Saved ephemeral config to disk"}
jnsgruk commented 8 months ago

Hi, thanks for the report. Not sure what's happened here, but I've rolled the stable channel back to the last revision while we dig in.

Vilasamuni commented 8 months ago

Thanks for the speedy response That rollback has got it working again for me. VilāsamuniOn 8 Feb 2024, at 17:32, Jon Seager @.***> wrote: Hi, thanks for the report. Not sure what's happened here, but I've rolled the stable channel back to the last revision while we dig in.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

mach-o commented 8 months ago

In case it helps anyone else, I was able to workaround this with "snap revert signal-desktop" which pushed me back to 6.46.0

jnsgruk commented 8 months ago

Posting here the things I've tried so far:

Looking at the logs I think the offending line is:

Preload error in [REDACTED]/preload.bundle.js: Cannot read properties of undefined (reading 'PureComponent')

As far as I can tell PureComponent is part of React, but I've yet to narrow down the problem.

jnsgruk commented 8 months ago

I haven't fixed the issue, but if I build the snap against Signal version v6.48.0-beta.1 which will release as v6.48.0 next week, it seems to work. I'll dig in and see if I can spot the difference and land a patch, but if not we'll get a new working version next week (I think).

jnsgruk commented 8 months ago

I think I have a fix in #266