signalapp / Signal-Desktop

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

Signal Flatpak crashes on load / device link #6907

Closed DSDV closed 3 months ago

DSDV commented 4 months ago

Using a supported version?

Overall summary

Hi, since the latest update signal flatpak crashes on start. i tried flatpak remove flathub org.signal.Signal --delete-data as mentioned here: https://github.com/flathub/org.signal.Signal/issues/658#issuecomment-2133783024 since i also use fedora 40 but now it crashes after entering a device name when trying to link the device.

i guess it crashes when trying to sync data. switching to wayland did not solve that problem either :/

Render process is gone

Error: Reason: crashed, Exit Code: 132
    at App.<anonymous> ([REDACTED]/app/global_errors.js:88:7)
    at App.emit (node:events:518:28)
    at WebContents.<anonymous> (node:electron/js2c/browser_init:2:83836)
    at WebContents.emit (node:events:518:28)

with kind regards

Steps to reproduce

1 open desktop app

crash

1 open app 2 link device 3 confirm name

crash

Expected result

no crash

Actual result

crash

Screenshots

No response

Signal version

7.11.1 production

Operating system

Fedora 40

Version of Signal on your phone

7.8.1

Link to debug log

No response

ZtereoHYPE commented 3 months ago

I am also frequently experiencing this bug when just launching signal. Around 1/4 times it simply crashes with a "Render process is gone" pop-up and the stack traces printed above. Also using flatpak version on fedora linux 40.

jamiebuilds-signal commented 3 months ago

If you're able to reproduce this, can you attach a debuglog https://support.signal.org/hc/en-us/articles/360007318591-Debug-Logs-and-Crash-Reports

Otherwise there's not a lot we can tell about what is happening

ZtereoHYPE commented 3 months ago

Here is a copy of my logs directory. logs.zip

And here is a debug log generated right after, by opening signal again debuglog.txt

indutny-signal commented 3 months ago

Thank you for the logs! I see some crash information in there, but because you were running a production version - it is hard to tell where exactly it crashed. Could you try starting signal with "--enable-crash-reports" CLI flag, and then reproducing the crash again?

It is also worth mentioning, that flatpak distribution of Signal Desktop isn't officially supported, so it might very well end up being a bug specific to flatpak build itself.

DSDV commented 3 months ago

Thank you ZtereoHYPE for providing the logs <3 indutny-signal i think most are aware that signal flatpak is not official sadly there is no official option outside of debian :/

i think the Linux community would profit a lot from a official distribution agnostic flatpak from signal (:

ZtereoHYPE commented 3 months ago

It goes without saying, if you notice than any of this is caused by flatpak, please do tell us so we can report to the right repo. However as DSDV said, it would be nice to have official flatpak support for the users that don't use Debian :)

I tried reproducing the issue with --enable-crash-reports and after a couple of attempts I got an error to appear. However, no crash reports appeared in any of the Crashpad directories. In addition, this JavaScript out of heap error appeared in the command line:

➜  flatpak run org.signal.Signal --enable-crash-reports
Debug: Will run signal with the following arguments:
Debug: Additionally, user gave: --enable-crash-reports
Set Windows Application User Model ID (AUMID) { AUMID: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR /app/Signal/resources/app.asar/config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME fedora
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
SIGNAL_ENABLE_HTTP undefined
userData: /home/ztereohype/.var/app/org.signal.Signal/config/Signal
config/get: Successfully read user config file
config/get: Successfully read ephemeral config file
getLogger: Logger not yet initialized!
crashReporter: force enabled
making app single instance
LaunchProcess: failed to execvp:
xdg-settings
LaunchProcess: failed to execvp:
xdg-settings
Gtk-Message: 19:07:14.362: Failed to load module "canberra-gtk-module"
Gtk-Message: 19:07:14.363: Failed to load module "canberra-gtk-module"

<--- Last few GCs --->

[2:0x3f3002518000]      160 ms: Mark-Compact (reduce) 3.8 (8.8) -> 3.7 (5.5) MB, pooled: 0 MB, 2.35 / 0.00 ms  (average mu = 0.608, current mu = 0.041) last resort; GC in old space requested
[2:0x3f3002518000]      161 ms: Mark-Compact (reduce) 3.7 (5.5) -> 3.7 (5.5) MB, pooled: 0 MB, 1.48 / 0.00 ms  (average mu = 0.507, current mu = 0.006) last resort; GC in old space requested

<--- JS stacktrace --->

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
----- Native stack trace -----

Here is the compressed logs directory of this: logs.zip

And here is the debuglog.txt: debuglog.zip

MrChar1es commented 3 months ago

I am also having the same issue (Linux Mint 21.3, Kernel 6.5.0-41) but with the version you get from following the commands on https://signal.org/download/ and NOT the Flatpak version. Not sure if I gotta open a separate ticket for that, but it seems it's not limited to just the Flatpak. The output I got in the command line is as follows:

signal-desktop --enable-crash-reports
Set Windows Application User Model ID (AUMID) { AUMID: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR /opt/Signal/resources/app.asar/config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME mark-Desktop
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
SIGNAL_ENABLE_HTTP undefined
userData: /home/mark/.config/Signal
config/get: Successfully read user config file
config/get: Successfully read ephemeral config file
getLogger: Logger not yet initialized!
crashReporter: force enabled
making app single instance
{"level":30,"time":"2024-07-18T16:17:33.311Z","msg":"crashReporter: force enabled"}
{"level":30,"time":"2024-07-18T16:17:33.315Z","msg":"got fast localeOverride setting null"}
{"level":30,"time":"2024-07-18T16:17:33.315Z","msg":"app.ready: hour cycle preference: UnknownPreference"}
{"level":30,"time":"2024-07-18T16:17:33.316Z","msg":"app.ready: preferred system locales: en-US, en"}
{"level":30,"time":"2024-07-18T16:17:33.316Z","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-07-18T16:17:33.316Z","msg":"locale: Preferred locales: en-US, en"}
{"level":30,"time":"2024-07-18T16:17:33.316Z","msg":"locale: Locale Override: null"}
{"level":30,"time":"2024-07-18T16:17:33.317Z","msg":"locale: Matched locale: en"}
{"level":40,"time":"2024-07-18T16:17:33.332Z","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-07-18T16:17:33.333Z","msg":"locale: Text info direction for en: ltr"}
{"level":30,"time":"2024-07-18T16:17:33.333Z","msg":"getSQLKey: decrypting key"}
{"level":30,"time":"2024-07-18T16:17:33.333Z","msg":"getSystemTraySetting got value DoNotUseSystemTray"}
{"level":30,"time":"2024-07-18T16:17:33.333Z","msg":"getSystemTraySetting returning DoNotUseSystemTray"}
{"level":30,"time":"2024-07-18T16:17:33.334Z","msg":"app ready"}
{"level":30,"time":"2024-07-18T16:17:33.334Z","msg":"starting version 7.16.0"}
{"level":30,"time":"2024-07-18T16:17:33.334Z","msg":"media access status [object Undefined] [object Undefined]"}
{"level":30,"time":"2024-07-18T16:17:33.335Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2024-07-18T16:17:33.336Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2024-07-18T16:17:33.336Z","msg":"got fast spellcheck setting true"}
{"level":50,"time":"2024-07-18T16:17:33.336Z","msg":"visibleOnAnyScreen: windowOptions didn't have valid bounds fields"}
{"level":50,"time":"2024-07-18T16:17:33.336Z","msg":"visibleOnAnyScreen: windowOptions didn't have valid bounds fields"}
{"level":30,"time":"2024-07-18T16:17:33.336Z","msg":"Location reset needed"}
{"level":30,"time":"2024-07-18T16:17:33.336Z","msg":"Initializing BrowserWindow config: {\"show\":false,\"width\":800,\"height\":610,\"minWidth\":300,\"minHeight\":200,\"autoHideMenuBar\":false,\"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\"}"}
{"level":30,"time":"2024-07-18T16:17:33.380Z","msg":"spellcheck: user locales: [\"en-US\",\"en\"]"}
{"level":30,"time":"2024-07-18T16:17:33.380Z","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-07-18T16:17:33.380Z","msg":"spellcheck: setting languages to: [\"en-US\",\"en\"]"}
{"level":40,"time":"2024-07-18T16:17:33.380Z","msg":"MainSQL: Database log code=283: recovered 120 frames from WAL file [REDACTED]/sql/db.sqlite-wal"}
{"level":30,"time":"2024-07-18T16:17:33.380Z","msg":"MainSQL: updateSchema:\n  Current user_version: 1090;\n  Most recent db schema: 1090;\n  SQLite version: 3.42.0;\n  SQLCipher version: 4.5.5 community;\n  (deprecated) schema_version: 475;\n"}
{"level":30,"time":"2024-07-18T16:17:33.589Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2024-07-18T16:17:37.494Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2024-07-18T16:17:37.497Z","msg":"System tray service: created"}
{"level":30,"time":"2024-07-18T16:17:37.497Z","msg":"System tray service: updating main window. Previously, there was not a window, and now there is"}
{"level":30,"time":"2024-07-18T16:17:37.497Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2024-07-18T16:17:37.497Z","msg":"Begin ensuring permissions"}
{"level":30,"time":"2024-07-18T16:17:37.497Z","msg":"Ensuring file permissions for 4 files"}
{"level":30,"time":"2024-07-18T16:17:37.498Z","msg":"Finish ensuring permissions in 1ms"}
{"level":30,"time":"2024-07-18T16:17:37.504Z","msg":"main window is ready-to-show"}
{"level":30,"time":"2024-07-18T16:17:37.504Z","msg":"showing main window"}
{"level":30,"time":"2024-07-18T16:17:37.505Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2024-07-18T16:17:37.523Z","msg":"deleteAllBadges: deleted 0 files"}
{"level":30,"time":"2024-07-18T16:17:37.524Z","msg":"MainSQL: removeKnownStickers: About to iterate through 0 stickers"}
{"level":30,"time":"2024-07-18T16:17:37.524Z","msg":"MainSQL: removeKnownStickers: Done processing 0 stickers"}
{"level":30,"time":"2024-07-18T16:17:37.524Z","msg":"deleteAllStickers: deleted 0 files"}
{"level":30,"time":"2024-07-18T16:17:37.525Z","msg":"MainSQL: removeKnownDraftAttachments: About to iterate through 0 conversations"}
{"level":30,"time":"2024-07-18T16:17:37.525Z","msg":"MainSQL: removeKnownDraftAttachments: Done processing 0 conversations"}
{"level":30,"time":"2024-07-18T16:17:37.525Z","msg":"deleteAllDraftAttachments: deleted 0 files"}
{"level":30,"time":"2024-07-18T16:17:37.525Z","msg":"cleanupOrphanedAttachments: found 0 attachments on disk"}
{"level":30,"time":"2024-07-18T16:17:37.525Z","msg":"MainSQL: getKnownConversationAttachments: About to iterate through 0"}
{"level":30,"time":"2024-07-18T16:17:37.525Z","msg":"MainSQL: getKnownConversationAttachments: Done processing"}
{"level":30,"time":"2024-07-18T16:17:37.525Z","msg":"cleanupOrphanedAttachments: found 0 conversation attachments (0 missing), 0 remain"}
{"level":30,"time":"2024-07-18T16:17:37.525Z","msg":"cleanupOrphanedAttachments: took 5ms"}
{"level":30,"time":"2024-07-18T16:17:37.526Z","msg":"Begin ensuring permissions"}
{"level":30,"time":"2024-07-18T16:17:37.526Z","msg":"MainSQL: pageMessages(b59523c4d22f7caf): Starting iteration through 0 messages"}
{"level":30,"time":"2024-07-18T16:17:37.528Z","msg":"Ensuring file permissions for 106 files"}
{"level":50,"time":"2024-07-18T16:17:37.529Z","msg":"ensureFilePermissions: Error from chmod ENOENT: no such file or directory, chmod '[REDACTED]/SingletonCookie'"}
{"level":50,"time":"2024-07-18T16:17:37.529Z","msg":"ensureFilePermissions: Error from chmod ENOENT: no such file or directory, chmod '[REDACTED]/SingletonLock'"}
{"level":30,"time":"2024-07-18T16:17:37.530Z","msg":"Finish ensuring permissions in 4ms"}
{"level":30,"time":"2024-07-18T16:17:37.545Z","msg":"updater/start: Updates disabled - not starting new version checks"}
{"level":30,"time":"2024-07-18T16:17:37.547Z","msg":"Prevent display sleep service: allowing display sleep"}
{"level":30,"time":"2024-07-18T16:17:37.547Z","msg":"Background throttling enabled because no call is active"}
{"level":30,"time":"2024-07-18T16:17:37.577Z","msg":"MainSQL: finishPageMessages(b59523c4d22f7caf): reached the end after processing 0 messages"}
{"level":30,"time":"2024-07-18T16:17:37.577Z","msg":"cleanupOrphanedAttachments: found 0 message attachments, (0 missing) 0 remain"}
{"level":30,"time":"2024-07-18T16:17:37.577Z","msg":"deleteAll: deleted 0 files"}
{"level":30,"time":"2024-07-18T16:17:37.577Z","msg":"deleteOrphanedAttachments: took 52ms"}
{"level":40,"time":"2024-07-18T16:18:00.497Z","msg":"MainSQL: Database log code=17: statement aborts at 13: [\n      SELECT *\n      FROM items\n      WHERE id = $id;] database schema has changed"}
{"level":40,"time":"2024-07-18T16:18:00.498Z","msg":"MainSQL: Database log code=17: statement aborts at 11: [SELECT * FROM senderKeys] database schema has changed"}
Render process is gone: Error: Reason: crashed, Exit Code: 132
    at App.<anonymous> (/opt/Signal/resources/app.asar/app/global_errors.js:88:7)
    at App.emit (node:events:518:28)
    at WebContents.<anonymous> (node:electron/js2c/browser_init:2:83836)
    at WebContents.emit (node:events:518:28)
{"level":50,"time":"2024-07-18T16:18:01.439Z","msg":"Render process is gone: Error: Reason: crashed, Exit Code: 132\n    at App.<anonymous> ([REDACTED]/app/global_errors.js:88:7)\n    at App.emit (node:events:518:28)\n    at WebContents.<anonymous> (node:electron/js2c/browser_init:2:83836)\n    at WebContents.emit (node:events:518:28)"}
{"level":30,"time":"2024-07-18T16:18:13.254Z","msg":"main window closed event"}
{"level":30,"time":"2024-07-18T16:18:13.254Z","msg":"System tray service: updating main window. Previously, there was a window, and now there is not"}
{"level":30,"time":"2024-07-18T16:18:13.254Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2024-07-18T16:18:13.254Z","msg":"quit event {\"hasEventBeenPrevented\":false,\"windowCount\":0,\"mainWindowExists\":false}"}

Also, if this information is not useful or I got something wrong, sorry. Still pretty new to this stuff.

DSDV commented 3 months ago

yep its still the same on the latest flatpak i crashes after you try to sync like MrChar1es described (did so since it first occurred on my end). i have the feeling it only runs on the official Debian but all other distros are not able to use signal desktop :( Also i found no other way to use the official build other than debian.

what is really funny is that i found alternative signal clients which can even link more devices and sync them for example tablet support and they work o.o (only tested with backup phone / account)

i find it really strange that unofficial apps can do that and link to tablets (which official signal blocks)

indutny-signal commented 3 months ago

Sorry, but as mentioned above we don't maintain the flatpak distribution. After looking at the logs it doesn't appear that the issue is something we could fix on our end. It might be best to reach out to the package maintainer to see if they have any ideas!

DSDV commented 3 months ago

As mentioned above by MrChar1es its not just a Flatpak issue.

I find it sad the the signal team is saying that its your own fault if you are not using debian or windows :( And gives no reason why there is no official flatpak which would be in depended of distributions :( (afaik it would even run on wsl)

DSDV commented 3 months ago

Wit the last update it looks like its working again on the unopffical flatpak Still sad that the the messenger with "an unexpected focus on privacy" forces so many users to use 4rd party solutions :/