signalapp / Signal-Desktop

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

[Wayland] Intermittent segfault crash on startup #6247

Closed kevinoid closed 7 months ago

kevinoid commented 1 year ago

Bug Description

Signal Desktop Beta v6.3.0-beta.1 crashes shortly after starting, when started with --ozone-platform=wayland, approximately 50% of the time.

Steps to Reproduce

  1. Run signal-desktop-beta --ozone-platform=wayland

Actual Result:

The Signal window briefly appears then disappears. On the next execution, the "Application crashed" dialog appears. (Note: This occurs ~50% of the time. The other 50% Signal does not crash.)

Expected Result:

Signal does not crash.

Output

Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop-beta' }
NODE_ENV production
NODE_CONFIG_DIR /opt/Signal Beta/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/kevin/.config/Signal Beta
config/get: Successfully read user config file
config/get: Successfully read ephemeral config file
(node:367121) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `exe --trace-deprecation ...` to show where the warning was created)
[0116/115826.461669:ERROR:elf_dynamic_array_reader.h(64)] tag not found
[0116/115826.462095:ERROR:elf_dynamic_array_reader.h(64)] tag not found

Platform Info

Signal Version: 6.3.0-beta.1

Operating System: Debian GNU/Linux bookworm/sid with Linux 6.2.0-rc3

Linked Device Version: 6.8.2

Link to Debug Log

https://debuglogs.org/desktop/6.3.0-beta.1/desktop-crash-e227e80a9fa0d3629e04b5e5bc2da13ff2111d52190d804bad3fe883cf2f2612.dmp

ctot-nondef commented 1 year ago

not sure if this is the same issue, but I can reproduce this behaviour on fedora sliverblue (since version 6.5.0):

[  162.827616] signal-desktop[3338]: segfault at 2d0 ip 00007f43d9e90e44 sp 00007fff15f58370 error 4 in libc.so.6[7f43d9e28000+180000] likely on CPU 12 (core 6, socket 0)
[  162.827625] Code: b1 55 f8 5d c3 90 f3 0f 1e fa 55 48 89 e5 41 57 41 56 41 55 41 54 53 48 83 ec 48 64 48 8b 04 25 28 00 00 00 48 89 45 c8 31 c0 <8b> 87 d0 02 00 00 85 c0 0f 88 5e 01 00 00 49 89 ff 48 39 bf 28 06
indutny-signal commented 1 year ago

Unfortunately we don't officially support Fedora Linux right now, so I'd advise reaching out to maintainers of the package to see if they can help. Thanks!

omeid commented 1 year ago

Same thing happens on Archlinux.

dumol commented 1 year ago

Using Signal 6.8.0 through Flatpak on a Void Linux musl-based installation, similar issues…

scottnonnenberg-signal commented 1 year ago

@dumol Unfortunately we don't officially support the Flatpak installation technique, or Void Linux, at the moment. I'd recommend that you reach out to the folks maintaining that Flatpak installation technique, see if they can help you out.

dumol commented 1 year ago

@scottnonnenberg-signal Thanks, but the idea was to document that the same issue manifests itself when running Signal under Flatpak. So there's really no reason to look for solutions somewhere else, anyone else affected should wait for Signal (or Electron?) to fix this, AFAICT.

hacktivateit commented 1 year ago

Also happening to me Archlinux fully updated as today, Wayland with Sway, Signal-Desktop 6.9.0-1 installed from community

Signal-desktop manually launched with signal-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-features=WaylandWindowDecorations

Segfault after 4-5 seconds, this is the full output

Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR /usr/lib/signal-desktop/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/REDACTED/.config/Signal
config/get: Successfully read user config file
config/get: Successfully read ephemeral config file
making app single instance
[5539:0315/155754.066057:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.InvalidArgs: Interfaccia «org.freedesktop.portal.FileChooser» inesistente
[5539:0315/155754.066090:ERROR:select_file_dialog_linux_portal.cc(274)] Failed to read portal version property
{"level":30,"time":"2023-03-15T14:57:54.113Z","msg":"app.ready: preferred system locales: it, it-IT, it-IT, it, it"}
{"level":30,"time":"2023-03-15T14:57:54.118Z","msg":"Loading preferred system locale: 'it'"}
{"level":30,"time":"2023-03-15T14:57:54.145Z","msg":"app ready"}
{"level":30,"time":"2023-03-15T14:57:54.145Z","msg":"starting version 6.9.0"}
{"level":30,"time":"2023-03-15T14:57:54.145Z","msg":"media access status [object Undefined] [object Undefined]"}
{"level":30,"time":"2023-03-15T14:57:54.146Z","msg":"got fast theme-setting value dark"}
{"level":30,"time":"2023-03-15T14:57:54.147Z","msg":"got fast theme-setting value dark"}
{"level":30,"time":"2023-03-15T14:57:54.148Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2023-03-15T14:57:54.148Z","msg":"getSystemTraySetting had no flags and did no DB lookups. Returning DoNotUseSystemTray"}
{"level":30,"time":"2023-03-15T14:57:54.149Z","msg":"Initializing BrowserWindow config: {\"show\":false,\"width\":848,\"height\":1053,\"minWidth\":300,\"minHeight\":200,\"autoHideMenuBar\":true,\"titleBarStyle\":\"default\",\"titleBarOverlay\":false,\"backgroundColor\":\"#121212\",\"webPreferences\":{\"devTools\":false,\"spellcheck\":true,\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"sandbox\":false,\"contextIsolation\":true,\"preload\":\"[REDACTED]/preload.bundle.js\",\"backgroundThrottling\":true,\"enablePreferredSizeMode\":true,\"disableBlinkFeatures\":\"Accelerated2dCanvas,AcceleratedSmallCanvases\"},\"icon\":\"[REDACTED]/images/signal-logo-desktop-linux.png\",\"x\":0,\"y\":0}"}
{"level":30,"time":"2023-03-15T14:57:54.159Z","msg":"spellcheck: user locale: it"}
{"level":30,"time":"2023-03-15T14:57:54.159Z","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":"2023-03-15T14:57:54.159Z","msg":"spellcheck: setting languages to:  [\"it\"]"}
{"level":30,"time":"2023-03-15T14:57:54.160Z","msg":"got fast theme-setting value dark"}
{"level":30,"time":"2023-03-15T14:57:54.167Z","msg":"MainSQL: updateSchema:\n  Current user_version: 78;\n  Most recent db schema: 78;\n  SQLite version: 3.39.4;\n  SQLCipher version: 4.5.3 community;\n  (deprecated) schema_version: 339;\n"}
{"level":30,"time":"2023-03-15T14:57:55.019Z","msg":"main window is ready-to-show"}
{"level":30,"time":"2023-03-15T14:57:55.020Z","msg":"showing main window"}
{"level":30,"time":"2023-03-15T14:57:55.027Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2023-03-15T14:57:55.035Z","msg":"System tray service: created"}
{"level":30,"time":"2023-03-15T14:57:55.035Z","msg":"System tray service: updating main window. Previously, there was not a window, and now there is"}
{"level":30,"time":"2023-03-15T14:57:55.035Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2023-03-15T14:57:55.036Z","msg":"Begin ensuring permissions"}
{"level":30,"time":"2023-03-15T14:57:55.072Z","msg":"Ensuring file permissions for 4 files"}
{"level":30,"time":"2023-03-15T14:57:55.074Z","msg":"Finish ensuring permissions in 38ms"}
{"level":30,"time":"2023-03-15T14:57:55.551Z","msg":"MainSQL: slow query getAllConversations duration=42ms"}
{"level":30,"time":"2023-03-15T14:57:56.069Z","msg":"sending `database-ready`"}
{"level":30,"time":"2023-03-15T14:57:56.469Z","msg":"Prevent display sleep service: allowing display sleep"}
{"level":30,"time":"2023-03-15T14:57:56.470Z","msg":"Background throttling enabled because no call is active"}
{"level":30,"time":"2023-03-15T14:57:57.012Z","msg":"updater/start: Updates disabled - not starting new version checks"}
{"level":30,"time":"2023-03-15T14:57:57.036Z","msg":"App loaded - time: 2897"}
{"level":30,"time":"2023-03-15T14:57:57.036Z","msg":"SQL init - time: 28"}
{"level":30,"time":"2023-03-15T14:57:57.036Z","msg":"Preload - time: 504"}
{"level":30,"time":"2023-03-15T14:57:57.036Z","msg":"WebSocket connect - time: 1631"}
{"level":30,"time":"2023-03-15T14:57:57.036Z","msg":"Processed count: 0"}
{"level":30,"time":"2023-03-15T14:57:57.037Z","msg":"Messages per second: 0"}
Errore di segmentazione (core dump creato)
RaitoBezarius commented 1 year ago

I can confirm I reproduce this on signal-desktop stable (6.9.0) on NixOS.

vilvo commented 1 year ago

Reproduces on signal-desktop 6.10.1 with:

❯ signal-desktop
Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR /nix/store/z7674vjpxnyyc584fdal2pd11h7xw1hq-signal-desktop-6.10.1/lib/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/vilvo/.config/Signal
config/get: Successfully read user config file
config/get: Successfully read ephemeral config file
making app single instance
{"level":30,"time":"2023-03-20T13:05:05.678Z","msg":"app.ready: preferred system locales: en-US, en"}
{"level":30,"time":"2023-03-20T13:05:05.682Z","msg":"Loading preferred system locale: 'en-US'"}
{"level":40,"time":"2023-03-20T13:05:05.682Z","msg":"Problem loading messages for locale 'en-US', Error: ENOENT, _locales/en-US/messages.json not found in [REDACTED]"}
{"level":40,"time":"2023-03-20T13:05:05.682Z","msg":"Falling back to parent language: 'en'"}
{"level":30,"time":"2023-03-20T13:05:05.710Z","msg":"app ready"}
{"level":30,"time":"2023-03-20T13:05:05.711Z","msg":"starting version 6.10.1"}
{"level":30,"time":"2023-03-20T13:05:05.711Z","msg":"media access status [object Undefined] [object Undefined]"}
{"level":30,"time":"2023-03-20T13:05:05.711Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2023-03-20T13:05:05.713Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2023-03-20T13:05:05.714Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2023-03-20T13:05:05.714Z","msg":"getSystemTraySetting had no flags and did no DB lookups. Returning DoNotUseSystemTray"}
{"level":30,"time":"2023-03-20T13:05:05.715Z","msg":"Initializing BrowserWindow config: {\"show\":false,\"width\":956,\"height\":1030,\"minWidth\":300,\"minHeight\":200,\"autoHideMenuBar\":false,\"titleBarStyle\":\"default\",\"titleBarOverlay\":false,\"backgroundColor\":\"#3a76f0\",\"webPreferences\":{\"devTools\":false,\"spellcheck\":true,\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"sandbox\":false,\"contextIsolation\":true,\"preload\":\"[REDACTED]/preload.bundle.js\",\"backgroundThrottling\":true,\"enablePreferredSizeMode\":true,\"disableBlinkFeatures\":\"Accelerated2dCanvas,AcceleratedSmallCanvases\"},\"icon\":\"[REDACTED]/images/signal-logo-desktop-linux.png\",\"x\":0,\"y\":0}"}
{"level":30,"time":"2023-03-20T13:05:05.725Z","msg":"spellcheck: user locale: en-US"}
{"level":30,"time":"2023-03-20T13:05:05.725Z","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":"2023-03-20T13:05:05.725Z","msg":"spellcheck: setting languages to:  [\"en-US\"]"}
{"level":30,"time":"2023-03-20T13:05:05.726Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2023-03-20T13:05:05.734Z","msg":"MainSQL: updateSchema:\n  Current user_version: 79;\n  Most recent db schema: 79;\n  SQLite version: 3.39.4;\n  SQLCipher version: 4.5.3 community;\n  (deprecated) schema_version: 341;\n"}
{"level":30,"time":"2023-03-20T13:05:06.658Z","msg":"main window is ready-to-show"}
{"level":30,"time":"2023-03-20T13:05:06.659Z","msg":"showing main window"}
Segmentation fault (core dumped)

kernel log

[  218.632454] signal-desktop[2160]: segfault at 31c001010101 ip 00007f2e46159fec sp 00007ffe218b8978 error 6 in libc.so.6[7f2e46028000+176000] likely on CPU 1 (core 1, socket 0)
[  218.632464] Code: 7c 10 8a 0e 74 0a 0f b7 74 16 fe 66 89 74 17 fe 88 0f c3 8b 4c 16 fc 8b 36 89 4c 17 fc 89 37 c3 c5 fa 6f 06 c5 fa 6f 4c 16 f0 <c5> fa 7f 07 c5 fa 7f 4c 17 f0 c3 66 0f 1f 84 00 00 00 00 00 48 8b
[  233.396679] signal-desktop[2393]: segfault at 141801010101 ip 000055ab91c08aa6 sp 00007ffee1ae48f0 error 4 in signal-desktop[55ab8a9c8000+75e0000] likely on CPU 5 (core 1, socket 0)
[  233.396692] Code: 53 48 83 ec 48 48 89 f3 48 83 7f 20 00 0f 85 35 01 00 00 4c 8b a7 28 01 00 00 4c 8b bf 30 01 00 00 4d 39 fc 0f 84 0f 01 00 00 <4d> 8b 2c 24 4d 8b b5 20 01 00 00 4d 85 f6 74 28 e8 a5 2d 78 fc 88
[  246.808079] signal-desktop[2604]: segfault at 208c01010101 ip 0000560cb094faa6 sp 00007ffcd441bad0 error 4 in signal-desktop[560ca970f000+75e0000] likely on CPU 0 (core 0, socket 0)
[  246.808092] Code: 53 48 83 ec 48 48 89 f3 48 83 7f 20 00 0f 85 35 01 00 00 4c 8b a7 28 01 00 00 4c 8b bf 30 01 00 00 4d 39 fc 0f 84 0f 01 00 00 <4d> 8b 2c 24 4d 8b b5 20 01 00 00 4d 85 f6 74 28 e8 a5 2d 78 fc 88
wooque commented 1 year ago

Intermittent segmentation faults happen with latest Signal - 6.15.0 on Debian 12 as well.

ghost commented 1 year ago

Segmentation fault happens moments after the window pops up - version 6.15.0 on Alpine Linux edge (musl based).

eclairevoyant commented 1 year ago

Wait a month until signal starts using electron 23 (see #6112), that should fix this

posting logs is not really going to help unless you've compiled signal yourself with debugging symbols enabled and can post a full backtrace

wooque commented 1 year ago

I found workaround for greater stability. I start Signal first without arguments, that starts Signal on Xwayland and after it does initialization and sync, I close Signal and start as Wayland native app with --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform=wayland arguments. I haven't experience any crashes. Seems that initialization/synchronization has something that depends on Xorg. But after that it works on Wayland without problems.

aerosol commented 1 year ago

For anyone interested, I had the same issue on Arch until 6.18.1-1, it works fine at last. Maybe it helps to identify the cause?

ghost commented 1 year ago

I can't seem to reproduce anymore either.

aerosol commented 1 year ago

For anyone ending up here via search -- actually, it's not the package update, my own setup was faulty.

Having the following commands executed (here: via hyprland config) makes it not segfault anymore:

exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=$XDG_CURRENT_DESKTOP
PhoenixClank commented 1 year ago

For anyone ending up here via search -- actually, it's not the package update, my own setup was faulty.

Having the following commands executed (here: via hyprland config) makes it not segfault anymore:

exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=$XDG_CURRENT_DESKTOP

Still crashes on me with the second line included (the first one I already had).

scottnonnenberg-signal commented 1 year ago

Please let us know how Signal Desktop 6.20.0-beta.1 works for you - it is on a newer version of Electron.

xbb commented 1 year ago

Please let us know how Signal Desktop 6.20.0-beta.1 works for you - it is on a newer version of Electron.

Thanks, I noticed 6.20.0-beta.1 and 6.19.0 share the same Electron version.

Tried 6.20.0-beta.1 briefly then installed 6.19.0, both didn't crash for me yet.

hacktivateit commented 1 year ago

Archlinux, sway on Wayland, extra/signal-desktop updated to 6.20.1-1 lauching with

signal-desktop --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform=wayland

I also remove .config/Signal for a completely fresh start

No segmentation fault, but the windows is not showing :sob:

Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR /usr/lib/signal-desktop/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/REDACTED/.config/Signal
config/start: Did not find user config file (or it was empty), cache is now empty object
config/start: Did not find ephemeral config file (or it was empty), cache is now empty object
making app single instance
[20426:0607/130505.277184:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.InvalidArgs: Interfaccia «org.freedesktop.portal.FileChooser» inesistente
[20426:0607/130505.277224:ERROR:select_file_dialog_linux_portal.cc(274)] Failed to read portal version property
{"level":30,"time":"2023-06-07T11:05:05.305Z","msg":"app.ready: preferred system locales: it-IT, it"}
{"level":30,"time":"2023-06-07T11:05:05.306Z","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":"2023-06-07T11:05:05.306Z","msg":"locale: Preferred locales:  it-IT, it"}
{"level":30,"time":"2023-06-07T11:05:05.307Z","msg":"locale: Matched locale: it"}
{"level":30,"time":"2023-06-07T11:05:05.347Z","msg":"locale: Text info direction for it: ltr"}
{"level":30,"time":"2023-06-07T11:05:05.347Z","msg":"key/initialize: Generating new encryption key, since we did not find it on disk"}
{"level":30,"time":"2023-06-07T11:05:05.348Z","msg":"config/set: Saving user config to disk"}
{"level":30,"time":"2023-06-07T11:05:05.348Z","msg":"config/set: Saved user config to disk"}
{"level":30,"time":"2023-06-07T11:05:05.350Z","msg":"app ready"}
{"level":30,"time":"2023-06-07T11:05:05.350Z","msg":"starting version 6.20.1"}
{"level":30,"time":"2023-06-07T11:05:05.350Z","msg":"media access status [object Undefined] [object Undefined]"}
{"level":30,"time":"2023-06-07T11:05:05.365Z","msg":"MainSQL: migrateSchemaVersion: Migrating from schema_version 0 to user_version 0"}
{"level":30,"time":"2023-06-07T11:05:05.374Z","msg":"MainSQL: updateSchema:\n  Current user_version: 0;\n  Most recent db schema: 83;\n  SQLite version: 3.39.4;\n  SQLCipher version: 4.5.3 community;\n  (deprecated) schema_version: 0;\n"}
{"level":30,"time":"2023-06-07T11:05:05.374Z","msg":"MainSQL: updateToSchemaVersion1: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.379Z","msg":"MainSQL: updateToSchemaVersion1: success!"}
{"level":30,"time":"2023-06-07T11:05:05.379Z","msg":"MainSQL: updateToSchemaVersion2: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.383Z","msg":"MainSQL: updateToSchemaVersion2: success!"}
{"level":30,"time":"2023-06-07T11:05:05.383Z","msg":"MainSQL: updateToSchemaVersion3: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.387Z","msg":"MainSQL: updateToSchemaVersion3: success!"}
{"level":30,"time":"2023-06-07T11:05:05.387Z","msg":"MainSQL: updateToSchemaVersion4: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.391Z","msg":"MainSQL: updateToSchemaVersion4: success!"}
{"level":30,"time":"2023-06-07T11:05:05.391Z","msg":"MainSQL: updateToSchemaVersion6: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.395Z","msg":"MainSQL: updateToSchemaVersion6: success!"}
{"level":30,"time":"2023-06-07T11:05:05.395Z","msg":"MainSQL: updateToSchemaVersion7: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.400Z","msg":"MainSQL: updateToSchemaVersion7: success!"}
{"level":30,"time":"2023-06-07T11:05:05.400Z","msg":"MainSQL: updateToSchemaVersion8: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.405Z","msg":"MainSQL: updateToSchemaVersion8: success!"}
{"level":30,"time":"2023-06-07T11:05:05.405Z","msg":"MainSQL: updateToSchemaVersion9: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.408Z","msg":"MainSQL: updateToSchemaVersion9: success!"}
{"level":30,"time":"2023-06-07T11:05:05.408Z","msg":"MainSQL: updateToSchemaVersion10: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.412Z","msg":"MainSQL: updateToSchemaVersion10: success!"}
{"level":30,"time":"2023-06-07T11:05:05.412Z","msg":"MainSQL: updateToSchemaVersion11: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.416Z","msg":"MainSQL: updateToSchemaVersion11: success!"}
{"level":30,"time":"2023-06-07T11:05:05.416Z","msg":"MainSQL: updateToSchemaVersion12: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.420Z","msg":"MainSQL: updateToSchemaVersion12: success!"}
{"level":30,"time":"2023-06-07T11:05:05.420Z","msg":"MainSQL: updateToSchemaVersion13: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.423Z","msg":"MainSQL: updateToSchemaVersion13: success!"}
{"level":30,"time":"2023-06-07T11:05:05.423Z","msg":"MainSQL: updateToSchemaVersion14: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.427Z","msg":"MainSQL: updateToSchemaVersion14: success!"}
{"level":30,"time":"2023-06-07T11:05:05.427Z","msg":"MainSQL: updateToSchemaVersion15: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.432Z","msg":"MainSQL: updateToSchemaVersion15: success!"}
{"level":30,"time":"2023-06-07T11:05:05.432Z","msg":"MainSQL: updateToSchemaVersion16: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.436Z","msg":"MainSQL: updateToSchemaVersion16: success!"}
{"level":30,"time":"2023-06-07T11:05:05.436Z","msg":"MainSQL: updateToSchemaVersion17: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.437Z","msg":"MainSQL: updateToSchemaVersion17: Index messages_view_once did not already exist"}
{"level":30,"time":"2023-06-07T11:05:05.441Z","msg":"MainSQL: updateToSchemaVersion17: success!"}
{"level":30,"time":"2023-06-07T11:05:05.441Z","msg":"MainSQL: updateToSchemaVersion18: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.445Z","msg":"MainSQL: updateToSchemaVersion18: success!"}
{"level":30,"time":"2023-06-07T11:05:05.445Z","msg":"MainSQL: updateToSchemaVersion19: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.449Z","msg":"MainSQL: updateToSchemaVersion19: success!"}
{"level":30,"time":"2023-06-07T11:05:05.449Z","msg":"MainSQL: updateToSchemaVersion20: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.455Z","msg":"MainSQL: updateToSchemaVersion20: success!"}
{"level":30,"time":"2023-06-07T11:05:05.459Z","msg":"MainSQL: updateToSchemaVersion21: success!"}
{"level":30,"time":"2023-06-07T11:05:05.463Z","msg":"MainSQL: updateToSchemaVersion22: success!"}
{"level":30,"time":"2023-06-07T11:05:05.467Z","msg":"MainSQL: updateToSchemaVersion23: success!"}
{"level":30,"time":"2023-06-07T11:05:05.471Z","msg":"MainSQL: updateToSchemaVersion24: success!"}
{"level":30,"time":"2023-06-07T11:05:05.477Z","msg":"MainSQL: updateToSchemaVersion25: success!"}
{"level":30,"time":"2023-06-07T11:05:05.481Z","msg":"MainSQL: updateToSchemaVersion26: success!"}
{"level":30,"time":"2023-06-07T11:05:05.485Z","msg":"MainSQL: updateToSchemaVersion27: success!"}
{"level":30,"time":"2023-06-07T11:05:05.489Z","msg":"MainSQL: updateToSchemaVersion28: success!"}
{"level":30,"time":"2023-06-07T11:05:05.493Z","msg":"MainSQL: updateToSchemaVersion29: success!"}
{"level":30,"time":"2023-06-07T11:05:05.497Z","msg":"MainSQL: updateToSchemaVersion30: success!"}
{"level":30,"time":"2023-06-07T11:05:05.497Z","msg":"MainSQL: updateToSchemaVersion31: starting..."}
{"level":30,"time":"2023-06-07T11:05:05.502Z","msg":"MainSQL: updateToSchemaVersion31: success!"}
{"level":30,"time":"2023-06-07T11:05:05.507Z","msg":"MainSQL: updateToSchemaVersion32: success!"}
{"level":30,"time":"2023-06-07T11:05:05.512Z","msg":"MainSQL: updateToSchemaVersion33: success!"}
{"level":30,"time":"2023-06-07T11:05:05.516Z","msg":"MainSQL: updateToSchemaVersion34: success!"}
{"level":30,"time":"2023-06-07T11:05:05.520Z","msg":"MainSQL: updateToSchemaVersion35: success!"}
{"level":30,"time":"2023-06-07T11:05:05.524Z","msg":"MainSQL: updateToSchemaVersion36: success!"}
{"level":30,"time":"2023-06-07T11:05:05.529Z","msg":"MainSQL: updateToSchemaVersion37: success!"}
{"level":30,"time":"2023-06-07T11:05:05.538Z","msg":"MainSQL: updateToSchemaVersion38: success!"}
{"level":30,"time":"2023-06-07T11:05:05.543Z","msg":"MainSQL: updateToSchemaVersion39: success!"}
{"level":30,"time":"2023-06-07T11:05:05.548Z","msg":"MainSQL: updateToSchemaVersion40: success!"}
{"level":30,"time":"2023-06-07T11:05:05.556Z","msg":"MainSQL: updateToSchemaVersion41: success!"}
{"level":30,"time":"2023-06-07T11:05:05.558Z","msg":"MainSQL: updateToSchemaVersion42: success!"}
{"level":30,"time":"2023-06-07T11:05:05.559Z","msg":"MainSQL: updateToSchemaVersion43: About to iterate through 0 conversations"}
{"level":30,"time":"2023-06-07T11:05:05.559Z","msg":"MainSQL: updateToSchemaVersion43: About to iterate through 0 messages"}
{"level":30,"time":"2023-06-07T11:05:05.559Z","msg":"MainSQL: updateToSchemaVersion43: Updated 0 messages"}
{"level":30,"time":"2023-06-07T11:05:05.563Z","msg":"MainSQL: updateToSchemaVersion43: success!"}
{"level":30,"time":"2023-06-07T11:05:05.567Z","msg":"MainSQL: updateToSchemaVersion44: success!"}
{"level":30,"time":"2023-06-07T11:05:05.573Z","msg":"MainSQL: updateToSchemaVersion45: success!"}
{"level":30,"time":"2023-06-07T11:05:05.577Z","msg":"MainSQL: updateToSchemaVersion46: success!"}
{"level":40,"time":"2023-06-07T11:05:05.582Z","msg":"MainSQL: updateToSchemaVersion47: our UUID not found"}
{"level":30,"time":"2023-06-07T11:05:05.586Z","msg":"MainSQL: updateToSchemaVersion47: success!"}
{"level":30,"time":"2023-06-07T11:05:05.589Z","msg":"MainSQL: updateToSchemaVersion48: success!"}
{"level":30,"time":"2023-06-07T11:05:05.592Z","msg":"MainSQL: updateToSchemaVersion49: success!"}
{"level":30,"time":"2023-06-07T11:05:05.595Z","msg":"MainSQL: updateToSchemaVersion50: success!"}
{"level":30,"time":"2023-06-07T11:05:05.597Z","msg":"MainSQL: updateToSchemaVersion51: success!"}
{"level":30,"time":"2023-06-07T11:05:05.601Z","msg":"MainSQL: updateToSchemaVersion52: success!"}
{"level":30,"time":"2023-06-07T11:05:05.601Z","msg":"MainSQL: updateToSchemaVersion53: About to iterate through 0 conversations"}
{"level":30,"time":"2023-06-07T11:05:05.601Z","msg":"MainSQL: updateToSchemaVersion53: Updated 0 conversations"}
{"level":30,"time":"2023-06-07T11:05:05.603Z","msg":"MainSQL: updateToSchemaVersion53: success!"}
{"level":30,"time":"2023-06-07T11:05:05.608Z","msg":"MainSQL: updateToSchemaVersion54: success!"}
{"level":30,"time":"2023-06-07T11:05:05.611Z","msg":"MainSQL: updateToSchemaVersion55: success!"}
{"level":30,"time":"2023-06-07T11:05:05.616Z","msg":"MainSQL: updateToSchemaVersion56: success!"}
{"level":30,"time":"2023-06-07T11:05:05.619Z","msg":"MainSQL: updateToSchemaVersion57: success!"}
{"level":30,"time":"2023-06-07T11:05:05.622Z","msg":"MainSQL: updateToSchemaVersion58: success!"}
{"level":30,"time":"2023-06-07T11:05:05.625Z","msg":"MainSQL: updateToSchemaVersion59: success!"}
{"level":30,"time":"2023-06-07T11:05:05.629Z","msg":"MainSQL: updateToSchemaVersion60: success!"}
{"level":30,"time":"2023-06-07T11:05:05.639Z","msg":"MainSQL: updateToSchemaVersion61: success!"}
{"level":30,"time":"2023-06-07T11:05:05.644Z","msg":"MainSQL: updateToSchemaVersion62: success!"}
{"level":30,"time":"2023-06-07T11:05:05.647Z","msg":"MainSQL: updateToSchemaVersion63: success!"}
{"level":30,"time":"2023-06-07T11:05:05.653Z","msg":"MainSQL: updateToSchemaVersion64: success!"}
{"level":30,"time":"2023-06-07T11:05:05.660Z","msg":"MainSQL: updateToSchemaVersion65: success!"}
{"level":30,"time":"2023-06-07T11:05:05.663Z","msg":"MainSQL: updateToSchemaVersion66: success!"}
{"level":30,"time":"2023-06-07T11:05:05.668Z","msg":"MainSQL: updateToSchemaVersion67: success!"}
{"level":30,"time":"2023-06-07T11:05:05.676Z","msg":"MainSQL: updateToSchemaVersion68: success!"}
{"level":30,"time":"2023-06-07T11:05:05.681Z","msg":"MainSQL: updateToSchemaVersion69: success!"}
{"level":30,"time":"2023-06-07T11:05:05.687Z","msg":"MainSQL: updateToSchemaVersion70: success!"}
{"level":30,"time":"2023-06-07T11:05:05.700Z","msg":"MainSQL: updateToSchemaVersion71: success!"}
{"level":30,"time":"2023-06-07T11:05:05.704Z","msg":"MainSQL: updateToSchemaVersion72: success!"}
{"level":30,"time":"2023-06-07T11:05:05.717Z","msg":"MainSQL: updateToSchemaVersion73: success!"}
{"level":30,"time":"2023-06-07T11:05:05.722Z","msg":"MainSQL: updateToSchemaVersion74: success!"}
{"level":30,"time":"2023-06-07T11:05:05.725Z","msg":"MainSQL: updateToSchemaVersion75: success!"}
{"level":30,"time":"2023-06-07T11:05:05.732Z","msg":"MainSQL: updateToSchemaVersion76: success!"}
{"level":30,"time":"2023-06-07T11:05:05.737Z","msg":"MainSQL: updateToSchemaVersion77: success!"}
{"level":30,"time":"2023-06-07T11:05:05.741Z","msg":"MainSQL: updateToSchemaVersion78: success!"}
{"level":30,"time":"2023-06-07T11:05:05.744Z","msg":"MainSQL: updateToSchemaVersion79: success!"}
{"level":30,"time":"2023-06-07T11:05:05.748Z","msg":"MainSQL: updateToSchemaVersion80: success!"}
{"level":30,"time":"2023-06-07T11:05:05.760Z","msg":"MainSQL: updateToSchemaVersion81: success!"}
{"level":30,"time":"2023-06-07T11:05:05.766Z","msg":"MainSQL: updateToSchemaVersion82: success!"}
{"level":30,"time":"2023-06-07T11:05:05.771Z","msg":"MainSQL: updateToSchemaVersion83: success!"}
{"level":30,"time":"2023-06-07T11:05:05.772Z","msg":"MainSQL: updateSchema: optimize took 0ms"}
{"level":30,"time":"2023-06-07T11:05:05.772Z","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2023-06-07T11:05:05.772Z","msg":"config/set: Saved ephemeral config to disk"}
{"level":30,"time":"2023-06-07T11:05:05.772Z","msg":"got slow theme-setting value system"}
{"level":30,"time":"2023-06-07T11:05:05.773Z","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2023-06-07T11:05:05.773Z","msg":"config/set: Saved ephemeral config to disk"}
{"level":30,"time":"2023-06-07T11:05:05.773Z","msg":"got slow spellcheck setting true"}
{"level":30,"time":"2023-06-07T11:05:05.773Z","msg":"getSystemTraySetting had no flags and did no DB lookups. Returning DoNotUseSystemTray"}
{"level":50,"time":"2023-06-07T11:05:05.774Z","msg":"visibleOnAnyScreen: windowOptions didn't have valid bounds fields"}
{"level":30,"time":"2023-06-07T11:05:05.774Z","msg":"Location reset needed"}
{"level":30,"time":"2023-06-07T11:05:05.774Z","msg":"Initializing BrowserWindow config: {\"show\":false,\"width\":800,\"height\":610,\"minWidth\":300,\"minHeight\":200,\"autoHideMenuBar\":false,\"titleBarStyle\":\"default\",\"titleBarOverlay\":false,\"backgroundColor\":\"#3a76f0\",\"webPreferences\":{\"devTools\":false,\"spellcheck\":true,\"enableBlinkFeatures\":\"CSSPseudoDir,CSSLogical\",\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"sandbox\":false,\"contextIsolation\":true,\"preload\":\"[REDACTED]/preload.bundle.js\",\"backgroundThrottling\":true,\"enablePreferredSizeMode\":true,\"disableBlinkFeatures\":\"Accelerated2dCanvas,AcceleratedSmallCanvases\"},\"icon\":\"[REDACTED]/images/signal-logo-desktop-linux.png\"}"}
{"level":30,"time":"2023-06-07T11:05:05.781Z","msg":"spellcheck: user locales: [\"it-IT\",\"it\"]"}
{"level":30,"time":"2023-06-07T11:05:05.781Z","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":"2023-06-07T11:05:05.781Z","msg":"spellcheck: setting languages to: [\"it-IT\",\"it\"]"}
{"level":30,"time":"2023-06-07T11:05:06.066Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2023-06-07T11:05:06.624Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2023-06-07T11:05:06.627Z","msg":"System tray service: created"}
{"level":30,"time":"2023-06-07T11:05:06.627Z","msg":"System tray service: updating main window. Previously, there was not a window, and now there is"}
{"level":30,"time":"2023-06-07T11:05:06.627Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2023-06-07T11:05:06.627Z","msg":"Begin ensuring permissions"}
{"level":30,"time":"2023-06-07T11:05:06.628Z","msg":"Ensuring file permissions for 4 files"}
{"level":30,"time":"2023-06-07T11:05:06.629Z","msg":"Finish ensuring permissions in 2ms"}
{"level":30,"time":"2023-06-07T11:05:06.730Z","msg":"deleteAllBadges: deleted 0 files"}
{"level":30,"time":"2023-06-07T11:05:06.732Z","msg":"MainSQL: removeKnownStickers: About to iterate through 0 stickers"}
{"level":30,"time":"2023-06-07T11:05:06.732Z","msg":"MainSQL: removeKnownStickers: Done processing 0 stickers"}
{"level":30,"time":"2023-06-07T11:05:06.732Z","msg":"deleteAllStickers: deleted 0 files"}
{"level":30,"time":"2023-06-07T11:05:06.733Z","msg":"MainSQL: removeKnownDraftAttachments: About to iterate through 0 conversations"}
{"level":30,"time":"2023-06-07T11:05:06.733Z","msg":"MainSQL: removeKnownDraftAttachments: Done processing 0 conversations"}
{"level":30,"time":"2023-06-07T11:05:06.733Z","msg":"deleteAllDraftAttachments: deleted 0 files"}
{"level":30,"time":"2023-06-07T11:05:06.734Z","msg":"cleanupOrphanedAttachments: found 0 attachments on disk"}
{"level":30,"time":"2023-06-07T11:05:06.734Z","msg":"MainSQL: getKnownConversationAttachments: About to iterate through 0"}
{"level":30,"time":"2023-06-07T11:05:06.734Z","msg":"MainSQL: getKnownConversationAttachments: Done processing"}
{"level":30,"time":"2023-06-07T11:05:06.734Z","msg":"cleanupOrphanedAttachments: found 0 conversation attachments (0 missing), 0 remain"}
{"level":30,"time":"2023-06-07T11:05:06.734Z","msg":"cleanupOrphanedAttachments: took 9ms"}
{"level":30,"time":"2023-06-07T11:05:06.735Z","msg":"MainSQL: getKnownMessageAttachments(85b368a274ee0d3f): Starting iteration through 0 messages"}
{"level":30,"time":"2023-06-07T11:05:06.735Z","msg":"Begin ensuring permissions"}
{"level":30,"time":"2023-06-07T11:05:06.738Z","msg":"Ensuring file permissions for 66 files"}
{"level":50,"time":"2023-06-07T11:05:06.739Z","msg":"ensureFilePermissions: Error from chmod ENOENT: no such file or directory, chmod '[REDACTED]/SingletonCookie'"}
{"level":50,"time":"2023-06-07T11:05:06.739Z","msg":"ensureFilePermissions: Error from chmod ENOENT: no such file or directory, chmod '[REDACTED]/SingletonLock'"}
{"level":30,"time":"2023-06-07T11:05:06.741Z","msg":"Finish ensuring permissions in 6ms"}
{"level":30,"time":"2023-06-07T11:05:06.768Z","msg":"updater/start: Updates disabled - not starting new version checks"}
{"level":30,"time":"2023-06-07T11:05:06.770Z","msg":"Prevent display sleep service: allowing display sleep"}
{"level":30,"time":"2023-06-07T11:05:06.770Z","msg":"Background throttling enabled because no call is active"}
{"level":30,"time":"2023-06-07T11:05:06.786Z","msg":"MainSQL: finishGetKnownMessageAttachments(85b368a274ee0d3f): reached the end after processing 0 messages"}
{"level":30,"time":"2023-06-07T11:05:06.786Z","msg":"cleanupOrphanedAttachments: found 0 message attachments, (0 missing) 0 remain"}
{"level":30,"time":"2023-06-07T11:05:06.786Z","msg":"deleteAll: deleted 0 files"}
{"level":30,"time":"2023-06-07T11:05:06.786Z","msg":"deleteOrphanedAttachments: took 52ms"}
wooque commented 1 year ago

@hacktivateit it starts minimized to tray, add --use-tray-icon to see it.

hacktivateit commented 1 year ago

it's working! thanks @wooque

Complete working command for wayland users signal-desktop --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform=wayland --use-tray-icon

EDIT: Signal should now follow the electron-flags.conf file here

wooque commented 1 year ago

@hacktivateit UseOzonePlatform is not needed anymore, it's default now, so you can omit it. And if you use Sway you don't need WaylandWindowDecorations as well, it's only useful for GNOME

hacktivateit commented 1 year ago

thanks again! updated command signal-desktop --ozone-platform=wayland --use-tray-icon

PhoenixClank commented 1 year ago

@hacktivateit it starts minimized to tray, add --use-tray-icon to see it.

I see no tray icon, and manually inspecting my DBus session bus it doesn't show up as registered to either of the two StatusNotifierWatchers that are running.

thanks again! updated command signal-desktop --ozone-platform=wayland --use-tray-icon

I have another helpful argument for you: if you try sharing your screen in a video call, Signal will immediately crash, unless you use --enable-features=WebRTCPipeWireCapturer

norpol commented 1 year ago

@PhoenixClank Using --enable-features=WebRTCPipeWireCapturer on Signal v6.17.1 on Wayland and clicking the "Share screen" results in a crash for me with swaywm. Chromium/Firefox are able to share the screen though.

wooque commented 1 year ago

It was fixed, but now in 6.23.0 startup crashes are back again

trevor-signal commented 1 year ago

6.23.0 included an upgrade to Electron v25.2 -- you might try a fix suggested in https://github.com/electron/electron/issues/37531 and linked issues.

pm4rcin commented 1 year ago

Until it's resolved on upstream electron follow this comment for workarounds https://github.com/vector-im/element-desktop/issues/1026#issuecomment-1614384744

dfgweb commented 11 months ago

Strangely, adding --use-tray-icon in desktop file resolve all my issues (this bug and #6368).

pm4rcin commented 10 months ago

I have tried Element and Tutanota flatpaks which were crashing constantly for me too but they have updated to Electron 26 and they started working normally on wayland. Looks like Signal will have to update electron in order to stop crashing.

fdutheil commented 10 months ago

Strangely, adding --use-tray-icon in desktop file resolve all my issues (this bug and #6368).

* When launching, tray icon now appears in my waybar and is working

* No need to launch a second instance to have Signal windows appearing. Just clic the tray icon display it.

* No more crash when launching additional instance. Windows just display correctly.

Hi, this workaround is not working on my debian 12 on Sway, as I use this option already and Signal crashes when clicking on the tray icon ( happens ~ half the time).

maximbaz commented 9 months ago

When no workaround helps, automation will always come to the rescue!

Run this very sophisticated script in the morning and go brew yourself some coffee, by the time you are back you'll have a working Signal instance :grin:

Sometimes it takes over 10 attempts for me to launch Signal, so this is a huge time saver :wink:

#!/bin/bash

while true; do
    # Launch the main instance - it will run in background if you don't use tray
    signal-desktop > /dev/null 2>&1 &
    pid=$!

    # Launch a second instance - it will exit, bringing the main instance to foreground
    sleep 1
    signal-desktop > /dev/null

    # Move mouse cursor over the Signal window to trigger an intermittent segfault
    sleep 1
    ydotool mousemove 3 0

    # Check if the main process has crashed
    sleep 1
    if kill -0 $pid 2> /dev/null; then
        echo "Signal has finally launched!"
        exit 0
    else
        echo "Signal has crashed, let's try again..."
    fi
done
wooque commented 9 months ago

After recent update there is nothing intermittent anymore, it crashes every single time. Had to switch to running it under Xwayland.

GregDMeyer commented 9 months ago

for anyone who didn't follow the link from @pm4rcin I wanted to write it explicitly here---for me at least, the issue seems to be with running signal in wayland with tiling (I run sway). Immediately pressing mod+shift+space to make the window float (or, ideally, modifying your config to default signal to a floating window) prevents the crash for me!

EDIT: ok, sometimes the window doesn't appear for some reason? but it seems running it under XWayland once and then launching it under wayland makes the window appear 👍

wooque commented 9 months ago

for anyone who didn't follow the link from @pm4rcin I wanted to write it explicitly here---for me at least, the issue seems to be with running signal in wayland with tiling (I run sway). Immediately pressing mod+shift+space to make the window float (or, ideally, modifying your config to default signal to a floating window) prevents the crash for me!

EDIT: ok, sometimes the window doesn't appear for some reason? but it seems running it under XWayland once and then launching it under wayland makes the window appear 👍

I can confirm that Signal doesn't crash when it's floating by default (for_window [app_id="signal"] floating enable), but as soon as I make it non-floating it crashes.

dfgweb commented 9 months ago

Strangely, adding --use-tray-icon in desktop file resolve all my issues (this bug and #6368).

* When launching, tray icon now appears in my waybar and is working

* No need to launch a second instance to have Signal windows appearing. Just clic the tray icon display it.

* No more crash when launching additional instance. Windows just display correctly.

Well, this work on non-HDPI display on my laptop, but my desktop PC still crash!

fdutheil commented 9 months ago

Strangely, adding --use-tray-icon in desktop file resolve all my issues (this bug and #6368).

* When launching, tray icon now appears in my waybar and is working

* No need to launch a second instance to have Signal windows appearing. Just clic the tray icon display it.

* No more crash when launching additional instance. Windows just display correctly.

Well, this work on non-HDPI display on my laptop, but my desktop PC still crash!

Adding info about my setup (not sure if this relevant): integrated laptop screen is HiDPI (4K, scale factor: 2), external screen is not (1440p, scale factor: 1). Still 100% crash chance to crash Signal when output is external display.

AndreasBackx commented 8 months ago

To confirm, 6.37.0 does not fix the issue for me.

wooque commented 8 months ago

To confirm, 6.37.0 does not fix the issue for me.

I jumped to conclusion because 6.36.0 crashed 99% of time for me, now it's occasional, but startup crashes are still there.

freeekanayaka commented 8 months ago

for anyone who didn't follow the link from @pm4rcin I wanted to write it explicitly here---for me at least, the issue seems to be with running signal in wayland with tiling (I run sway). Immediately pressing mod+shift+space to make the window float (or, ideally, modifying your config to default signal to a floating window) prevents the crash for me! EDIT: ok, sometimes the window doesn't appear for some reason? but it seems running it under XWayland once and then launching it under wayland makes the window appear 👍

I can confirm that Signal doesn't crash when it's floating by default (for_window [app_id="signal"] floating enable), but as soon as I make it non-floating it crashes.

Thanks, that's solved it!

h-2 commented 8 months ago

I can confirm this problem on Ubuntu 23.10—which is officially supported, right?

I am also using sway. Previously it worked to start 2 or 3 times with --ozone-platform=wayland --enable-features=WaylandWindowDecorations. Recently this stopped working.

I can confirm that Signal doesn't crash when it's floating by default (for_window [app_id="signal"] floating enable), but as soon as I make it non-floating it crashes.

This works for me, but it is a ridiculous workaround. Why can't signal just publish a decent library that interfaces with its server and then let regular devs make a frontend in Qt or GTK that doesn't suck?

pm4rcin commented 7 months ago

It's finally fixed! :) Let's hope that electron won't introduce more regressions like that in the future.

indutny-signal commented 7 months ago

Hooray!