Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sending a picture hangs forever and blocks all subsequent outgoing messages #9528

Closed
4 tasks done
mijwnuaowsdgmmdk opened this issue Apr 6, 2020 · 38 comments
Closed
4 tasks done
Labels

Comments

@mijwnuaowsdgmmdk
Copy link

mijwnuaowsdgmmdk commented Apr 6, 2020


Bug description

Until recently, when sending a photo the blue circle indicating the upload progress was first spinning a little and then closing slowly and the small dotted circle kept spinning until the transfer was complete and successful. Since Signal 4.58.5, the blue circle closes immediately and in about 95% of all attempts the small dotted circle keeps spinning forever, only about 5% of all attempts succeed. If it's stuck, subsequent messages do not get transferred either, not even single character text messages. Sending the debug log is an ordeal because most attempts fail too. I still can receive messages though while having a stuck outgoing message. The only way to get rid of this situation is to select the stuck message(s) and hit delete. Maybe it has something to do with the wifi but my flat mates do not have the issue (tested with mobile data disabled).

Maybe related: #8604.

Steps to reproduce

  • take a photo within Signal or pick a photo or screenshot from the gallery
  • try to send it

Actual result: Signal sits there and claims to be busy but nothing happens
Expected result: Signal uploads the photo steadily until it succeeds

Device info

Device: Motorola One Vision
Android version: 10
Signal versions: {4.58.5, 4.59.8}

@Nebby
Copy link

Nebby commented Apr 23, 2020

I've had this issue with a 1 min video upload, it kept reuploading in a loop without ever succeeding. It took me hours to find how to delete because the emoji reactions pop up on long press (I didn't notice the toolbar). It seems to have chewed through gigabytes of upload data in the meantime.

Samsung Galaxy S9 (SM-G960F), Android 10

@eode
Copy link

eode commented Apr 25, 2020

Not alone in using gigabytes of data. It seems to get jammed in a weird loop, and retry indefinitely. It also did this (clearly, using less data) with an MMS group chat on a flaky wifi connection -- once it started the loop, it sent it over eight times.

@Nebby Thanks for that comment about the toolbar, I missed it too.

@chickenbender
Copy link

I also have this issue. A picture clogs up the app and never stops sending under a poor or spotty connection. It keeps going for hours, starting over constantly. It seems like it should eventually fail.

@ristein
Copy link

ristein commented Jun 16, 2020

I also have problems sending pictures. it often takes about 4mins to send them, but doesnt block messages. happens in about 50% of cases. internet connection is good.
any updates here?
are the servers overloaded?

@greyson-signal
Copy link
Contributor

Sending media should no longer block future messages. If media is taking a long time to upload, you can post a debuglog here and I can give you a better idea of what's happening.

@ristein
Copy link

ristein commented Jun 18, 2020

i have a debuglog now. its not sending but recieving a picture which also takes about 3mins and should be related to problems sending:
https://debuglogs.org/ae4fedb4f668bd3fdadc481de7112772671492b187017374cbcadf0cde782d9e
hope you can improve this great app with it. please keep me updated and tell me in case there are personal information which should not be posted publicly. i downloaded Signal from the website and don't have any google on my phone. wondering why it says play services: true...

@Drag0nFly
Copy link

I am also experiencing this exact same issue and it bugs me to pieces, frankly. No other media gets through when Signal is - repeatedly - trying to send a video file which passed the size-check (circle loops around)

I've tried deleting the message which is stuck, but find no option for doing so. There is also a picture queued, where one is actually able to click and select "delete". But for the video clicking does nothing, and long-click only produces emoticons.

Also tried disabling permissions for Signal (to storage), but the file(s) are cached locally.

If there is somewhere in local or SD storage this is kept it might be an option to delete from there, based on mtime. (assume the outgoing msgs have a generic name and are encrypted already)

@Drag0nFly
Copy link

And, btw., this is on Signal v4.63.3

@Drag0nFly
Copy link

Well, strike that. I was now able to delete the stuck files after selecting 'All media' -> 'All', select the file (picture or video) and hitting delete.

Sorry – I should have checked this. Tried a bunch of other things beforehand though...

What I suspect happened is that the file was actually too large for Signal to handle as it did not count the overhead, as it showed as 104.6Mb when the limit (ridiculously low btw.) is set at 100Mb. The file is exactly 100Mb when copied off the phone.

For other media Signal always throws the 'attachment was too large and has been removed' error, which it should have done in this case. Not sure if this is the case with the OP issue as well, though I suspect not since it was a picture.

@ristein
Copy link

ristein commented Jul 4, 2020

@greyson-signal
any news? i hoped you could look over my last log or this one?
it is sending an image and the blue circle is spinning for about 4mins before it gets sent. and it does not block further messages.

https://debuglogs.org/e75a028f24ebf1e4cdf66e25ac70ea23dffc11db30051e488d7519150c3da731

@greyson-signal
Copy link
Contributor

@ristein Looks like general network failures. Do you use a VPN, or otherwise have any interesting network configurations?

i downloaded Signal from the website and don't have any google on my phone. wondering why it says play services: true...

Do you have anything installed that fakes Play Services, like MicroG or something? The code that determines if that says true or false is here, seems straightforward:

return result == ConnectionResult.SUCCESS ? "true" : "false (" + result + ")";

2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: [JOB::fcc81014-885f-4473-a411-ff0f0e877969][AttachmentDownloadJob] Encountered a retryable exception. (Time Since Submission: 46337 ms, Lifespan: 86400000 ms, Run Attempt: 1/Unlimited)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: org.whispersystems.signalservice.api.push.exceptions.PushNetworkException: org.whispersystems.signalservice.api.push.exceptions.PushNetworkException: java.net.ConnectException: Failed to connect to cdn.signal.org/2600:9000:2156:e400:1d:4f32:50c0:93a1:443
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at org.whispersystems.signalservice.internal.push.PushServiceSocket.downloadFromCdn(PushServiceSocket.java:1020)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at org.whispersystems.signalservice.internal.push.PushServiceSocket.retrieveAttachment(PushServiceSocket.java:570)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at org.whispersystems.signalservice.api.SignalServiceMessageReceiver.retrieveAttachment(SignalServiceMessageReceiver.java:189)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at org.thoughtcrime.securesms.jobs.AttachmentDownloadJob.retrieveAttachment(AttachmentDownloadJob.java:168)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at org.thoughtcrime.securesms.jobs.AttachmentDownloadJob.doWork(AttachmentDownloadJob.java:140)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at org.thoughtcrime.securesms.jobs.AttachmentDownloadJob.onRun(AttachmentDownloadJob.java:110)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at org.thoughtcrime.securesms.jobs.BaseJob.run(BaseJob.java:25)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:82)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:46)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: Caused by: org.whispersystems.signalservice.api.push.exceptions.PushNetworkException: java.net.ConnectException: Failed to connect to cdn.signal.org/2600:9000:2156:e400:1d:4f32:50c0:93a1:443
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at org.whispersystems.signalservice.internal.push.PushServiceSocket.downloadFromCdn(PushServiceSocket.java:1087)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at org.whispersystems.signalservice.internal.push.PushServiceSocket.downloadFromCdn(PushServiceSocket.java:1018)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	... 8 more
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: Caused by: java.net.ConnectException: Failed to connect to cdn.signal.org/2600:9000:2156:e400:1d:4f32:50c0:93a1:443
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:249)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:167)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:258)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:135)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:114)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:127)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at org.thoughtcrime.securesms.net.UserAgentInterceptor.intercept(UserAgentInterceptor.java:20)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:257)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.RealCall.execute(RealCall.java:93)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at org.whispersystems.signalservice.internal.push.PushServiceSocket.downloadFromCdn(PushServiceSocket.java:1058)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	... 9 more
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: Caused by: java.net.ConnectException: failed to connect to cdn.signal.org/2600:9000:2156:e400:1d:4f32:50c0:93a1 (port 443) from /:: (port 0) after 30000ms: connect failed: ENETUNREACH (Network is unreachable)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at libcore.io.IoBridge.connect(IoBridge.java:143)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:142)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:390)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at java.net.Socket.connect(Socket.java:621)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.platform.AndroidPlatform.connectSocket(AndroidPlatform.java:73)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:247)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	... 30 more
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: Caused by: android.system.ErrnoException: connect failed: ENETUNREACH (Network is unreachable)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at libcore.io.Linux.connect(Native Method)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at libcore.io.ForwardingOs.connect(ForwardingOs.java:95)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:136)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at libcore.io.ForwardingOs.connect(ForwardingOs.java:95)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at libcore.io.IoBridge.connectErrno(IoBridge.java:174)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	at libcore.io.IoBridge.connect(IoBridge.java:135)
2020-07-04 14:05:39.168 GMT+02:00 I BaseJob: 	... 38 more

@ristein
Copy link

ristein commented Jul 6, 2020

@greyson-signal
I use a dns from adguard. I'm gonna disable this and look for differences.
Do you think this might be causing issues?
you're right about microG. I forgot that its faking Play Services.

@greyson-signal
Copy link
Contributor

@ristein That does sound like a possible culprit. Let me know 👍

@ristein
Copy link

ristein commented Jul 9, 2020

@greyson-signal
still not better. i disabled dns under android settings.
but my router (fritzbox) also uses a custom dns by Cloudflare. gonna disable and test that as well.
here is the actual log i took after it was done sending for 4mins, i also took a log before but that one suddenly disappeared:
https://debuglogs.org/4c51cea7e329adc41b062bea993c6d66582bf9f7d2a0ff159c3a0d85acef2f21

@ristein
Copy link

ristein commented Jul 9, 2020

@greyson-signal
problem still persists. disabled dns on phone and router and it still takes 4mins to send and recieve pictures in about 40% of cases. it always hits 4mins amazingly accurate.
another log while trying to recieve:
https://debuglogs.org/296ae269c55f2214b9eefcd6273379b698d6db2fe0b74c48ac359d6715a6f6cf

@TuringTux
Copy link

TuringTux commented Jul 9, 2020

I have a similar problem when sending attachments of any kind. Unlike in the original issue description, my blue circle and the dotted circle both keep spinning.

Size doesn't seem to matter (the last file I sent was a 50 kB PDF).

Subsequent messages can be transferred (so I guess the patch that "sending media should no longer block future messages" works).

The attachments usually get through after a few minutes (the 4 minutes referenced above seem to fit).

I'm using a Samsung Galaxy A6 (SM-A600FN), Android 10, Signal 4.65.2 (6671), standard Google Play Services, Signal installed from Google Play Store, stable WiFi internet connection.
My phone's configuration is pretty standard (e.g. unrooted, I haven't fiddled with system components).

@ristein
Copy link

ristein commented Aug 9, 2020

another log. version 4.68.4. sending sticker and picture, both took 4mins:
https://debuglogs.org/3923ff9c02516743ab0567e355c042fc2ddb407d1862cbc8eabded2c38a8f1e7
dns in android is on automatic (standard), in the router its off.
any fixes in progress? anything i could try?

@ristein
Copy link

ristein commented Aug 15, 2020

i tried resetting my local ip back to 192.168.10.1 to the default 192.168.1.1 but that didn't help.
What I found out helps is reconnecting the network either by disabling+reenabling wifi or sending it via mobile network, then it sends and recieves instandly.
Also I think it only happens on wifi but not sure about this.
@greyson-signal how could I help identifying this bug?
should I stop the time it takes to start up-/downloading?
its always 4 minutes so it would be one dirty solution to find what happens after 4 minutes and just do this instandly.
this is a real bummer. don't know how long I can tolerate it anymore. messages always seem to be delayed a little, even when both have the chat open.
oh, and stickers might be affected too i mentioned...
oh, and i just mention a textmessage with reply-shortcut is also affected, here is a log of this:
https://debuglogs.org/143b9c1ae1fa0ff90c306e7bd1fd8c5f338074076f76384c7b040e3736f07e62

does these logs get read? tell me anything i can try to help

@TuringTux
Copy link

For me, the problem interestingly seems limited to my home WLAN. If I use a different WLAN, everything works. This might be related to a similar issue with another app (that won't load anything in this WLAN) I have on my device.
Other devices in my home WLAN seem to not have those problems, so it seems like the bug resides somewhere in the interaction between my phone and my router.

@ristein
Copy link

ristein commented Aug 20, 2020

I had the same feeling.
Thats why I tested disabling DNSs on my Phone and router amd the IP-Address.
Does reconnecting also helps for you? @TuringTux

@TuringTux
Copy link

Using mobile network does the trick, yes.
Disabling and re-enabling wifi seems to have no effect, but I will test that more thoroughly in a few days.

My router's settings are the standard Out-Of-the-Box settings (modulo changed passwords, obviously) and I think the same should apply for my phone (I can't remember fiddling around with anything special).

Due to the issue with the other app I have, I'm beginning to think of a full phone reset and re-installation. If I fully reset my phone and it works, I'll let you know.

@ristein
Copy link

ristein commented Aug 20, 2020

I completely set up my phone every few weeks to month. This didn't change anything yet. And I was fiddling around with my phone quite a lot.
I also have another app having problems with my home wifi, its Newpipe, an opensource youtube-alternative-app. In this app reconnecting wifi also does the trick.

@TuringTux
Copy link

What type of phone do you have? I see you already mentioned you have a FRITZ!Box (same here), now I'm quite interested if you also have a Samsung device...

@ristein
Copy link

ristein commented Aug 21, 2020

no, its a Oneplus 7 Pro running some custom rom without google shit

@ristein
Copy link

ristein commented Oct 17, 2020

any news here?
I keep getting this problem in Signal, K9, Aurora and Newpipe.
I need to reconnect to my wifi to get a connection. on Signal I can send and recieve text-only-messages normaly, bug applies only to media messages. alternatively i can wait 4 minutes.
This is only with my phone at my wifi at home and only in those few apps😑

@TuringTux
Copy link

Strange. For me, the problem seems to have vanished over time, I can't recall being annoyed at pictures not sending in the last month(s (?)). I could just send a picture normally (without the 4 min delay), but I will pay more attention to this over the next days.

Due to the issue with the other app I have, I'm beginning to think of a full phone reset and re-installation. If I fully reset my phone and it works, I'll let you know.

The other app still doesn't work, so I am not sure if it really is a problem with my phone's configuration. I have not yet reset my phone (yet).

@ristein
Copy link

ristein commented Oct 18, 2020

yass, you are right, the problem seems to be gone, awesome.
Just wondering what was the problem, I should have watched it more carefully to know the version that fixed it.

@vertigo220
Copy link

I had a similar problem the other day. Selected four images to send together, along with a message. A few to several minutes later, which should have been more than enough time for the images to be uploaded and sent, carried on the conversation, and the other person was confused, which led me to discover the images were only about 1/4 of the way uploaded, and the circle indicating progress wasn't moving at all. So I copied and resent the text separately, then sent each of the pictures separately. And at the same exact time they finished uploading and sending, the original ones went through as well. And internet was fine during all of this.

@JDKardia
Copy link

JDKardia commented Dec 21, 2020

I've also experienced serious issues sending any photos at all, my debug log shows that the photos I'm currently trying to send are currently on their 50th retry, and i haven't been able to send anything to my partner for weeks. This is on v5.0.8

https://debuglogs.org/6030f77b3b01b98357fcff8acdb4d80787ee1b5a4eac309330d673f3d89212dc

@ristein
Copy link

ristein commented Dec 21, 2020

seems to be something else then my issue since my problem is resolved and was only on my home wifi

@krkc
Copy link

krkc commented Apr 17, 2021

I've had this as well. It seems to happen mainly with videos/photos recently taken, but taken outside the app. The attach gallery in signal (clicking the Plus) stops showing thumbnails, trying to send anything has spinning forever. Killing Signal doesn't fix. Only thing that fixes is phone restart. It seemed like this stopped happening for about a month, but problem is back again for me.

@greyson-signal
Copy link
Contributor

@krkc Logs?

@roxxov
Copy link

roxxov commented May 6, 2021

Same problem here.
i have an iPhone Xs with signal (5.11.1.1) installed and a FritzBox 7490. pictures, link previews and stickers a loading for minutes. If I change to cellular it uploads in seconds.

Anyone has an idea?

@krkc
Copy link

krkc commented Jun 25, 2021

@greyson-signal here's the Log from a recent occurance.

@stale
Copy link

stale bot commented Jan 26, 2022

Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?

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

@stale stale bot added the wontfix label Jan 26, 2022
@TuringTux
Copy link

Is this still relevant?

Not for me, I believe. I just went through my original comment, which talked about ~4 min delay in sending messages, I just sent a photo and it went through once in ~45 seconds, once immediately. The ~45 seconds are still somewhat strange, because my internet should be faster than that, but nothing I'd worry too much about.

@stale stale bot removed the wontfix label Jan 31, 2022
@stale
Copy link

stale bot commented Apr 1, 2022

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 stale bot added the wontfix label Apr 1, 2022
@stale
Copy link

stale bot commented Apr 9, 2022

This issue has been closed due to inactivity.

@stale stale bot closed this as completed Apr 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests