-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Description
Using a supported version?
- I have searched searched open and closed issues for duplicates.
- I am using Signal-Desktop as provided by the Signal team, not a 3rd-party package.
Overall summary
Yesterday, I upgraded from Signal 7.63.0 to 7.64.0 (keeping libringrtc at v. 2.54.1, signal-sqlcipher at 2.1.0). After that, Signal opened and functioned normally for the first half of today. After a reboot and after unlocking my KWallet (as I have been prompted for for a few months now when starting Signal as the first app), I was greeted with the "Signal could not be started" message (whose "Copy error and quit" button cf. #7355 still doesn't work, btw) and a black window in the background.
Starting from the command line, this is the output I'm seeing:
This build of Electron is provided by openSUSE and contains various modifications.
Please report problems at https://bugzilla.opensuse.org/enter_bug.cgi?classification=openSUSE and not to upstream bug trackers.
NODE_ENV production
NODE_CONFIG_DIR /usr/libexec/signal-desktop/config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME [MY HOSTNAME]
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
SIGNAL_ENABLE_HTTP undefined
2025-08-01 17:34:34.888: ERROR CORE sqlcipher_page_cipher: hmac check failed for pgno=1
2025-08-01 17:34:34.888: ERROR CORE sqlite3Codec: error decrypting page 1 data: 1
2025-08-01 17:34:34.888: ERROR CORE sqlcipher_codec_ctx_set_error 1
2025-08-01 17:34:34.889: ERROR CORE sqlcipher_cipher_ctx_key_derive: error 1 occurred from provider kdf generating encryption key
2025-08-01 17:34:34.889: ERROR CORE sqlcipher_codec_key_derive: error occurred deriving read_ctx key
2025-08-01 17:34:34.889: ERROR CORE sqlite3Codec: error occurred during key derivation: 1
2025-08-01 17:34:34.889: ERROR CORE sqlcipher_codec_ctx_set_error 1
Now, of course this is technically not the official version of Signal Desktop, but it's built by openSUSE over at the Open Build Service where most modifications done, see the link, involve the build process only and this is not related to Electron which is the only thing "heavily modified" by openSUSE.
Taking a look into KWallet revealed that there is no data stored for Signal or at least no data being labelled as belonging to Signal but "Chrome Keys" and "Chromium Keys" which I guess could also be generated by Electron apps. However, in config.json there's "safeStorageBackend": "kwallet6" and reading #6970, I wonder if there's a problem with that. (I'm thinking of something of along the lines of Signal trying to read these Safe Storage values although they're belonging to Chrome and Chromium, both of which I've installed and used in the past.)
Downgrading of course didn't help. This are the last entries of app.log before and after the restart (i.e. with a working app and the first start with a crash):
{"level":30,"time":"2025-08-01T10:29:50.200Z","msg":"[WebsocketResources] WebSocketResources.KeepAlive(LibsignalWebSocketResource(authenticated)).send: Sending a keepalive message"}
{"level":30,"time":"2025-08-01T10:30:15.016Z","msg":"[WebsocketResources] WebSocketResources.KeepAlive(LibsignalWebSocketResource(unauthenticated)).send: Sending a keepalive message"}
{"level":30,"time":"2025-08-01T10:30:20.318Z","msg":"[WebsocketResources] WebSocketResources.KeepAlive(LibsignalWebSocketResource(authenticated)).send: Sending a keepalive message"}
{"level":40,"time":"2025-08-01T15:18:31.629Z","msg":"[setupI18nMain] 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.github.io/docs/getting-started/message-distribution"}
{"level":30,"time":"2025-08-01T15:18:31.649Z","msg":"[preconnect] libsignal net url: https://chat.signal.org"}
{"level":30,"time":"2025-08-01T15:18:31.649Z","msg":"[preconnect] libsignal net environment resolved to prod"}
{"level":30,"time":"2025-08-01T15:18:31.649Z","msg":"[preconnect] WebAPI: preconnect start"}
{"level":30,"time":"2025-08-01T15:18:31.918Z","msg":"[profiles] Profile Service initialized"}
{"level":30,"time":"2025-08-01T15:18:32.102Z","msg":"[preload] complete"}
{"level":30,"time":"2025-08-01T15:18:32.103Z","msg":"[@signalapp/libsignal-client] Initializing libsignal version:0.76.4 signal_node::logging rust/bridge/node/src/logging.rs:204"}
{"level":30,"time":"2025-08-01T15:18:32.177Z","msg":"[notifications] NotificationService initialized"}
{"level":50,"time":"2025-08-01T15:18:32.186Z","msg":"Top-level unhandled promise rejection: TypeError: Cannot destructure property 'getIsInCall' of 'window.Events' as it is undefined.\n at IpcRenderer.<anonymous> ([REDACTED]/libexec/signal-desktop/preload.bundle.js:134:41078)\n at IpcRenderer.emit (node:events:518:28)\n at Object.onMessage (node:electron/js2c/renderer_init:2:10603)"}
{"level":30,"time":"2025-08-01T15:18:32.204Z","msg":"[@signalapp/libsignal-client] [preconnect] connection succeeded after 554.128ms libsignal_net::connect_state /home/abuild/rpmbuild/BUILD/libsignal-0.76.4-build/libsignal-0.76.4/rust/net/src/connect_state.rs:567"}
{"level":30,"time":"2025-08-01T15:18:32.204Z","msg":"[preconnect] WebAPI: preconnect done"}
Starting Signal with --enable-crash-reports didn't change a thing.
I'm at a loss here. I'd like to try everything to recover my Desktop data, since the mobile search pretty much sucks and I don't want to lose years worth of chat copies. I still have them on my phone though and have a Signal backup there, but still.
Any pointers or help would be highly appreciated.
Steps to reproduce
As described above:
- Upgrade to Signal 7.64.0
- Use normally once
- Subsequent starts crash
Expected result
Signal should start normally even after a reboot
Actual result
Signal fails with a non-descript error message and the above sqlcipher output
Screenshots
No response
Signal version
7.64.0
Operating system
openSUSE Tumbleweed
Version of Signal on your phone
No response
Link to debug log
No response