Open RichardMyersGV opened 1 year ago
Just tested it with a thread between my Linux desktop (and my Android mobile), and a thread participant on Android. No issues. It behaved as expected, even with pictures. Didn't try video.
The problem I encountered with with someone on IOS, who sent me pictures and short videos. I'm trying to arrange for more testing with him, and to find out the IOS app version.
Just happened again with the same person. He is running iOS (mobile) 6.11.0.11.
Debug log shows this around the time that the Desktop program should've seen the message traffic. My Android app shows everything. The desktop was not in suspend, but had been idle for some time, with the screen locked, and possibly under some power management, but obviously still awake...
INFO 2023-02-20T05:39:17.892Z MessageReceiver.decryptAndCacheBatch storing 1 decrypted envelopes, keeping 0 failed envelopes.
INFO 2023-02-20T05:39:17.892Z commitZoneChanges(MessageReceiver): pending sender keys 0, pending sessions 1, pending unprocessed 1
ERROR 2023-02-20T05:39:38.402Z Error: SQL channel call (getNextAttachmentDownloadJobs) task did not complete in time.
at createTaskWithTimeout ([REDACTED]/resources/app.asar/preload.bundle.js:59994:24)
at [REDACTED]/resources/app.asar/preload.bundle.js:80629:12
at _maybeStartJob ([REDACTED]/resources/app.asar/preload.bundle.js:148259:26)
at _tick ([REDACTED]/resources/app.asar/preload.bundle.js:148243:8)
ERROR 2023-02-20T05:39:38.403Z Top-level unhandled promise rejection: Error: SQL channel call (getNextAttachmentDownloadJobs) task did not complete in time.
at createTaskWithTimeout ([REDACTED]/resources/app.asar/preload.bundle.js:59994:24)
at [REDACTED]/resources/app.asar/preload.bundle.js:80629:12
at _maybeStartJob ([REDACTED]/resources/app.asar/preload.bundle.js:148259:26)
at _tick ([REDACTED]/resources/app.asar/preload.bundle.js:148243:8)
INFO 2023-02-20T05:39:44.021Z WebSocketResources: Sending a keepalive message
INFO 2023-02-20T05:39:47.815Z WebSocketResources: Sending a keepalive message
INFO 2023-02-20T05:40:14.107Z WebSocketResources: Sending a keepalive message
INFO 2023-02-20T05:40:17.897Z WebSocketResources: Sending a keepalive message
ERROR 2023-02-20T05:40:38.402Z Error: SQL channel call (getNextAttachmentDownloadJobs) task did not complete in time.
at createTaskWithTimeout ([REDACTED]/resources/app.asar/preload.bundle.js:59994:24)
at [REDACTED]/resources/app.asar/preload.bundle.js:80629:12
at _maybeStartJob ([REDACTED]/resources/app.asar/preload.bundle.js:148259:26)
at _tick ([REDACTED]/resources/app.asar/preload.bundle.js:148243:8)
ERROR 2023-02-20T05:40:38.403Z Top-level unhandled promise rejection: Error: SQL channel call (getNextAttachmentDownloadJobs) task did not complete in time.
at createTaskWithTimeout ([REDACTED]/resources/app.asar/preload.bundle.js:59994:24)
at [REDACTED]/resources/app.asar/preload.bundle.js:80629:12
at _maybeStartJob ([REDACTED]/resources/app.asar/preload.bundle.js:148259:26)
at _tick ([REDACTED]/resources/app.asar/preload.bundle.js:148243:8)
INFO 2023-02-20T05:40:44.189Z WebSocketResources: Sending a keepalive message
INFO 2023-02-20T05:40:47.984Z WebSocketResources: Sending a keepalive message
INFO 2023-02-20T05:41:14.275Z WebSocketResources: Sending a keepalive message
INFO 2023-02-20T05:41:18.065Z WebSocketResources: Sending a keepalive message
ERROR 2023-02-20T05:41:38.403Z Error: SQL channel call (getNextAttachmentDownloadJobs) task did not complete in time.
at createTaskWithTimeout ([REDACTED]/resources/app.asar/preload.bundle.js:59994:24)
at [REDACTED]/resources/app.asar/preload.bundle.js:80629:12
at _maybeStartJob ([REDACTED]/resources/app.asar/preload.bundle.js:148259:26)
at _tick ([REDACTED]/resources/app.asar/preload.bundle.js:148243:8)
ERROR 2023-02-20T05:41:38.404Z Top-level unhandled promise rejection: Error: SQL channel call (getNextAttachmentDownloadJobs) task did not complete in time.
at createTaskWithTimeout ([REDACTED]/resources/app.asar/preload.bundle.js:59994:24)
at [REDACTED]/resources/app.asar/preload.bundle.js:80629:12
at _maybeStartJob ([REDACTED]/resources/app.asar/preload.bundle.js:148259:26)
at _tick ([REDACTED]/resources/app.asar/preload.bundle.js:148243:8)
INFO 2023-02-20T05:41:44.368Z WebSocketResources: Sending a keepalive message
INFO 2023-02-20T05:41:48.146Z WebSocketResources: Sending a keepalive message
INFO 2023-02-20T05:42:14.460Z WebSocketResources: Sending a keepalive message
INFO 2023-02-20T05:42:18.226Z WebSocketResources: Sending a keepalive message
WARN 2023-02-20T05:42:37.176Z TaskWithTimeout: SQL channel call (deleteSentProtosOlderThan) has been running for 1800001ms
WARN 2023-02-20T05:42:37.176Z TaskWithTimeout: SQL channel call (createOrUpdateItem) has been running for 1799997ms
WARN 2023-02-20T05:42:37.176Z TaskWithTimeout: SQL channel call (getNextAttachmentDownloadJobs) has been running for 1798773ms
WARN 2023-02-20T05:42:37.176Z TaskWithTimeout: SQL channel call (getNextAttachmentDownloadJobs) has been running for 1738772ms
WARN 2023-02-20T05:42:37.176Z TaskWithTimeout: SQL channel call (getNextAttachmentDownloadJobs) has been running for 1678771ms
WARN 2023-02-20T05:42:37.176Z TaskWithT....
If I send a test message from my desktop to the thread while in this state (unsynchronized), it doesn't show up on my phone. The missing messages show up on my desktop only after restarting Signal. After restarting Signal, the test message is in the wrong order (by many hours) on the desktop, and doesn't show up on my phone until I restart Signal on my phone.
This appears to be the same issue as these two:
On some versions of linux, it appears that something in Signal Desktop breaks during sleep/suspend mode, even if that mode was only active for a small time.
We're looking for a consistent way to reproduce this, so we can communicate to the Electron team about it. What are your hardware specs? What else can you tell us about when it happens? Does it happen for some sleeps/suspend sessions, but not for others? What's the difference?
I'm not seeing the problem with 6.7.0, if it makes any difference... But will pay close attention, and if it crops up again, I will provide more details. I did verify that it happened even if just the screen saver (blank, in my case) and screen lock were active. So being suspended was not required, though it also happened during suspend. I would imagine any time Signal Desktop was not actively 'watching' the thread...
Darn, still seeing this problem with 6.7.0...this time when suspended.
What is a good way to gather the HW specs? HW: Dell XPS 15 9550 (circa 2016), 32GB ram, 1TB SS NVME disk, Nvidia GeForce GTX 960M and Intel HD Graphics 530. SW: Fedora 37, Xorg (not Wayland), XFCE4, Flatpak Signal 6.7.0., Light locker.
I need to do more tests, as to whether it depends on who sends Signal traffic, or whether it matters if the laptop is in suspend, or whether the screen is locked, etc.
@RichardMyersGV The specs you've provided should be enough, for now. Really, we're looking for any patterns you can provide - what kind of suspend/lock/sleep causes it, and what doesn't?
I just updated to 6.19.0 on my Macbook and immediately I got the "Disconnected" yellow banner. Restarting the app, restarting the device, unpairing or even reinstalling doesn't help at all. I can't get it to connect anymore. I haven't done any other changes, I only updated Signal.
Update: Switching to a different WiFi will fix it and Signal will connect. But switching back to the previous Wifi will again end up in Disconnected errors. I have been using this WiFi for years with no issue and I haven't done any changes. I think the new Electron version in Signal 6.19.0 has maybe broken something.
INFO 2023-05-25T07:03:38.414Z System tray service: rendering no tray
INFO 2023-05-25T07:03:42.571Z SocketManager: failed to connect unauthenticated socket due to error: Error: Connection timed out
at [REDACTED]/Resources/app.asar/preload.bundle.js:76:373701
at Timeout._onTimeout ([REDACTED]/Resources/app.asar/preload.bundle.js:21:3312)
at listOnTimeout (node:internal/timers:569:17)
at process.processTimers (node:internal/timers:512:7)
ERROR 2023-05-25T07:03:42.573Z GET (WS) https://chat.signal.org/v1/config 0 Error
ERROR 2023-05-25T07:03:42.599Z Top-level unhandled promise rejection: Error: Connection timed out
at [REDACTED]/Resources/app.asar/preload.bundle.js:76:373701
at Timeout._onTimeout ([REDACTED]/Resources/app.asar/preload.bundle.js:21:3312)
at listOnTimeout (node:internal/timers:569:17)
at process.processTimers (node:internal/timers:512:7)
ERROR 2023-05-25T07:03:43.462Z account.registerSecondDevice: got an error TimeoutError
at getQRCode ([REDACTED]/Resources/app.asar/preload.bundle.js:103:23211)
at [REDACTED]/Resources/app.asar/preload.bundle.js:103:23689
at fk ([REDACTED]/Resources/app.asar/preload.bundle.js:70:6837)
at rs.unstable_runWithPriority ([REDACTED]/Resources/app.asar/preload.bundle.js:62:38235)
at gg ([REDACTED]/Resources/app.asar/preload.bundle.js:66:40609)
at Oj ([REDACTED]/Resources/app.asar/preload.bundle.js:70:6262)
at [REDACTED]/Resources/app.asar/preload.bundle.js:70:6162
at V ([REDACTED]/Resources/app.asar/preload.bundle.js:62:37224)
at cwe.port1.onmessage ([REDACTED]/Resources/app.asar/preload.bundle.js:62:35719)
INFO 2023-05-25T07:03:44.304Z GET (WS) https://chat.signal.org/v1/config
INFO 2023-05-25T07:03:44.304Z SocketManager: connecting unauthenticated socket
INFO 2023-05-25T07:03:49.444Z checkExpiringMessages: checking for expiring messages
INFO 2023-05-25T07:03:49.448Z checkExpiringMessages: found no messages to expire
INFO 2023-05-25T07:03:54.313Z SocketManager: failed to connect unauthenticated socket due to error: Error: Connection timed out
at [REDACTED]/Resources/app.asar/preload.bundle.js:76:373701
at Timeout._onTimeout ([REDACTED]/Resources/app.asar/preload.bundle.js:21:3312)
at listOnTimeout (node:internal/timers:569:17)
at process.processTimers (node:internal/timers:512:7)
ERROR 2023-05-25T07:03:54.313Z GET (WS) https://chat.signal.org/v1/config 0 Error
INFO 2023-05-25T07:03:56.451Z GET (WS) https://chat.signal.org/v1/config
INFO 2023-05-25T07:03:56.452Z SocketManager: connecting unauthenticated socket
INFO 2023-05-25T07:04:02.176Z checkExpiringMessages: checking for expiring messages
INFO 2023-05-25T07:04:02.189Z checkExpiringMessages: found no messages to expire
INFO 2023-05-25T07:04:06.458Z SocketManager: failed to connect unauthenticated socket due to error: Error: Connection timed out
at [REDACTED]/Resources/app.asar/preload.bundle.js:76:373701
at Timeout._onTimeout ([REDACTED]/Resources/app.asar/preload.bundle.js:21:3312)
at listOnTimeout (node:internal/timers:569:17)
at process.processTimers (node:internal/timers:512:7)
ERROR 2023-05-25T07:04:06.459Z GET (WS) https://chat.signal.org/v1/config 0 Error
ERROR 2023-05-25T07:04:06.459Z Top-level unhandled promise rejection: HTTPError: promiseAjax catch; code: 0
at makeHTTPError ([REDACTED]/Resources/app.asar/preload.bundle.js:78:925)
at _promiseAjax ([REDACTED]/Resources/app.asar/preload.bundle.js:78:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async _retryAjax ([REDACTED]/Resources/app.asar/preload.bundle.js:78:696)
at async H ([REDACTED]/Resources/app.asar/preload.bundle.js:78:5821)
at async Object.Te [as getConfig] ([REDACTED]/Resources/app.asar/preload.bundle.js:78:6726)
at async refreshRemoteConfig ([REDACTED]/Resources/app.asar/preload.bundle.js:76:245093)
at async Object.initRemoteConfig ([REDACTED]/Resources/app.asar/preload.bundle.js:76:244024)
Original stack:
Error: Connection timed out
at [REDACTED]/Resources/app.asar/preload.bundle.js:76:373701
at Timeout._onTimeout ([REDACTED]/Resources/app.asar/preload.bundle.js:21:3312)
at listOnTimeout (node:internal/timers:569:17)
at process.processTimers (node:internal/timers:512:7)
Initial stack:
Error
at _outerAjax ([REDACTED]/Resources/app.asar/preload.bundle.js:78:867)
at H ([REDACTED]/Resources/app.asar/preload.bundle.js:78:5827)
at Object.Te [as getConfig] ([REDACTED]/Resources/app.asar/preload.bundle.js:78:6732)
at refreshRemoteConfig ([REDACTED]/Resources/app.asar/preload.bundle.js:76:245101)
at invokeFunc ([REDACTED]/Resources/app.asar/preload.bundle.js:3:14228)
at leadingEdge ([REDACTED]/Resources/app.asar/preload.bundle.js:3:14307)
at debounced ([REDACTED]/Resources/app.asar/preload.bundle.js:3:14888)
at Object.initRemoteConfig ([REDACTED]/Resources/app.asar/preload.bundle.js:76:244030)
at [REDACTED]/Resources/app.asar/preload.bundle.js:160:11991
Caused by: undefined
Update to my previous message:
Downgrading to Signal 6.18.0 works. But Signal stops working (connection issues) as soon as I update to 6.19.0. So it's definitely not a problem on my side. Something is broken is 6.18.0 - probably the Electron update?
@DanielNovak What's the difference between the two wifi setups? Why do you think one works and the other doesn't?
One thing you can try is contacting the Signal server directly - this is what I see. There might be an ipv6 issue.
$ curl -6 -k https://chat.signal.org/
curl: (7) Couldn't connect to server
$ curl -4 -k https://chat.signal.org/
{"code":404,"message":"HTTP 404 Not Found"}
Bug Description
On Flatpak Signal 6.6.0 on Fedora 37, Signal does not sync messages on a thread once the laptop comes out of sleep. I don't think it has to do with the Flatpak version, but reported it there as well. I no longer think it is related to coming out of sleep, as I've triggered it when the computer was idle for some time. Could have something to do with messaging with someone on iOS 6.11.0.11 (no idea if it's relevant though...)
Steps to Reproduce
Actual Result:
Thread activity on the desktop Signal 6.6.0 during suspend does not synchronize when desktop awakens from suspend. Closing and re-starting Signal is required to see thread activity which occurred during suspend.
Expected Result:
Upon awakening, Signal Desktop should notice threads which have unsynchronized activity and synchronize them.
Screenshots
None.
Platform Info
Signal Version: 6.6.0 (Flatpak)
Operating System: Fedora 37
Linked Device Version: Android 10, Signal version 6.11.7 Also on the thread was an IOS mobile device, which sent most of the pics, videos, etc.
Link to Debug Log
https://debuglogs.org/desktop/6.6.0/2ca351b761f03a494896b8d16f54417161b4ed5aeb929a1c8b735174722cadcd.gz