Closed sajith closed 2 years ago
Sometimes the window looks like this:
Just for fun, I added some swap (with fallocate -l 32G 32G.bin; sudo chmod 0600 32G.bin; sudo chown 0 32G.bin; sudo swapon 32G.bin
, because I went with Debian installer's defaults and ended up with 1G of swap), launched signal-desktop again, and got the same crash.
Also timed it with time signal-desktop
:
real 9m40.866s
user 7m30.017s
sys 1m11.246s
I closed Firefox, which freed up some memory, and launched Signal Desktop again. According to free -h
, I had 18Gi free RAM and 32Gi free swap at that time. The first time I got to see this fun window for the first time:
Upon running again, Signal Desktop crashed with these now-familiar messages:
[...]
{"level":30,"time":"2022-07-07T23:47:53.075Z","pid":340948,"hostname":"nonzen","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=11114ms"}
{"level":30,"time":"2022-07-07T23:48:13.882Z","pid":340948,"hostname":"nonzen","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=12033ms"}
{"level":30,"time":"2022-07-07T23:48:30.770Z","pid":340948,"hostname":"nonzen","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=13918ms"}
{"level":30,"time":"2022-07-07T23:48:52.873Z","pid":340948,"hostname":"nonzen","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=13480ms"}
{"level":30,"time":"2022-07-07T23:49:13.999Z","pid":340948,"hostname":"nonzen","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=14433ms"}
{"level":30,"time":"2022-07-07T23:49:32.708Z","pid":340948,"hostname":"nonzen","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=14300ms"}
{"level":30,"time":"2022-07-07T23:54:46.283Z","pid":340948,"hostname":"nonzen","msg":"MainSQL: slow query saveMessages duration=170360ms"}
<--- Last few GCs --->
[340948:0x3c00644000] 462305 ms: Scavenge 2911.5 (2957.3) -> 2910.8 (2964.6) MB, 50.4 / 0.0 ms (average mu = 0.974, current mu = 0.978) allocation failure;
[340948:0x3c00644000] 462408 ms: Scavenge 2918.5 (2964.6) -> 2919.2 (2965.3) MB, 49.8 / 0.0 ms (average mu = 0.974, current mu = 0.978) allocation failure;
[340948:0x3c00644000] 462491 ms: Scavenge 2919.2 (2965.3) -> 2918.7 (2970.6) MB, 82.1 / 0.0 ms (average mu = 0.974, current mu = 0.978) allocation failure;
<--- JS stacktrace --->
FATAL ERROR: Scavenger: semi-space copy Allocation failed - JavaScript heap out of memory
Aborted (core dumped)
I see that you're on 5.47. We just released 5.49 with fixes that might help out, and even 5.48 had a change that might help you out, here: https://github.com/signalapp/Signal-Desktop/commit/63679f5af6b47a90734e56035cc61b5c6551cc14
Let us know what you see!
Upgraded, and Signal Desktop is still crashing. With 5.49.0, I am getting this:
[...]
{"level":30,"time":"2022-07-08T13:31:39.389Z","pid":360612,"hostname":"nonzen","msg":"App loaded - time: 8315"}
{"level":30,"time":"2022-07-08T13:31:39.389Z","pid":360612,"hostname":"nonzen","msg":"SQL init - time: 197"}
{"level":30,"time":"2022-07-08T13:31:39.389Z","pid":360612,"hostname":"nonzen","msg":"Preload - time: 945"}
{"level":30,"time":"2022-07-08T13:31:39.389Z","pid":360612,"hostname":"nonzen","msg":"WebSocket connect - time: 5787"}
{"level":30,"time":"2022-07-08T13:31:39.390Z","pid":360612,"hostname":"nonzen","msg":"Processed count: 6"}
{"level":30,"time":"2022-07-08T13:31:39.390Z","pid":360612,"hostname":"nonzen","msg":"Messages per second: 3.790271636133923"}
{"level":30,"time":"2022-07-08T13:32:11.738Z","pid":360612,"hostname":"nonzen","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=11879ms"}
{"level":30,"time":"2022-07-08T13:32:35.513Z","pid":360612,"hostname":"nonzen","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=13474ms"}
{"level":30,"time":"2022-07-08T13:32:58.437Z","pid":360612,"hostname":"nonzen","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=16067ms"}
{"level":30,"time":"2022-07-08T13:33:29.107Z","pid":360612,"hostname":"nonzen","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=18976ms"}
{"level":30,"time":"2022-07-08T13:33:57.156Z","pid":360612,"hostname":"nonzen","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=20663ms"}
{"level":30,"time":"2022-07-08T13:34:20.439Z","pid":360612,"hostname":"nonzen","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=15656ms"}
{"level":30,"time":"2022-07-08T13:34:35.561Z","pid":360612,"hostname":"nonzen","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=16423ms"}
{"level":30,"time":"2022-07-08T13:38:48.810Z","pid":360612,"hostname":"nonzen","msg":"MainSQL: slow query saveMessages duration=172472ms"}
Unhandled Error: Error [ERR_WORKER_OUT_OF_MEMORY]: Worker terminated due to reaching memory limit: JS heap out of memory
at new NodeError (node:internal/errors:371:5)
at [kOnExit] (node:internal/worker:277:26)
at Worker.<computed>.onexit (node:internal/worker:199:20)
{"level":50,"time":"2022-07-08T13:39:11.255Z","pid":360612,"hostname":"nonzen","msg":"Unhandled Error: Error [ERR_WORKER_OUT_OF_MEMORY]: Worker terminated due to reaching memory limit: JS heap out of memory\n at new NodeError (node:internal/errors:371:5)\n at [kOnExit] (node:internal/worker:277:26)\n at Worker.<computed>.onexit (node:internal/worker:199:20)"}
{"level":30,"time":"2022-07-08T13:49:01.809Z","pid":360612,"hostname":"nonzen","msg":"System tray service: updating main window. Previously, there was a window, and now there is not"}
{"level":30,"time":"2022-07-08T13:49:01.810Z","pid":360612,"hostname":"nonzen","msg":"System tray service: rendering no tray"}
Render process is gone: Error: Reason: crashed, Exit Code: 133
at App.<anonymous> (/opt/Signal/resources/app.asar/app/global_errors.js:75:43)
at App.emit (node:events:538:35)
at EventEmitter.<anonymous> (node:electron/js2c/browser_init:161:12109)
at EventEmitter.emit (node:events:526:28)
{"level":50,"time":"2022-07-08T13:49:29.324Z","pid":360612,"hostname":"nonzen","msg":"Render process is gone: Error: Reason: crashed, Exit Code: 133\n at App.<anonymous> ([REDACTED]/app/global_errors.js:75:43)\n at App.emit (node:events:538:35)\n at EventEmitter.<anonymous> (node:electron/js2c/browser_init:161:12109)\n at EventEmitter.emit (node:events:526:28)"}
Those two error messages also appear in their own child windows.
Be on the lookout for 5.50.0 next week - we believe that it will fix your startup issues.
Upgraded Signal Desktop to 5.50.0. It does not crash anymore, but it isn't in useful state either: the Window is unresponsive most of the time. It does display the latest messages, but there are only some brief intervals when I can select a conversation or send a response. There's an almost constant CPU usage of >100%.
I could submit some logs this time: https://debuglogs.org/desktop/5.50.0/88849e91a18816d6adc5dba87db4c3899f46e261b321661bf7b03c526ee5f0ac.gz
There are some error messages in the messages signal-desktop prints on the console (sql channel error with call saveMessages: Error: Error: Attempting to save a hydrated message
). I believe this is the interesting part:
{"level":30,"time":"2022-07-14T12:50:38.366Z","pid":366544,"hostname":"localghost","msg":"App loaded - time: 42187"}
{"level":30,"time":"2022-07-14T12:50:38.367Z","pid":366544,"hostname":"localghost","msg":"SQL init - time: 437"}
{"level":30,"time":"2022-07-14T12:50:38.367Z","pid":366544,"hostname":"localghost","msg":"Preload - time: 1009"}
{"level":30,"time":"2022-07-14T12:50:38.367Z","pid":366544,"hostname":"localghost","msg":"WebSocket connect - time: 2750"}
{"level":30,"time":"2022-07-14T12:50:38.367Z","pid":366544,"hostname":"localghost","msg":"Processed count: 677"}
{"level":30,"time":"2022-07-14T12:50:38.367Z","pid":366544,"hostname":"localghost","msg":"Messages per second: 17.617362339960444"}
{"level":30,"time":"2022-07-14T12:50:38.434Z","pid":366544,"hostname":"localghost","msg":"MainSQL: slow query getUnreadByConversationAndMarkRead duration=64ms"}
{"level":30,"time":"2022-07-14T12:50:39.630Z","pid":366544,"hostname":"localghost","msg":"MainSQL: slow query saveMessages duration=52ms"}
{"level":30,"time":"2022-07-14T12:51:17.999Z","pid":366544,"hostname":"localghost","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=16303ms"}
{"level":30,"time":"2022-07-14T12:55:19.763Z","pid":366544,"hostname":"localghost","msg":"sql channel error with call saveMessages: Error: Error: Attempting to save a hydrated message\n at strictAssert ([REDACTED]/ts/util/assert.js:55:11)\n at saveMessageSync ([REDACTED]/ts/sql/Server.js:1208:36)\n at [REDACTED]/ts/sql/Server.js:1350:37\n at sqliteTransaction ([REDACTED]/node_modules/better-sqlite3/lib/methods/transaction.js:65:24)\n at Object.saveMessages ([REDACTED]/ts/sql/Server.js:1352:5)\n at MessagePort.<anonymous> ([REDACTED]/ts/sql/mainWorker.js:87:35)\n at [nodejs.internal.kHybridDispatch] (node:internal/event_target:647:20)\n at exports.emitMessage (node:internal/per_context/messageport:23:28)\n at Worker.<anonymous> ([REDACTED]/ts/sql/main.js:55:26)\n at Worker.emit (node:events:526:28)\n at MessagePort.<anonymous> (node:internal/worker:233:53)\n at [nodejs.internal.kHybridDispatch] (node:internal/event_target:647:20)\n at exports.emitMessage (node:internal/per_context/messageport:23:28)"}
{"level":30,"time":"2022-07-14T12:55:20.786Z","pid":366544,"hostname":"localghost","msg":"System tray service: setting unread count to 1"}
{"level":30,"time":"2022-07-14T12:55:20.786Z","pid":366544,"hostname":"localghost","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2022-07-14T12:55:21.785Z","pid":366544,"hostname":"localghost","msg":"System tray service: setting unread count to 0"}
{"level":30,"time":"2022-07-14T12:55:21.786Z","pid":366544,"hostname":"localghost","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2022-07-14T12:56:19.064Z","pid":366544,"hostname":"localghost","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=18597ms"}
{"level":30,"time":"2022-07-14T13:00:46.561Z","pid":366544,"hostname":"localghost","msg":"sql channel error with call saveMessages: Error: Error: Attempting to save a hydrated message\n at strictAssert ([REDACTED]/ts/util/assert.js:55:11)\n at saveMessageSync ([REDACTED]/ts/sql/Server.js:1208:36)\n at [REDACTED]/ts/sql/Server.js:1350:37\n at sqliteTransaction ([REDACTED]/node_modules/better-sqlite3/lib/methods/transaction.js:65:24)\n at Object.saveMessages ([REDACTED]/ts/sql/Server.js:1352:5)\n at MessagePort.<anonymous> ([REDACTED]/ts/sql/mainWorker.js:87:35)\n at [nodejs.internal.kHybridDispatch] (node:internal/event_target:647:20)\n at exports.emitMessage (node:internal/per_context/messageport:23:28)\n at Worker.<anonymous> ([REDACTED]/ts/sql/main.js:55:26)\n at Worker.emit (node:events:526:28)\n at MessagePort.<anonymous> (node:internal/worker:233:53)\n at [nodejs.internal.kHybridDispatch] (node:internal/event_target:647:20)\n at exports.emitMessage (node:internal/per_context/messageport:23:28)"}
{"level":30,"time":"2022-07-14T13:01:38.634Z","pid":366544,"hostname":"localghost","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=18910ms"}
{"level":30,"time":"2022-07-14T13:05:43.097Z","pid":366544,"hostname":"localghost","msg":"sql channel error with call saveMessages: Error: Error: Attempting to save a hydrated message\n at strictAssert ([REDACTED]/ts/util/assert.js:55:11)\n at saveMessageSync ([REDACTED]/ts/sql/Server.js:1208:36)\n at [REDACTED]/ts/sql/Server.js:1350:37\n at sqliteTransaction ([REDACTED]/node_modules/better-sqlite3/lib/methods/transaction.js:65:24)\n at Object.saveMessages ([REDACTED]/ts/sql/Server.js:1352:5)\n at MessagePort.<anonymous> ([REDACTED]/ts/sql/mainWorker.js:87:35)\n at [nodejs.internal.kHybridDispatch] (node:internal/event_target:647:20)\n at exports.emitMessage (node:internal/per_context/messageport:23:28)\n at Worker.<anonymous> ([REDACTED]/ts/sql/main.js:55:26)\n at Worker.emit (node:events:526:28)\n at MessagePort.<anonymous> (node:internal/worker:233:53)\n at [nodejs.internal.kHybridDispatch] (node:internal/event_target:647:20)\n at exports.emitMessage (node:internal/per_context/messageport:23:28)"}
{"level":40,"time":"2022-07-14T13:05:43.111Z","pid":366544,"hostname":"localghost","msg":"MainSQL: getAllUnprocessedAndIncrementAttempts: deleting 2 invalid unprocessed envelopes"}
{"level":30,"time":"2022-07-14T13:06:37.321Z","pid":366544,"hostname":"localghost","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=22754ms"}
{"level":30,"time":"2022-07-14T13:10:46.686Z","pid":366544,"hostname":"localghost","msg":"sql channel error with call saveMessages: Error: Error: Attempting to save a hydrated message\n at strictAssert ([REDACTED]/ts/util/assert.js:55:11)\n at saveMessageSync ([REDACTED]/ts/sql/Server.js:1208:36)\n at [REDACTED]/ts/sql/Server.js:1350:37\n at sqliteTransaction ([REDACTED]/node_modules/better-sqlite3/lib/methods/transaction.js:65:24)\n at Object.saveMessages ([REDACTED]/ts/sql/Server.js:1352:5)\n at MessagePort.<anonymous> ([REDACTED]/ts/sql/mainWorker.js:87:35)\n at [nodejs.internal.kHybridDispatch] (node:internal/event_target:647:20)\n at exports.emitMessage (node:internal/per_context/messageport:23:28)\n at Worker.<anonymous> ([REDACTED]/ts/sql/main.js:55:26)\n at Worker.emit (node:events:526:28)\n at MessagePort.<anonymous> (node:internal/worker:233:53)\n at [nodejs.internal.kHybridDispatch] (node:internal/event_target:647:20)\n at exports.emitMessage (node:internal/per_context/messageport:23:28)"}
{"level":30,"time":"2022-07-14T13:11:47.584Z","pid":366544,"hostname":"localghost","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=23038ms"}
I am getting very similar issues as you are. Ever since I updated to 5.47, I've been having these issues. I hadn't updated for a while before then, so I wasn't experiencing it. I'd say the problem began close to around that version.
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/localuser/.config/Signal
config/get: Successfully read user config file
config/get: Successfully read ephemeral config file
making app single instance
[8474:0721/162341.100626:ERROR:bus.cc(398)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[8474:0721/162341.100771:ERROR:bus.cc(398)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
{"level":30,"time":"2022-07-21T08:23:41.315Z","pid":8474,"hostname":"thevoid","msg":"app ready"}
{"level":30,"time":"2022-07-21T08:23:41.319Z","pid":8474,"hostname":"thevoid","msg":"starting version 5.50.1"}
{"level":30,"time":"2022-07-21T08:23:41.320Z","pid":8474,"hostname":"thevoid","msg":"media access status [object Undefined] [object Undefined]"}
{"level":30,"time":"2022-07-21T08:23:41.322Z","pid":8474,"hostname":"thevoid","msg":"got fast theme-setting value dark"}
{"level":30,"time":"2022-07-21T08:23:41.331Z","pid":8474,"hostname":"thevoid","msg":"got fast theme-setting value dark"}
{"level":30,"time":"2022-07-21T08:23:41.332Z","pid":8474,"hostname":"thevoid","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2022-07-21T08:23:41.334Z","pid":8474,"hostname":"thevoid","msg":"getSystemTraySetting had no flags and did no DB lookups. Returning DoNotUseSystemTray"}
{"level":30,"time":"2022-07-21T08:23:41.337Z","pid":8474,"hostname":"thevoid","msg":"Initializing BrowserWindow config: {\"show\":false,\"width\":1362,\"height\":724,\"minWidth\":712,\"minHeight\":550,\"autoHideMenuBar\":true,\"titleBarStyle\":\"default\",\"titleBarOverlay\":false,\"backgroundColor\":\"#121212\",\"webPreferences\":{\"devTools\":false,\"spellcheck\":true,\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"contextIsolation\":false,\"preload\":\"[REDACTED]/preload.bundle.js\",\"backgroundThrottling\":false,\"enablePreferredSizeMode\":true,\"disableBlinkFeatures\":\"Accelerated2dCanvas,AcceleratedSmallCanvases\"},\"icon\":\"[REDACTED]/images/signal-logo-desktop-linux.png\",\"x\":2,\"y\":42}"}
[8474:0721/162341.472430:ERROR:bus.cc(398)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
{"level":30,"time":"2022-07-21T08:23:41.534Z","pid":8474,"hostname":"thevoid","msg":"spellcheck: user locale: en"}
{"level":30,"time":"2022-07-21T08:23:41.534Z","pid":8474,"hostname":"thevoid","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":"2022-07-21T08:23:41.535Z","pid":8474,"hostname":"thevoid","msg":"spellcheck: setting languages to: [\"en\"]"}
{"level":30,"time":"2022-07-21T08:23:41.542Z","pid":8474,"hostname":"thevoid","msg":"got fast theme-setting value dark"}
{"level":30,"time":"2022-07-21T08:23:41.567Z","pid":8474,"hostname":"thevoid","msg":"MainSQL: updateSchema:\n Current user_version: 63;\n Most recent db schema: 63;\n SQLite version: 3.37.2;\n SQLCipher version: 4.5.1 community;\n (deprecated) schema_version: 276;\n"}
{"level":30,"time":"2022-07-21T08:23:41.571Z","pid":8474,"hostname":"thevoid","msg":"got fast spellcheck setting true"}
[8474:0721/162341.605678:ERROR:bus.cc(398)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
{"level":30,"time":"2022-07-21T08:23:41.607Z","pid":8474,"hostname":"thevoid","msg":"System tray service: created"}
{"level":30,"time":"2022-07-21T08:23:41.608Z","pid":8474,"hostname":"thevoid","msg":"System tray service: updating main window. Previously, there was not a window, and now there is"}
{"level":30,"time":"2022-07-21T08:23:41.608Z","pid":8474,"hostname":"thevoid","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2022-07-21T08:23:41.608Z","pid":8474,"hostname":"thevoid","msg":"Begin ensuring permissions"}
{"level":30,"time":"2022-07-21T08:23:41.672Z","pid":8474,"hostname":"thevoid","msg":"Ensuring file permissions for 4 files"}
{"level":30,"time":"2022-07-21T08:23:41.677Z","pid":8474,"hostname":"thevoid","msg":"Finish ensuring permissions in 69ms"}
{"level":30,"time":"2022-07-21T08:23:42.169Z","pid":8474,"hostname":"thevoid","msg":"Updating BrowserWindow config: %s {\"maximized\":true,\"autoHideMenuBar\":true,\"fullscreen\":false,\"width\":1362,\"height\":724,\"x\":2,\"y\":42}"}
{"level":30,"time":"2022-07-21T08:23:42.171Z","pid":8474,"hostname":"thevoid","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2022-07-21T08:23:42.172Z","pid":8474,"hostname":"thevoid","msg":"config/set: Saved ephemeral config to disk"}
{"level":30,"time":"2022-07-21T08:23:44.129Z","pid":8474,"hostname":"thevoid","msg":"main window is ready-to-show"}
{"level":30,"time":"2022-07-21T08:23:44.129Z","pid":8474,"hostname":"thevoid","msg":"showing main window"}
{"level":30,"time":"2022-07-21T08:23:44.130Z","pid":8474,"hostname":"thevoid","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2022-07-21T08:23:45.577Z","pid":8474,"hostname":"thevoid","msg":"sending `database-ready`"}
{"level":30,"time":"2022-07-21T08:23:47.423Z","pid":8474,"hostname":"thevoid","msg":"Prevent display sleep service: allowing display sleep"}
{"level":30,"time":"2022-07-21T08:23:48.193Z","pid":8474,"hostname":"thevoid","msg":"updater/start: Updates disabled - not starting new version checks"}
{"level":30,"time":"2022-07-21T08:23:48.196Z","pid":8474,"hostname":"thevoid","msg":"System tray service: setting unread count to 4"}
{"level":30,"time":"2022-07-21T08:23:48.197Z","pid":8474,"hostname":"thevoid","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2022-07-21T08:23:48.819Z","pid":8474,"hostname":"thevoid","msg":"App loaded - time: 7517"}
{"level":30,"time":"2022-07-21T08:23:48.819Z","pid":8474,"hostname":"thevoid","msg":"SQL init - time: 269"}
{"level":30,"time":"2022-07-21T08:23:48.819Z","pid":8474,"hostname":"thevoid","msg":"Preload - time: 1420"}
{"level":30,"time":"2022-07-21T08:23:48.819Z","pid":8474,"hostname":"thevoid","msg":"WebSocket connect - time: 4213"}
{"level":30,"time":"2022-07-21T08:23:48.819Z","pid":8474,"hostname":"thevoid","msg":"Processed count: 0"}
{"level":30,"time":"2022-07-21T08:23:48.819Z","pid":8474,"hostname":"thevoid","msg":"Messages per second: 0"}
{"level":30,"time":"2022-07-21T08:24:01.545Z","pid":8474,"hostname":"thevoid","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=5973ms"}
{"level":30,"time":"2022-07-21T08:24:22.861Z","pid":8474,"hostname":"thevoid","msg":"Updating BrowserWindow config: %s {\"maximized\":true,\"autoHideMenuBar\":true,\"fullscreen\":false,\"width\":1362,\"height\":724,\"x\":2,\"y\":42}"}
{"level":30,"time":"2022-07-21T08:24:22.862Z","pid":8474,"hostname":"thevoid","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2022-07-21T08:24:22.862Z","pid":8474,"hostname":"thevoid","msg":"config/set: Saved ephemeral config to disk"}
{"level":30,"time":"2022-07-21T08:24:52.275Z","pid":8474,"hostname":"thevoid","msg":"sql channel error with call saveMessages: Error: Error: Attempting to save a hydrated message\n at strictAssert ([REDACTED]/ts/util/assert.js:55:11)\n at saveMessageSync ([REDACTED]/ts/sql/Server.js:1208:36)\n at [REDACTED]/ts/sql/Server.js:1350:37\n at sqliteTransaction ([REDACTED]/node_modules/better-sqlite3/lib/methods/transaction.js:65:24)\n at Object.saveMessages ([REDACTED]/ts/sql/Server.js:1352:5)\n at MessagePort.<anonymous> ([REDACTED]/ts/sql/mainWorker.js:87:35)\n at [nodejs.internal.kHybridDispatch] (node:internal/event_target:647:20)\n at exports.emitMessage (node:internal/per_context/messageport:23:28)\n at Worker.<anonymous> ([REDACTED]/ts/sql/main.js:55:26)\n at Worker.emit (node:events:526:28)\n at MessagePort.<anonymous> (node:internal/worker:233:53)\n at [nodejs.internal.kHybridDispatch] (node:internal/event_target:647:20)\n at exports.emitMessage (node:internal/per_context/messageport:23:28)"}
{"level":30,"time":"2022-07-21T08:24:52.297Z","pid":8474,"hostname":"thevoid","msg":"System tray service: setting unread count to 0"}
{"level":30,"time":"2022-07-21T08:24:52.297Z","pid":8474,"hostname":"thevoid","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2022-07-21T08:25:24.196Z","pid":8474,"hostname":"thevoid","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=5890ms"}
With the latter part of the logs being repeated. Something about attempting to save a hydrated message.
{"level":30,"time":"2022-07-21T08:31:26.508Z","pid":8474,"hostname":"thevoid","msg":"sql channel error with call saveMessages: Error: Error: Attempting to save a hydrated message\n at strictAssert ([REDACTED]/ts/util/assert.js:55:11)\n at saveMessageSync ([REDACTED]/ts/sql/Server.js:1208:36)\n at [REDACTED]/ts/sql/Server.js:1350:37\n at sqliteTransaction ([REDACTED]/node_modules/better-sqlite3/lib/methods/transaction.js:65:24)\n at Object.saveMessages ([REDACTED]/ts/sql/Server.js:1352:5)\n at MessagePort.<anonymous> ([REDACTED]/ts/sql/mainWorker.js:87:35)\n at [nodejs.internal.kHybridDispatch] (node:internal/event_target:647:20)\n at exports.emitMessage (node:internal/per_context/messageport:23:28)\n at Worker.<anonymous> ([REDACTED]/ts/sql/main.js:55:26)\n at Worker.emit (node:events:526:28)\n at MessagePort.<anonymous> (node:internal/worker:233:53)\n at [nodejs.internal.kHybridDispatch] (node:internal/event_target:647:20)\n at exports.emitMessage (node:internal/per_context/messageport:23:28)"}
{"level":30,"time":"2022-07-21T08:31:48.552Z","pid":8474,"hostname":"thevoid","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=6048ms"}
{"level":30,"time":"2022-07-21T08:32:41.851Z","pid":8474,"hostname":"thevoid","msg":"sql channel error with call saveMessages: Error: Error: Attempting to save a hydrated message\n at strictAssert ([REDACTED]/ts/util/assert.js:55:11)\n at saveMessageSync ([REDACTED]/ts/sql/Server.js:1208:36)\n
This just kept on repeating over and over, until Signal finally crashed. While this was happening, Signal could still display messages, but remained unresponsive and unclickable until it did crash.
Also, after I tested Signal again, immediately after I closed my Signal instance, I got this error. I ran signal-desktop --verbose
, and killed the terminal. Should I put this down in a separate issue?
Unhandled Error
Error: write EIO
at afterWriteDispatched (node:internal/stream_base_commons:160:15)
at writeGeneric (node:internal/stream_base_commons:151:3)
at Socket._writeGeneric (node:net:795:11)
at Socket._write (node:net:807:8)
at writeOrBuffer (node:internal/streams/writable:389:12)
at _write (node:internal/streams/writable:330:10)
at Writable.write (node:internal/streams/writable:334:10)
at console.value (node:internal/console/constructor:286:16)
at console.warn (node:internal/console/constructor:365:26)
at handleError ([REDACTED]/app/global_errors.js:36:13
Unhandled Error
Error: write EIO
at afterWriteDispatched (node:internal/stream_base_commons:160:15)
at writeGeneric (node:internal/stream_base_commons:151:3)
at Socket._writeGeneric (node:net:795:11)
at Socket._write (node:net:807:8)
at writeOrBuffer (node:internal/streams/writable:389:12)
at _write (node:internal/streams/writable:330:10)
at Writable.write (node:internal/streams/writable:334:10)
at Object.write ([REDACTED]/node_modules/pino-multi-stream/multistream.js:68:18)
at Pino.write ([REDACTED]/node_modules/pino/lib/proto.js:177:15)
at Pino.LOG [as error] ([REDACTED]/node_modules/pino/lib/tools.js:57:21)
@Rowaaaaan Please try 5.51.0, released yesterday. It should prevent the 'Attempting to save a hydrated message' error you're seeing.
Signal 5.51.0 has solved the problems I've reported above. Thank you!
Just upgraded to 5.51.0 too. Can confirm that the issue was resolved for me as well. Thanks!
Bug Description
Signal Desktop has been crashing for me for the past couple of months. (Do not have exact dates or versions, sorry.) The earlier crashes were with
Illegal instruction (core dumped)
and the such, but the latest version crashes with an out of memory error. Please see below.I get to see an unresponsive app window for a few minutes, and eventually it crashes, before I am actually able to do anything with the app.
I do have a fairly large database, from the beginning of my Signal Desktop usage:
I suspect that I might be able to run Signal if I close Firefox, but then I won't be able to submit this bug report. :-)
Steps to Reproduce
Launch it, and wait for it to crash. There are some hints when launching signal-desktop from the command line:
Actual Result:
Crash a few minutes after launching Signal Desktop. This is consistent.
Expected Result:
Working Signal Desktop, with no crashes, no high CPU/memory usage, angels singing, and a world without anymore new Electron apps. And oh, a choice of light-weight Signal apps, third-party or otherwise. ;-)
(Sorry, could not help. Signal has been pretty great until it wasn't, but this recent experience is making me question my choices.)
Screenshots
Before the crash:
Platform Info
Signal Version:
5.47.0
Operating System:
Debian 11.3.
Linked Device Version:
5.41.14
Link to Debug Log
Cannot submit logs from the app because it crashes before it becomes usable.