Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: crashes on aarch64 (Linux MacBook) #355

Open
mhellwig opened this issue Feb 14, 2025 · 8 comments
Open

[Bug]: crashes on aarch64 (Linux MacBook) #355

mhellwig opened this issue Feb 14, 2025 · 8 comments
Labels
bug Something isn't working

Comments

@mhellwig
Copy link

What happened?

I run the app for a few minutes and then it self-closes with an electron error

What should have happened?

it should keep running

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 20:56 CET
channels:
  latest/stable:    7.42.0 2025-02-13 (760) 187MB -
  latest/candidate: 7.42.0 2025-02-13 (760) 187MB -
  latest/beta:      ^                             
  latest/edge:      ^                             
installed:          7.42.0            (760) 187MB -

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-46-2404]  signal-desktop:gnome-46-2404           gnome-46-2404:gnome-46-2404     -
content[gpu-2404]       signal-desktop:gpu-2404                mesa-2404:gpu-2404              -
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.67-0.fc41
snapd               2.67-0.fc41
series              16
fedora-asahi-remix  41
kernel              6.12.12-400.asahi.fc41.aarch64+16k

Relevant log output

Teminal output of app

Render process is gone: Error: Reason: crashed, Exit Code: 133
    at App.<anonymous> (/snap/signal-desktop/760/opt/Signal/resources/app.asar/app/global_errors.js:94:7)
    at App.emit (node:events:518:28)
    at WebContents.<anonymous> (node:electron/js2c/browser_init:2:87957)
    at WebContents.emit (node:events:518:28)
{"level":50,"time":"2025-02-14T20:27:04.283Z","msg":"Render process is gone: Error: Reason: crashed, Exit Code: 133\n    at App.<anonymous> ([REDACTED]/app/global_errors.js:94:7)\n    at App.emit (node:events:518:28)\n    at WebContents.<anonymous> (node:electron/js2c/browser_init:2:87957)\n    at WebContents.emit (node:events:518:28)"}
{"level":30,"time":"2025-02-14T20:27:08.638Z","msg":"main window closed event"}
{"level":30,"time":"2025-02-14T20:27:08.638Z","msg":"System tray service: updating main window. Previously, there was a window, and now there is not"}
{"level":30,"time":"2025-02-14T20:27:08.639Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2025-02-14T20:27:08.639Z","msg":"quit event {\"hasEventBeenPrevented\":false,\"windowCount\":0,\"mainWindowExists\":false}"}
@mhellwig mhellwig added the bug Something isn't working label Feb 14, 2025
@lemoneken
Copy link

Bump, same issue, Macbook M2 running Fedora Asahi Remix.

@jnsgruk
Copy link
Member

jnsgruk commented Feb 19, 2025

Hmm, I'm going to struggle troubleshooting this one myself as I don't have access to an arm64 desktop machine.

Are there any other logs or information you can provide? Does it work if you use existing versions of the snap?

@lucyllewy
Copy link
Member

I suspect this is due to the M-series chips from Apple are run using a different stack size (I forget, but it might be 4k - either way it is not a stack size that linux normally defaults to) and there are issues with some projects that assume a stack size that is different. This especially affects any JIT processes.

@naphcx
Copy link

naphcx commented Feb 25, 2025

As this is only occurring after signal-desktop was updated to 7.42.0 to I believe this is related to the version of electron having been upgraded from 33.3.1 to 34.0.1 in this commit. When I manually build 7.41.0 it is working fine.

Luckily the latest signal-desktop version still works with electron 33.3.1, so for a temporary fix you can simply modify package.json like follows. For a more permanent fix maybe this issue should be raised with electron directly. The issue has already been fixed in electron, so alternatively it should be possible to just sit this one out until the next time the signal-desktop people update their electron version :)

index c6572497a..a0b942f3c 100644
--- a/package.json
+++ b/package.json
@@ -283,7 +283,7 @@
     "csv-parse": "5.5.6",
     "danger": "12.3.3",
     "debug": "4.3.7",
-    "electron": "34.1.1",
+    "electron": "33.3.1",
     "electron-builder": "26.0.0-alpha.8",
     "electron-mocha": "13.0.1",
     "endanger": "7.0.4",```

@lemoneken
Copy link

lemoneken commented Feb 28, 2025

For anyone waiting for a fix - I've made a fork and built a snap on version 7.41.0 which doesn't crash: https://github.com/lemoneken/signal-desktop/tree/v7.41.0

Feel free to download from releases or build it on your own, then install locally with sudo snap install --dangerous <file.snap> (you need to use dangerous because it can't find metadata for the package)

Enjoy 🙂

@jnsgruk
Copy link
Member

jnsgruk commented Feb 28, 2025

Out of interest, does 7.44.0 work for you? It was released yesterday, and they've bumped the Electron version in that release?

@naphcx
Copy link

naphcx commented Feb 28, 2025

With 7.44.0 I'm experiencing the same crashes. It looks like I was wrong about the electron fix and asahi users will probably have to wait until electron bumps their version of chromium to one that includes the fix for this issue and that electron version is included in signal-desktop. Thx for the temporary fix @lemoneken!

@lemoneken
Copy link

lemoneken commented Feb 28, 2025

I can confirm that 7.44.0 also crashes for me :( I think 7.41.0 is the last working version for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants
@lucyllewy @mhellwig @jnsgruk @lemoneken @naphcx and others