signalapp / Signal-Desktop

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

Signal Desktop is unable to send messages, and now sync to mobile device at all #5202

Closed max-rosenfors closed 3 years ago

max-rosenfors commented 3 years ago

Bug Description

Signal Desktop is unable to send messages, or sync to mobile device at all.

This morning I noticed I was unable to send messages on the Signal Desktop client, whilst still being able to read messages normally. (read-receipts did not appear to sync though) I was able to send messages normally on the mobile client.

I went through the normal "software is messing up" routine:

And now I am stuck on not being able to resync to the mobile client whatsoever, not able to read messages either that is on Signal Desktop. Everything still works on mobile as far as I can tell though.

Steps to Reproduce

  1. Fresh install of Signal Desktop
  2. Sync to mobile device, scan QR code
  3. wait a bit...
  4. "Something went wrong! Failed to connect to server."

Actual Result:

No connection to server, perhaps "write permissions" are bad or something is down?

Expected Result:

Normal connection to server.

Screenshots

image

Platform Info

Signal Version:

v5.0.0 (Signal Desktop)

Operating System:

Ubuntu 20.04 LTS

Linked Device Version:

Signal 5.7.6 (Android)

Link to Debug Log

https://debuglogs.org/b62e73a73684e133bf827019546c13dbfc9ce1cd29b7af75b7f02930cef101a9

akutuzov commented 3 years ago

I have the same problem starting this morning. Unable to send messages, but still can receive them. When I try to send a note to myself, I get "Message partially sent: Failed to connect to the server, please check your network connection. (original: promiseAjax catch; code: -1)", similar to #4858

Strangely, connecting via a VPN solves the issue. But I can't permanently switch to VPN just because of Signal. Has something changed in the Signal server infrastructure, or are there some problems with server capacity? This really looks weird.

akutuzov commented 3 years ago

My debug log https://debuglogs.org/f77f347de408ee654a6a791698e4bee707be246b63ee8f8fd9a816ba1bd666ce

akutuzov commented 3 years ago

It seems that both me and @max-rosenfors get the Failed to to refresh remote config. Code: 401 error.

ghost commented 3 years ago

same here can't send messages but I can receive. Tried relinking got the error which @max-rosenfors got

akutuzov commented 3 years ago

OK, so it looks like there are more than one or two people experiencing this issue today.

@scottnonnenberg-signal what can this be?

max-rosenfors commented 3 years ago

As an aside, I visited one of the urls in the debug log. It was pointing to:

https://textsecure-service.whispersystems.org

And that URL does not have a valid certificate at the moment. SSL-certificates expiring seems like it could be a cause of a random failure like this. ¯_(ツ)_/¯

Extra edit: We all seems to be from Scandinavia in this thread. I am from Sweden, and the other two have locations added in their bio. If this is related to SSL-certificates, maybe it is also regionally dependent? @akutuzov mentions that turning on a VPN solved his issue. Also something that might be regionally dependent.

akutuzov commented 3 years ago

@max-rosenfors no, the certificate is self-signed, and this is normal, the Signal application (whether mobile or desktop) must still process it without any errors.

But the comment about Scandinavia is interesting, yes. I am in Norway, my provider is Telia (formerly Get). Hmm, can it be the case that for some reason Signal servers decided to reject connections from some blocks of Scandinavian IPs? At the same time, my mobile connection from the same Telia works fine.

ghost commented 3 years ago

@max-rosenfors, I am in Sweden as well. I tried with VPN it worked for me

max-rosenfors commented 3 years ago

my provider is Telia

My provider is Telia/Bahnhof. Can also confirm that mobile connections are not rejected on the same network, ie browsing signal via wifi. This seems like such a wierd trajectory to be searching for bugs in though! :D Who knows though.

ghost commented 3 years ago

Maybe it is not Scandinavia but Telia, since I have also got Telia

akutuzov commented 3 years ago

I would almost suspect that Telia now blocks connections to servers with self-signed certificates, but this works fine: $ curl --insecure https://textsecure-service.whispersystems.org

{"code":404,"message":"HTTP 404 Not Found"}

So it really looks like a problem on the Signal side.

max-rosenfors commented 3 years ago

Same response using curl from my machine.

Sethur commented 3 years ago

I can't send any messages in Group Conversations, but I'm still able to receive them.

EDIT: With Signal Desktop 5.0.0 on Windows 10 that is.

chriss3nt commented 3 years ago

I have the same issue as well, also from Sweden and Telia as ISP. I can get messages but not send any from the Windows Desktop Client! Running the Android App on my phone on the same network works however!

akutuzov commented 3 years ago

@chriss3nt do you mean your Android app works in exactly the same local network where your desktop client doesn't? Or is the Android app actually using mobile connection? In other words, do they share the same IP address?

chriss3nt commented 3 years ago

@chriss3nt do you mean your Android app works in exactly the same local network where your desktop client doesn't? Or is the Android app actually using mobile connection? In other words, do they share the same IP address?

Yes, I set the phone into flight mode and enabled only wifi and it works strange enough, windows client doesn't work (i tried on multiple PCs) and I reccive the following when I try to send messages "Failed to connect to the server, please check your network connection. (original: promiseAjax catch; code: -1)" - however I can receive messages fine

akutuzov commented 3 years ago

Interesting. In my case, neither desktop app, not mobile app can send messages when using my broadband connection from Telia. However, both work fine when using mobile connection from the same Telia (different IP addresses, of course).

emilal commented 3 years ago

+1 for Telia (in Norway).

Signal's self-signed cert is valid from feb 2019 to 2029 so it's unlikely that's implicated.

I also have some messages in the android app that seem to be stuck in pending rather than erroring out. Switching to mobile network got them loose.

Some messages in the desktop app get through, but they don't show up in the phone app. Messages from the phone app (on mobile network) show up in the desktop app.

This doesn't really smell like a desktop app problem as much as some issue with Telia and the Signal's backends. The backends seem able to receive and relay messages from the desktop (sometimes) to other users, but not to my other devices, even if that device isn't on a Telia network.

I.e. I expect that the desktop app only needs to communicate with a backend once to deliver a message, and that backend then replicates the message to both recipients & my other devices.

akutuzov commented 3 years ago

@emilal yes I observe exactly the same behavior (and have essentially the same feeling about the reasons for this). I guess we have to wait for the Signal maintainers to reply here.

emilal commented 3 years ago

Doing some testing it seems I can send messages that are up to 72 characters in length. 73+ characters get a "send failed"

akutuzov commented 3 years ago

Indeed. Also, in my experience, replies never get sent.

kayla-eilhart commented 3 years ago

I have the exact same issue. Mobile app working, but only through my mobile operator data connection, home network does not work (not from app, not from desktop app). I'm from Czech republic, entirely different ISP than Telia.

Edit: did some tests via mtr, seems my local ISP have issues routing to some of AWS networks - to the textsecure-service.whispersystems.org it doesn't even leave my ISP's network.

TomasPech commented 3 years ago

Hi, Same here, I can receive messages in Desktop version but can't send them even is in same network as Android version (which is working). Maybe it isn't bug but some Electron's internal cool feature? Location: Czech Republic ISP: T-Mobile with public IP4 and IP6 OS: Linux Mint 20.1 / Signal 5.0.0

Edit: Let me sum it.... Linux MInt PC: connected via ethernet cable to router/modem isn't able send any message but can receive. Message transfer fails with error: Failed to connect to the server, please check your network connection. (original: promiseAjax catch; code: -1) Using IP v4 and v6

Android (10) phone: There is working well RX/TX in both connection cases - Wifi on same roter/modem as PS and cellular data. Wifi on phone using IPv4 and v6 , when is connected only thru cellular network then only v4. No any case there.

Note: Desktop client is able to send message to my Adnroid phone but only as "Note for myself" - I dont know propper english name because Signal can't switch language an still keep system language, why?!

Kybeer commented 3 years ago

@max-rosenfors, I am in Sweden as well. I tried with VPN it worked for me

I have issues sending with the Android app (just a spinning wheel at the message). With VPN it works...

The Windows Desktop app seems to work though. All issues I have is on Android, and the same for other people in the household.

I'm also in Sweden, with Telia ISP

stemid commented 3 years ago

I can also confirm that Signal does not work on Telia right now. I have Telia on my phone and while I'm outside on 4G no messages are sent. When I get back home where I have another ISP, connect to wifi, the problem remains until I force a reboot of the phone, then all waiting messages are sent at once even though they are old.

Edit: And while I was outside on 4G I was listening to a youtube podcast the whole time so no other network connectivity issues.

Also during this time I received messages without issue.

akutuzov commented 3 years ago

Will there be any reaction from Signal maintainers? @scottnonnenberg-signal @EvanHahn-Signal

hiqua commented 3 years ago

Did you report this problem to Telia, since it seems to be on their end?

akutuzov commented 3 years ago

@hiqua No, it doesn't seem to be the problem of Telia. See my messages above: the requests get through to the Signal servers, but are rejected with 401. This happens only when the device is in some IP block, but not in another.

hiqua commented 3 years ago

There could be a lot of things happening in-between, such as bad processing by middle boxes, that your curl command might not replicate. To be fair, I haven't checked your logs.

Until there are more reports from people with other configs, it's fair to assume it's an ISP problem. I was using Signal-Desktop the whole day from Europe for example.

akutuzov commented 3 years ago

How can a "middle-box" influence an encrypted request without decrypting it (that would be essentially a MITM attack)? As I've said, it works with some IP addresses (in Europe as well, and in Scandinavia as well), but it doesn't with others. It looks to me like some Signal server blacklisted some addresses (for whatever reason).

Anyway, do you know of any way to check this? How can we detect that the packets aimed at Signal servers are somehow corrupted or lost along the way when sent from a particular network? Any ideas?

hiqua commented 3 years ago

Out of curiosity, what happens if you switch to IPv6 only, does it change anything?

akutuzov commented 3 years ago

Is it possible to do that for Signal only?

Nevermind. In fact, I think my ISP (Telia) does not give me IPv6 at all.

stemid commented 3 years ago

I agree that this is most likely an issue with Telia but it would be nice if someone could match the errors from client logs with any possible errors in server logs. To get an idea of what is going on. Is it wishful thinking to assume you have an escalation process to whoever runs Signal infrastructure?

I will report my issue to Telia and ask my friends who also experience this to do the same. There's strength in numbers, but also in providing information about the problem.

hiqua commented 3 years ago

Anyway, do you know of any way to check this? How can we detect that the packets aimed at Signal servers are somehow corrupted or lost along the way when sent from a particular network? Any ideas?

I would try to compare the Wireshark output when it works and when it doesn't.

dig textsecure-service.whispersystems.org returns two IPv4 addresses for me, check yours, but they should be the same. Then in wireshark you can a filter like:

ip.addr == 13.248.212.111 || ip.addr == 76.223.92.165 (these are the IPs returned by the DNS).

I also posted there for more visibility: https://community.signalusers.org/t/connection-problems-right-now-for-some-users-in-scandinavia-isp-telia-and-czech-republic/31543

hiqua commented 3 years ago

Other things you guys can try before there's support from Signal / your ISP (do report this issue to them!), please report if there's any behavior change:

@kayla-eilhart do you use T-Mobile like @TomasPech, or a different ISP?

chriss3nt commented 3 years ago

It works for me now again (from the windows desktop app) - Telia ISP

emilal commented 3 years ago

Same here (linux desktop, telia norway). I guess somebody found the problem and it went away as mysteriously as it came.

stemid commented 3 years ago

Works for me now too, Telia Sweden. I guess someone rolled back a change they did yesterday. ;)

akutuzov commented 3 years ago

Confirmed, it works again. Just wondering where exactly did this fix happen :)

max-rosenfors commented 3 years ago

I can also confirm it works now. No changes on my machine though.

Considering to leave this Issue open until maintainers have shown that it has at least been noticed by their team. We never really got to the root of why it was happening and it is arguably weird and suspicious for network errors to be occurring on ISP basis for privacy-applications like Signal. I did not notice any errors on either my Matrix and Telegram clients, seemed to affect only Signal.

kayla-eilhart commented 3 years ago

@hiqua - different ISP, but I've just checked - it started to work.

Yesterday, the mtr looked like this:

mtr --tcp --port 443 -b -c3 -w textsecure-service.whispersystems.org
Start: 2021-04-20T22:50:46+0200
HOST: lucy                   Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- _gateway (x.x.x.x)  0.0%     3    0.4   0.4   0.4   0.5   0.0
  2.|-- x.x.x.x              0.0%     3    0.6   0.6   0.6   0.6   0.0
  3.|-- x.x.x.x            0.0%     3    0.8   0.8   0.8   0.8   0.0
  4.|-- x.x.x.x             0.0%     3    1.4   1.3   1.1   1.4   0.2 <--- ISP edge
  5.|-- ???                    100.0     3    0.0   0.0   0.0   0.0   0.0

Today it's going to the end and app is again working:

Start: 2021-04-21T11:49:24+0200
HOST: lucy                                                        Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- _gateway (x.x.x.x)                                       0.0%     3    0.4   0.4   0.3   0.4   0.0
  2.|-- x.x.x.x                                                   0.0%     3    0.5   0.6   0.5   0.6   0.0
  3.|-- x.x.x.x                                                 0.0%     3    0.7   0.8   0.7   0.8   0.1
  4.|-- x.x.x.x                                                  0.0%     3    1.1   1.1   1.0   1.2   0.1
  5.|-- ???                                                         100.0     3    0.0   0.0   0.0   0.0   0.0
  6.|-- ???                                                         100.0     3    0.0   0.0   0.0   0.0   0.0
  7.|-- ???                                                         100.0     3    0.0   0.0   0.0   0.0   0.0
  8.|-- ???                                                         100.0     3    0.0   0.0   0.0   0.0   0.0
  9.|-- ???                                                         100.0     3    0.0   0.0   0.0   0.0   0.0
 10.|-- ???                                                         100.0     3    0.0   0.0   0.0   0.0   0.0
 11.|-- ???                                                         100.0     3    0.0   0.0   0.0   0.0   0.0
 12.|-- ???                                                         100.0     3    0.0   0.0   0.0   0.0   0.0
 13.|-- ???                                                         100.0     3    0.0   0.0   0.0   0.0   0.0
 14.|-- ???                                                         100.0     3    0.0   0.0   0.0   0.0   0.0
 15.|-- ???                                                         100.0     3    0.0   0.0   0.0   0.0   0.0
 16.|-- ac88393aca5853df7.awsglobalaccelerator.com (13.248.212.111)  0.0%     3   98.8  98.9  98.5  99.3   0.4
stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] commented 3 years ago

This issue has been closed due to inactivity.