Open benni347 opened 1 year ago
Can confirm, I also get a coredump with a segfault. The bug is not always immediate, I even got one time where it was seemingly fine.
Signal Version:
Signal 6.3.0
Operating System:
Debian testing with swaywm compositor
Linked Device Version:
N/A
Do you get a chance to submit a crash report to Signal when you restart?
Or maybe you could try starting it in wayland, getting the crash, and then starting it under X and then you could submit the crash report to us?
I can confirm as well. I've been able to generate a coredump file, @scottnonnenberg-signal do your want me to upload it somewhere?
Debug log from application start right after the crashing instance: https://debuglogs.org/desktop/6.4.1/66eb78545db94b52e4acd98264ce444ab915bd96b2986d0dc15f4d9cf0c5df2f.gz
@samsapti Ideally what we'd get from you is a crash dump from within Signal Desktop. It's only available on beta installs, but it's much more likely that we'll get useful information out of it. If you start up, crash, and then start up successfully, it should give you the ability to upload it.
Here is a crash dump from my system:
Signal version: 6.9.0-beta.1 OS: archlinux WM: River
@tpeacock19 Thanks for that crash dump - that gives us a call stack we can work with!
For anyone looking for a workaround: signal-desktop 6.2.0-1 does not have this issue on Wayland.
For project maintainers: would it be helpful to generate more crash dumps? I'd be happy to do that if it helps. :)
I updated my nixos
system and started running into this issue. I'm on 6.7.0 now, not sure what I was on before.
λ ~/ signal-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland
Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR /nix/store/dc7x1m6v4h4sqclsp96fcx803fc1qm03-signal-desktop-6.7.0/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/mumu/.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-13T22:50:37.571Z","msg":"app.ready: preferred system locales: en-US, en-US, en-US, en, en"}
{"level":30,"time":"2023-03-13T22:50:37.577Z","msg":"Loading preferred system locale: 'en-US'"}
{"level":40,"time":"2023-03-13T22:50:37.577Z","msg":"Problem loading messages for locale 'en-US', Error: ENOENT, _locales/en-US/messages.json not found in [REDACTED]"}
{"level":40,"time":"2023-03-13T22:50:37.578Z","msg":"Falling back to parent language: 'en'"}
{"level":30,"time":"2023-03-13T22:50:37.616Z","msg":"app ready"}
{"level":30,"time":"2023-03-13T22:50:37.616Z","msg":"starting version 6.7.0"}
{"level":30,"time":"2023-03-13T22:50:37.616Z","msg":"media access status [object Undefined] [object Undefined]"}
{"level":30,"time":"2023-03-13T22:50:37.617Z","msg":"got fast theme-setting value dark"}
{"level":30,"time":"2023-03-13T22:50:37.618Z","msg":"got fast theme-setting value dark"}
{"level":30,"time":"2023-03-13T22:50:37.618Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2023-03-13T22:50:37.619Z","msg":"getSystemTraySetting had no flags and did no DB lookups. Returning DoNotUseSystemTray"}
{"level":30,"time":"2023-03-13T22:50:37.619Z","msg":"Initializing BrowserWindow config: {\"show\":false,\"width\":1916,\"height\":1064,\"minWidth\":300,\"minHeight\":200,\"autoHideMenuBar\":false,\"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-13T22:50:37.627Z","msg":"spellcheck: user locale: en-US"}
{"level":30,"time":"2023-03-13T22:50:37.627Z","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-13T22:50:37.627Z","msg":"spellcheck: setting languages to: [\"en-US\"]"}
{"level":30,"time":"2023-03-13T22:50:37.628Z","msg":"got fast theme-setting value dark"}
{"level":30,"time":"2023-03-13T22:50:37.689Z","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-13T22:50:38.498Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2023-03-13T22:50:38.501Z","msg":"System tray service: created"}
{"level":30,"time":"2023-03-13T22:50:38.501Z","msg":"System tray service: updating main window. Previously, there was not a window, and now there is"}
{"level":30,"time":"2023-03-13T22:50:38.501Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2023-03-13T22:50:38.502Z","msg":"Begin ensuring permissions"}
{"level":30,"time":"2023-03-13T22:50:38.502Z","msg":"main window is ready-to-show"}
{"level":30,"time":"2023-03-13T22:50:38.502Z","msg":"showing main window"}
{"level":30,"time":"2023-03-13T22:50:38.503Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2023-03-13T22:50:38.545Z","msg":"Ensuring file permissions for 4 files"}
{"level":30,"time":"2023-03-13T22:50:38.547Z","msg":"Finish ensuring permissions in 45ms"}
{"level":30,"time":"2023-03-13T22:50:38.878Z","msg":"MainSQL: slow query createOrUpdateItem duration=68ms"}
{"level":30,"time":"2023-03-13T22:50:39.108Z","msg":"MainSQL: slow query createOrUpdateItem duration=70ms"}
{"level":30,"time":"2023-03-13T22:50:39.113Z","msg":"sending `database-ready`"}
{"level":30,"time":"2023-03-13T22:50:39.340Z","msg":"Prevent display sleep service: allowing display sleep"}
{"level":30,"time":"2023-03-13T22:50:39.340Z","msg":"Background throttling enabled because no call is active"}
{"level":30,"time":"2023-03-13T22:50:39.749Z","msg":"updater/start: Updates disabled - not starting new version checks"}
{"level":30,"time":"2023-03-13T22:50:39.794Z","msg":"App loaded - time: 2181"}
{"level":30,"time":"2023-03-13T22:50:39.794Z","msg":"SQL init - time: 78"}
{"level":30,"time":"2023-03-13T22:50:39.794Z","msg":"Preload - time: 526"}
{"level":30,"time":"2023-03-13T22:50:39.794Z","msg":"WebSocket connect - time: 1100"}
{"level":30,"time":"2023-03-13T22:50:39.794Z","msg":"Processed count: 0"}
{"level":30,"time":"2023-03-13T22:50:39.794Z","msg":"Messages per second: 0"}
{"level":30,"time":"2023-03-13T22:50:40.116Z","msg":"MainSQL: slow query insertSentProto duration=86ms"}
{"level":30,"time":"2023-03-13T22:50:40.197Z","msg":"MainSQL: slow query deleteJob duration=80ms"}
{"level":30,"time":"2023-03-13T22:50:41.343Z","msg":"MainSQL: slow query commitDecryptResult duration=70ms"}
{"level":30,"time":"2023-03-13T22:50:42.014Z","msg":"MainSQL: slow query createOrUpdateItem duration=69ms"}
[1] 8749 segmentation fault (core dumped) signal-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland
I don't have X on my system or an easy way to get X set up to get debug logs.
I've attached the coredump system log as well. signal-coredump.log
For anyone looking for a workaround: signal-desktop 6.2.0-1 does not have this issue on Wayland.
Intermittent crashes in Wayland on startup persist with 6.18.1
I'm seeing this very consistently under sway on Arch with signal version 6.25.0-beta.1
:
Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop-beta' }
NODE_ENV production
NODE_CONFIG_DIR /usr/lib/signal-desktop-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/james/.config/Signal Beta
config/get: Successfully read user config file
config/get: Successfully read ephemeral config file
getLogger: Logger not yet initialized!
crashReporter: enabled
making app single instance
{"level":30,"time":"2023-07-27T14:18:07.630Z","msg":"crashReporter: enabled"}
{"level":30,"time":"2023-07-27T14:18:07.631Z","msg":"app.ready: preferred system locales: en-US, en"}
{"level":30,"time":"2023-07-27T14:18:07.631Z","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-07-27T14:18:07.631Z","msg":"locale: Preferred locales: en-US, en"}
{"level":30,"time":"2023-07-27T14:18:07.632Z","msg":"locale: Matched locale: en"}
{"level":30,"time":"2023-07-27T14:18:07.649Z","msg":"locale: Text info direction for en: ltr"}
{"level":30,"time":"2023-07-27T14:18:07.649Z","msg":"getSystemTraySetting saw --use-tray-icon flag. Returning MinimizeToSystemTray"}
{"level":30,"time":"2023-07-27T14:18:07.650Z","msg":"app ready"}
{"level":30,"time":"2023-07-27T14:18:07.651Z","msg":"starting version 6.25.0-beta.1"}
{"level":30,"time":"2023-07-27T14:18:07.651Z","msg":"media access status [object Undefined] [object Undefined]"}
{"level":30,"time":"2023-07-27T14:18:07.652Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2023-07-27T14:18:07.654Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2023-07-27T14:18:07.654Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2023-07-27T14:18:07.654Z","msg":"Initializing BrowserWindow config: {\"show\":false,\"width\":1916,\"height\":2116,\"minWidth\":300,\"minHeight\":200,\"autoHideMenuBar\":false,\"titleBarStyle\":\"default\",\"titleBarOverlay\":false,\"backgroundColor\":\"#3a76f0\",\"webPreferences\":{\"devTools\":true,\"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\",\"x\":0,\"y\":0}"}
{"level":30,"time":"2023-07-27T14:18:07.660Z","msg":"spellcheck: user locales: [\"en-US\",\"en\"]"}
{"level":30,"time":"2023-07-27T14:18:07.660Z","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-07-27T14:18:07.660Z","msg":"spellcheck: setting languages to: [\"en-US\",\"en\"]"}
{"level":30,"time":"2023-07-27T14:18:07.666Z","msg":"MainSQL: updateSchema:\n Current user_version: 84;\n Most recent db schema: 84;\n SQLite version: 3.39.4;\n SQLCipher version: 4.5.3 community;\n (deprecated) schema_version: 367;\n"}
{"level":30,"time":"2023-07-27T14:18:07.903Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2023-07-27T14:18:08.359Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2023-07-27T14:18:08.363Z","msg":"System tray service: created"}
{"level":30,"time":"2023-07-27T14:18:08.363Z","msg":"System tray service: updating main window. Previously, there was not a window, and now there is"}
{"level":30,"time":"2023-07-27T14:18:08.363Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2023-07-27T14:18:08.363Z","msg":"System tray service: enabling"}
{"level":30,"time":"2023-07-27T14:18:08.363Z","msg":"System tray service: rendering the tray"}
{"level":30,"time":"2023-07-27T14:18:08.363Z","msg":"System tray service: creating the tray"}
{"level":30,"time":"2023-07-27T14:18:08.365Z","msg":"Begin ensuring permissions"}
{"level":30,"time":"2023-07-27T14:18:08.366Z","msg":"Ensuring file permissions for 4 files"}
{"level":30,"time":"2023-07-27T14:18:08.367Z","msg":"Finish ensuring permissions in 2ms"}
{"level":30,"time":"2023-07-27T14:18:08.600Z","msg":"Prevent display sleep service: allowing display sleep"}
{"level":30,"time":"2023-07-27T14:18:08.600Z","msg":"Background throttling enabled because no call is active"}
{"level":30,"time":"2023-07-27T14:18:09.580Z","msg":"updater/start: Updates disabled - not starting new version checks"}
{"level":30,"time":"2023-07-27T14:18:09.580Z","msg":"System tray service: setting unread count to 15"}
{"level":30,"time":"2023-07-27T14:18:09.580Z","msg":"System tray service: rendering the tray"}
{"level":30,"time":"2023-07-27T14:18:09.582Z","msg":"App loaded - time: 1933"}
{"level":30,"time":"2023-07-27T14:18:09.582Z","msg":"SQL init - time: 17"}
{"level":30,"time":"2023-07-27T14:18:09.582Z","msg":"Preload - time: 448"}
{"level":30,"time":"2023-07-27T14:18:09.582Z","msg":"WebSocket connect - time: 912"}
{"level":30,"time":"2023-07-27T14:18:09.582Z","msg":"Processed count: 0"}
{"level":30,"time":"2023-07-27T14:18:09.582Z","msg":"Messages per second: 0"}
{"level":40,"time":"2023-07-27T14:18:09.592Z","msg":"crashReports: 4 pending dumps found"}
{"level":30,"time":"2023-07-27T14:19:53.442Z","msg":"System tray service: rendering the tray"}
zsh: segmentation fault (core dumped) signal
It makes Signal basically unusable for me. I have to start it up ~10 times to get one session to stick.
@jamesob I have observed two kinds of crashes:
The first kind can be solved by sticking with 6.18.1 and that isn't a solution, just what I and other Wayland users do to get by. It can take multiple attempts to start 6.18.1 as well, but usually less than 5.
Sway workaround for startup crash:
for_window [app_id="signal"] floating enable
Found the workaround here: https://github.com/vector-im/element-desktop/issues/1026#issuecomment-1652406627
Same problem on river/wayland, same fix as for Sway:
riverctl rule-add float -app-id "signal*"
The issue also exists using GNOME 45.0 (Arch Linux x86_64, up-to-date, both on the regular Linux and Linux LTS kernel). As this is no floating window manager I would assume a similar workaround won't exist. Makes me wonder why the workaround applies for Sway and River.
For me, the issue only started getting bad about maybe 2-4 weeks ago - did not have the crashes as often previously. Maybe every other day. Now the crashes with Environment Variables set to use Wayland are reproducible on almost every launch of the Signal app.
Signal however works fine when using XWayland.
Signal is at version 6.34.0 from the Arch Linux repos.
I think this may be related to whether the compositor has the window marked as maximized or not. I'm running Sway. When running under XWayland, toggling the window between floating or not produces log lines like the following:
Updating BrowserWindow config: %s {"maximized":false,"autoHideMenuBar":false,"fullscreen":false,"width":1122,"height":1098,"x":2319,"y":2151}
where "maximized":false
when it's floating, and "maximized":true
when it's tiled. Under Wayland, with --ozone-platform-hint=auto
, it unfortunately crashes before it can emit the relevant log line, but I imagine the maximized
attribute changes similarly. I initially thought it might be due to the compositor forcibly resizing the surface, but manually resizing works just fine.
Bug Description
When launching signal with the arguments:
--enable-features=UseOzonePlatform --ozone-platform=wayland
, it shows the window briefly and then sometimes coredumps.Steps to Reproduce
signal-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland
Actual Result:
It coredumps
Expected Result:
It runs fine
Platform Info
Signal Version:
Signal 6.3.0
Operating System:
EndeavourOS with hyprland compositor
Linked Device Version:
N/A
Link to Debug Log
Couldn't copy the URL somehow. See the attached file for the debug log instead. debuglog.txt