signalapp / Signal-Desktop

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

Signal crashes after update to 7.29.0 on Ubuntu 24.10 #7054

Open bungabunga opened 1 month ago

bungabunga commented 1 month ago

Using a supported version?

Overall summary

Signal-desktop crashes after update to 7.29.0 after a few seconds. The UI dosen't appear.

Steps to reproduce

  1. Update Signal
  2. Start Signal
  3. Crash

Expected result

Signal works normaly

Actual result

Crash after a few seconds

Screenshots

No response

Signal version

7.29.0

Operating system

Ubuntu 24.10

Version of Signal on your phone

7.19.2

Link to debug log

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 xxxxxxxxxx NODE_APP_INSTANCE undefined SUPPRESS_NO_CONFIG_WARNING undefined SIGNAL_ENABLE_HTTP undefined userData: /home/xxx/.config/Signal config/get: Successfully read user config file config/get: Successfully read ephemeral config file making app single instance

<--- Last few GCs --->

[210554:0xe7400134000] 42233 ms: Scavenge (reduce) (interleaved) 2046.1 (2052.0) -> 2046.1 (2049.0) MB, pooled: 0 MB, 42.62 / 0.00 ms (average mu = 0.437, current mu = 0.278) allocation failure; [210554:0xe7400134000] 42452 ms: Mark-Compact (reduce) 2047.1 (2049.0) -> 2047.1 (2050.0) MB, pooled: 0 MB, 133.86 / 0.00 ms (+ 312.5 ms in 0 steps since start of marking, biggest step 0.0 ms, walltime since start of marking 506 ms) (average mu = 0.39

<--- JS stacktrace --->

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

Aborted (core dumped)

trevor-signal commented 1 month ago

@bungabunga sorry this is happening; can you share a zip of the logs folder via ~/.config/Signal?

bungabunga commented 1 month ago

here: https://mega.nz/file/b89R0DJJ#UMOiwYLjQQWZgcoe1LthU_Ue6qJLJ4o5yXzvclc1VE0

trevor-signal commented 1 month ago

@bungabunga we're seeing a bunch of issues in the logs updating messages; do you have a particularly large message history? We'll investigate on our end. In the meantime, if you delete the logs folder Signal should start for you again.

bungabunga commented 1 month ago

well the message history goes back to november 2017, I used to copy/paste the old .config files every time I had a new machine.

sjjh commented 3 weeks ago

Same issue for me under Ubuntu 24.04 and Signal Desktop 7.30.0.

$ signal-desktop 
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 laptop
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
SIGNAL_ENABLE_HTTP undefined
userData: /home/simon/.config/Signal
config/get: Successfully read user config file
config/get: Successfully read ephemeral config file
making app single instance

<--- Last few GCs --->

[5368:0x52400128000]    92243 ms: Scavenge (reduce) (interleaved) 2046.3 (2050.0) -> 2046.3 (2049.0) MB, pooled: 0 MB, 12.69 / 0.00 ms  (average mu = 0.495, current mu = 0.407) allocation failure; 
[5368:0x52400128000]    93777 ms: Mark-Compact (reduce) 2047.3 (2049.0) -> 2047.3 (2050.0) MB, pooled: 0 MB, 1427.94 / 0.00 ms  (+ 210.8 ms in 0 steps since start of marking, biggest step 0.0 ms, walltime since start of marking 1676 ms) (average mu = 0.38

<--- JS stacktrace --->

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

I unfortunately don't know if I have an "particularly large message history", as I a) don't know how "particularly large" is defined and b) I don#t know where to find the message history on my computer to measure it. Please find a zipped tar of my ~/.config/Signal/logs at https://cloud.simon.schloss-tempelhof.de/s/iznmX6Z3Ei93i5n Thanks for your support!

jnm commented 3 weeks ago

@bungabunga we're seeing a bunch of issues in the logs updating messages; do you have a particularly large message history? We'll investigate on our end. In the meantime, if you delete the logs folder Signal should start for you again.

Thank you, @trevor-signal <3 This got me running again.

In case it's useful, I had 13 GB in ~/.config/Signal, and 1.4 GB in ~/.config/Signal/logs, when the heap limit issue started. This is Signal 7.29.0 on Ubuntu 24.04.

bungabunga commented 3 weeks ago

It happened to me again after the upgrade to 7.31.0 but I unfortunately accidently deleted the Logs folder so I can't share it here.

eaon commented 2 weeks ago

My Flatpak based install ran into the same problem, and I also have a substantial message history. app.log was multiple GB in size, even though the first message for that log file was dated 2024-10-30. I haven't rummaged around but I'd be happy to take a closer look if that would help.

scottnonnenberg-signal commented 2 weeks ago

@eaon It would really help if you could provide the specific crash output you see, and ideally you'd also be able to provide your log output. If you reach out to support@signal.org, they can help you figure out how to upload that large log file. Compression should help a lot, but that's a very large file!

eaon commented 2 weeks ago

Sounds good, will do! And yes, large and growing quickly too it seems: after shrinking app.log to ~300MB it ballooned back to a 1GB file in a matter of minutes

eaon commented 2 weeks ago

I looked more closely and it's mainly repeating error messages of the same type that flood the log every couple seconds (and lots of them). So I don't think uploading GB would help, but I cleared app.log and opened the Signal Desktop for a couple seconds and uploaded that instead.

The main offender seems to be a TypeError of this sort:

{"level":50,"time":"2024-11-05T00:30:57.218Z","msg":"Message._withSchemaVersion: error updating message 01f6a477-6e80-8ad3-5d40-2046b80c57f6: TypeError: e.slice is not a function\n    at redactGenericText ([REDACTED]/resources/app.asar/preload.bundle.js:63:34743)\n    at [REDACTED]/resources/app.asar/preload.bundle.js:105:119421\n    at upgradeWithContext ([REDACTED]/resources/app.asar/preload.bundle.js:105:115839)\n    at Array.map (<anonymous>)\n    at [REDACTED]/resources/app.asar/preload.bundle.js:105:115910\n    at [REDACTED]/resources/app.asar/preload.bundle.js:105:116020\n    at [REDACTED]/resources/app.asar/preload.bundle.js:105:115573\n    at upgradeSchema ([REDACTED]/resources/app.asar/preload.bundle.js:105:120919)\n    at async m.concurrency ([REDACTED]/resources/app.asar/preload.bundle.js:105:125942)"}

Hope this helps, for now I'll just regularly truncate that file

sjjh commented 1 week ago

Same issue again for me with Signal 7.32.0 under Ubuntu 24.04.1 LTS:

<--- Last few GCs --->

[26221:0x222c000f8000]   122527 ms: Mark-Compact (reduce) 2046.0 (2050.6) -> 2046.0 (2048.9) MB, pooled: 0 MB, 917.41 / 0.00 ms  (+ 10.8 ms in 0 steps since start of marking, biggest step 0.0 ms, walltime since start of marking 933 ms) (average mu = 0.319[26221:0x222c000f8000]   124529 ms: Mark-Compact 2047.0 (2048.9) -> 2047.0 (2052.9) MB, pooled: 0 MB, 1996.91 / 0.00 ms  (average mu = 0.134, current mu = 0.003) allocation failure; scavenge might not succeed

<--- JS stacktrace --->

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

The workaround of manual deleting ~/.config/Signal/logs/ (2.5 GB) works.