When I try to send attachments, specifically images/pictures, when I am connected to a Wi-Fi network, the message will not be sent/uploaded properly. The message will be shown as loading, but the process of sending seems to stall. I am only experiencing this when I am using a Wi-Fi network, sending attachments via mobile data network works fine without any issues.
When I switch to a mobile data network during uploading, the message will be sent quickly. Interestingly, sending text messages (without any file attached) works completely fine when sent via Wi-Fi.
This error does not come up all the time, this rather seems to be an issue with some contacts only. Unfortunately, I could not find out why specifically...
Actual Result:
Sending the message/attachment will not start or stall before starting. The problem persists, waiting does not solve it.
Expected Result:
The message, including the attachments, should be sent immediately, no matter what network you are connected too (as long as your network is properly connected to the internet).
Signal Version: 4.53.6
Operating System: LineageOS 16.0 (Android 9)
Linked Device Version: LineageOS 16.0-20200108-NIGHTLY-a5y17lte
https://debuglogs.org/7044813054e2cd9f508d6c84b25fd76af65e756c060183cabe5f0b681135c199
Hi! Someone can assignee me to this issue? I want to deal with it.
Hi! Someone can assignee me to this issue? I want to deal with it.
Hey! Thanks a lot! Unfortunately I am not a contributor to this project, therefore I cannot assign you on my own.
I only see one attachment upload. Here's the relevant log section:
2020-01-16 23:29:06.768 GMT+01:00 I Job: [JOB::bbf1ad6a-09e1-4e80-8054-a9e25fcbcb88][AttachmentUploadJob] onSubmit() (Time Since Submission: 51 ms, Lifespan: 86400000 ms, Run Attempt: 1/Unlimited)
2020-01-16 23:29:06.769 GMT+01:00 I Job: [JOB::fcb8e484-a98a-4288-9c0d-57b5fd4a1b31][PushMediaSendJob] onSubmit() (Time Since Submission: 51 ms, Lifespan: 86400000 ms, Run Attempt: 1/Unlimited)
2020-01-16 23:29:06.773 GMT+01:00 I ConversationActivity: onSecurityUpdated()
2020-01-16 23:29:06.775 GMT+01:00 I ConversationActivity: updateDefaultSubscriptionId(null)
2020-01-16 23:29:06.777 GMT+01:00 D JobSchedulerScheduler: onStartJob()
2020-01-16 23:29:06.794 GMT+01:00 D JobSchedulerScheduler: onStartJob()
2020-01-16 23:29:06.810 GMT+01:00 D AbstractCursorLoader: [ConversationLoader] Cursor load time: 26 ms
2020-01-16 23:29:06.841 GMT+01:00 I JobRunner: [JOB::dd6f5c5d-898b-437a-b216-7213a93053fc][AttachmentCompressionJob][2] Running job. (Time Since Submission: 132 ms, Lifespan: 86400000 ms, Run Attempt: 1/Unlimited)
2020-01-16 23:29:06.842 GMT+01:00 D WakeLockUtil: Acquired wakelock with tag: signal:********-****-****-****-**********fc
2020-01-16 23:29:06.842 GMT+01:00 D AttachmentCompressionJo: Running for: AttachmentId::(550, 1579213746436)
2020-01-16 23:29:06.891 GMT+01:00 I ThumbnailView: Not re-loading slide for fast preflight: 1820417150515666267
2020-01-16 23:29:06.938 GMT+01:00 D AbstractCursorLoader: [ConversationLoader] Cursor load time: 23 ms
2020-01-16 23:29:06.963 GMT+01:00 I BitmapUtil: Initial scaled bitmap has size of 13860000 bytes.
2020-01-16 23:29:06.963 GMT+01:00 I BitmapUtil: Max dimensions 4096 x 4096, 6291456 bytes
2020-01-16 23:29:06.971 GMT+01:00 I ThumbnailView: Not re-loading slide content://org.thoughtcrime.securesms/part/1579213746436/550
2020-01-16 23:29:07.033 GMT+01:00 D ConversationActivity: Setting link preview: false
2020-01-16 23:29:07.088 GMT+01:00 D BitmapUtil: iteration with quality 90 size 354028 bytes.
2020-01-16 23:29:07.089 GMT+01:00 I BitmapUtil: createScaledBytes(org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader$DecryptableUri) -> quality 85, 1 attempt(s) over 1 sizes.
2020-01-16 23:29:07.106 GMT+01:00 I AttachmentDatabase: [setAttachmentData] No matching attachment data found. /data/user/0/org.thoughtcrime.securesms/app_parts/part4659559208010009455.mms
2020-01-16 23:29:07.114 GMT+01:00 I AttachmentDatabase: [updateAttachmentData] Updated 1 rows.
2020-01-16 23:29:07.123 GMT+01:00 I AttachmentDatabase: [markAttachmentAsTransformed] Updated 1 rows.
2020-01-16 23:29:07.124 GMT+01:00 D WakeLockUtil: Released wakelock with tag: signal:********-****-****-****-**********fc
2020-01-16 23:29:07.125 GMT+01:00 I JobRunner: [JOB::dd6f5c5d-898b-437a-b216-7213a93053fc][AttachmentCompressionJob][2] Job finished with result: SUCCESS (Time Since Submission: 416 ms, Lifespan: 86400000 ms, Run Attempt: 1/Unlimited)
2020-01-16 23:29:07.145 GMT+01:00 I JobRunner: [JOB::bbf1ad6a-09e1-4e80-8054-a9e25fcbcb88][AttachmentUploadJob][2] Running job. (Time Since Submission: 436 ms, Lifespan: 86400000 ms, Run Attempt: 1/Unlimited)
2020-01-16 23:29:07.146 GMT+01:00 D WakeLockUtil: Acquired wakelock with tag: signal:********-****-****-****-**********88
2020-01-16 23:29:07.192 GMT+01:00 I AttachmentUploadJob: Uploading attachment for message 1857 with ID AttachmentId::(550, 1579213746436)
2020-01-16 23:29:07.199 GMT+01:00 D JobSchedulerScheduler: jobFinished()
2020-01-16 23:29:07.200 GMT+01:00 D JobSchedulerScheduler: jobFinished()
2020-01-16 23:29:07.440 GMT+01:00 D SignalServiceMessageSender: Using pipe to retrieve attachment upload attributes...
2020-01-16 23:29:07.658 GMT+01:00 W WebSocketConnection: WSC onMessage()
2020-01-16 23:29:07.660 GMT+01:00 W WebSocketConnection: Message Type: 2
2020-01-16 23:29:16.406 GMT+01:00 D PassphraseRequiredActionBarActivity: [MediaSendActivity] onStop()
2020-01-16 23:29:16.410 GMT+01:00 D PassphraseRequiredActionBarActivity: [MediaSendActivity] onDestroy()
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: [JOB::bbf1ad6a-09e1-4e80-8054-a9e25fcbcb88][AttachmentUploadJob] Encountered a retryable exception. (Time Since Submission: 14720 ms, Lifespan: 86400000 ms, Run Attempt: 1/Unlimited)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: org.whispersystems.signalservice.api.push.exceptions.PushNetworkException: java.net.ConnectException: Failed to connect to cdn.signal.org/13.35.253.56:443
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at org.whispersystems.signalservice.internal.push.PushServiceSocket.uploadToCdn(PushServiceSocket.java:899)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at org.whispersystems.signalservice.internal.push.PushServiceSocket.uploadAttachment(PushServiceSocket.java:761)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at org.whispersystems.signalservice.api.SignalServiceMessageSender.uploadAttachment(SignalServiceMessageSender.java:362)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at org.thoughtcrime.securesms.jobs.AttachmentUploadJob.onRun(AttachmentUploadJob.java:102)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at org.thoughtcrime.securesms.jobs.BaseJob.run(BaseJob.java:21)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:82)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:46)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: Caused by: java.net.ConnectException: Failed to connect to cdn.signal.org/13.35.253.56:443
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:248)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:166)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:257)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:135)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:114)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:254)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.RealCall.execute(RealCall.java:92)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at org.whispersystems.signalservice.internal.push.PushServiceSocket.uploadToCdn(PushServiceSocket.java:897)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: ... 6 more
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: Caused by: java.net.ConnectException: failed to connect to cdn.signal.org/13.35.253.56 (port 443) from /:: (port 0) after 30000ms: connect failed: ENETUNREACH (Network is unreachable)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at libcore.io.IoBridge.connect(IoBridge.java:137)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:137)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:390)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at java.net.Socket.connect(Socket.java:621)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.internal.platform.AndroidPlatform.connectSocket(AndroidPlatform.java:73)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:246)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: ... 24 more
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: Caused by: android.system.ErrnoException: connect failed: ENETUNREACH (Network is unreachable)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at libcore.io.Linux.connect(Native Method)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:118)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at libcore.io.IoBridge.connectErrno(IoBridge.java:168)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: at libcore.io.IoBridge.connect(IoBridge.java:129)
2020-01-16 23:29:21.433 GMT+01:00 I BaseJob: ... 32 more
2020-01-16 23:29:21.475 GMT+01:00 D WakeLockUtil: Released wakelock with tag: signal:********-****-****-****-**********88
2020-01-16 23:29:21.476 GMT+01:00 I JobRunner: [JOB::bbf1ad6a-09e1-4e80-8054-a9e25fcbcb88][AttachmentUploadJob][2] Job finished with result: RETRY (Time Since Submission: 14728 ms, Lifespan: 86400000 ms, Run Attempt: 1/Unlimited)
2020-01-16 23:29:21.477 GMT+01:00 I JobController: [JOB::bbf1ad6a-09e1-4e80-8054-a9e25fcbcb88][AttachmentUploadJob] Scheduling a retry in 1969 ms. (Time Since Submission: 14759 ms, Lifespan: 86400000 ms, Run Attempt: 1/Unlimited)
2020-01-16 23:29:21.478 GMT+01:00 I InAppScheduler: Scheduling a retry in 1969 ms.
2020-01-16 23:29:21.480 GMT+01:00 W WebSocketConnection: onFailure()
2020-01-16 23:29:21.480 GMT+01:00 I JobSchedulerScheduler: Scheduling a run in 1969 ms.
2020-01-16 23:29:21.481 GMT+01:00 W WebSocketConnection: onFailure()
2020-01-16 23:29:21.482 GMT+01:00 W WebSocketConnection: javax.net.ssl.SSLException: Read error: ssl=0x7749253948: I/O error during system call, Software caused connection abort
at org.conscrypt.NativeCrypto.SSL_read(Native Method)
at org.conscrypt.NativeSsl.read(NativeSsl.java:409)
at org.conscrypt.ConscryptFileDescriptorSocket$SSLInputStream.read(ConscryptFileDescriptorSocket.java:548)
at okio.Okio$2.read(Okio.java:140)
at okio.AsyncTimeout$2.read(AsyncTimeout.java:237)
at okio.RealBufferedSource.request(RealBufferedSource.java:72)
at okio.RealBufferedSource.require(RealBufferedSource.java:65)
at okio.RealBufferedSource.readByte(RealBufferedSource.java:78)
at okhttp3.internal.ws.WebSocketReader.readHeader(WebSocketReader.java:117)
at okhttp3.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.java:101)
at okhttp3.internal.ws.RealWebSocket.loopReader(RealWebSocket.java:274)
at okhttp3.internal.ws.RealWebSocket$2.onResponse(RealWebSocket.java:214)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:206)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
2020-01-16 23:29:21.483 GMT+01:00 W WebSocketConnection: onClose()...
2020-01-16 23:29:21.485 GMT+01:00 W ApplicationDependencyPr: onDisconnected()
2020-01-16 23:29:21.488 GMT+01:00 W WebSocketConnection: javax.net.ssl.SSLException: Read error: ssl=0x7745f8a9c8: I/O error during system call, Software caused connection abort
at org.conscrypt.NativeCrypto.SSL_read(Native Method)
at org.conscrypt.NativeSsl.read(NativeSsl.java:409)
at org.conscrypt.ConscryptFileDescriptorSocket$SSLInputStream.read(ConscryptFileDescriptorSocket.java:548)
at okio.Okio$2.read(Okio.java:140)
at okio.AsyncTimeout$2.read(AsyncTimeout.java:237)
at okio.RealBufferedSource.request(RealBufferedSource.java:72)
at okio.RealBufferedSource.require(RealBufferedSource.java:65)
at okio.RealBufferedSource.readByte(RealBufferedSource.java:78)
at okhttp3.internal.ws.WebSocketReader.readHeader(WebSocketReader.java:117)
at okhttp3.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.java:101)
at okhttp3.internal.ws.RealWebSocket.loopReader(RealWebSocket.java:274)
at okhttp3.internal.ws.RealWebSocket$2.onResponse(RealWebSocket.java:214)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:206)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
2020-01-16 23:29:21.488 GMT+01:00 W WebSocketConnection: onClose()...
2020-01-16 23:29:21.489 GMT+01:00 W ApplicationDependencyPr: onDisconnected()
2020-01-16 23:29:21.680 GMT+01:00 W WebSocketConnection: WSC connect()...
2020-01-16 23:29:21.681 GMT+01:00 W WebSocketConnection: WSC connect()...
2020-01-16 23:29:21.698 GMT+01:00 I ApplicationDependencyPr: onConnecting()
2020-01-16 23:29:21.699 GMT+01:00 I ApplicationDependencyPr: onConnecting()
2020-01-16 23:29:21.700 GMT+01:00 W WebSocketConnection: onFailure()
2020-01-16 23:29:21.700 GMT+01:00 W WebSocketConnection:
2020-01-16 23:29:21.701 GMT+01:00 W WebSocketConnection: onClose()...
2020-01-16 23:29:21.701 GMT+01:00 W ApplicationDependencyPr: onDisconnected()
2020-01-16 23:29:21.702 GMT+01:00 W WebSocketConnection: onFailure()
2020-01-16 23:29:21.702 GMT+01:00 W WebSocketConnection:
2020-01-16 23:29:21.704 GMT+01:00 W WebSocketConnection: onClose()...
2020-01-16 23:29:21.704 GMT+01:00 W ApplicationDependencyPr: onDisconnected()
2020-01-16 23:29:22.097 GMT+01:00 W WebSocketConnection: WSC connect()...
2020-01-16 23:29:22.104 GMT+01:00 W WebSocketConnection: WSC connect()...
2020-01-16 23:29:22.111 GMT+01:00 I ApplicationDependencyPr: onConnecting()
2020-01-16 23:29:22.114 GMT+01:00 W WebSocketConnection: onFailure()
2020-01-16 23:29:22.115 GMT+01:00 W WebSocketConnection:
2020-01-16 23:29:22.115 GMT+01:00 W WebSocketConnection: onClose()...
2020-01-16 23:29:22.116 GMT+01:00 W ApplicationDependencyPr: onDisconnected()
2020-01-16 23:29:22.118 GMT+01:00 I ApplicationDependencyPr: onConnecting()
2020-01-16 23:29:22.123 GMT+01:00 W WebSocketConnection: onFailure()
2020-01-16 23:29:22.124 GMT+01:00 W WebSocketConnection:
2020-01-16 23:29:22.124 GMT+01:00 W WebSocketConnection: onClose()...
2020-01-16 23:29:22.125 GMT+01:00 W ApplicationDependencyPr: onDisconnected()
2020-01-16 23:29:22.202 GMT+01:00 I JobManager: onConstraintMet(NetworkConstraintObserver)
2020-01-16 23:29:22.264 GMT+01:00 I JobManager: onConstraintMet(NetworkConstraintObserver)
2020-01-16 23:29:22.717 GMT+01:00 W WebSocketConnection: WSC connect()...
2020-01-16 23:29:22.723 GMT+01:00 W WebSocketConnection: WSC connect()...
2020-01-16 23:29:22.725 GMT+01:00 I ApplicationDependencyPr: onConnecting()
2020-01-16 23:29:22.730 GMT+01:00 I ApplicationDependencyPr: onConnecting()
2020-01-16 23:29:23.273 GMT+01:00 W WebSocketConnection: onConnected()
2020-01-16 23:29:23.275 GMT+01:00 I ApplicationDependencyPr: onConnected()
2020-01-16 23:29:23.280 GMT+01:00 W WebSocketConnection: onConnected()
2020-01-16 23:29:23.281 GMT+01:00 I ApplicationDependencyPr: onConnected()
2020-01-16 23:29:23.285 GMT+01:00 W WebSocketConnection: WSC onMessage()
2020-01-16 23:29:23.286 GMT+01:00 W WebSocketConnection: Message Type: 1
2020-01-16 23:29:23.443 GMT+01:00 I InAppScheduler: Triggering a job retry.
2020-01-16 23:29:23.456 GMT+01:00 I JobRunner: [JOB::bbf1ad6a-09e1-4e80-8054-a9e25fcbcb88][AttachmentUploadJob][4] Running job. (Time Since Submission: 16745 ms, Lifespan: 86400000 ms, Run Attempt: 2/Unlimited)
2020-01-16 23:29:23.457 GMT+01:00 D WakeLockUtil: Acquired wakelock with tag: signal:********-****-****-****-**********88
2020-01-16 23:29:23.459 GMT+01:00 I AttachmentUploadJob: Uploading attachment for message 1857 with ID AttachmentId::(550, 1579213746436)
2020-01-16 23:29:23.481 GMT+01:00 D JobSchedulerScheduler: onStartJob()
2020-01-16 23:29:23.708 GMT+01:00 D SignalServiceMessageSender: Using pipe to retrieve attachment upload attributes...
2020-01-16 23:29:23.836 GMT+01:00 W WebSocketConnection: WSC onMessage()
2020-01-16 23:29:23.840 GMT+01:00 W WebSocketConnection: Message Type: 2
2020-01-16 23:29:24.769 GMT+01:00 D WakeLockUtil: Released wakelock with tag: signal:********-****-****-****-**********88
2020-01-16 23:29:24.771 GMT+01:00 I JobRunner: [JOB::bbf1ad6a-09e1-4e80-8054-a9e25fcbcb88][AttachmentUploadJob][4] Job finished with result: SUCCESS (Time Since Submission: 18060 ms, Lifespan: 86400000 ms, Run Attempt: 2/Unlimited)
Looks like it's submitted, starts running, and ~13s later fails. It retries, and then pretty much succeeds immediately. Idk what your network state was at each of these various points (we should probably log that).
@BElluu Feel free to investigate however you wish and post your ideas here.
I am having this exact issue. When I use Wifi 90% of the time I cannot send images through, but there is no problem when I use a VPN or mobile data. I have found this line to be responsible for the hanging.
https://github.com/signalapp/Signal-Android/blob/72e10ac5974eddd03d48a8bd4c12581db9c4b50b/libsignal/service/src/main/java/org/whispersystems/signalservice/internal/push/PushServiceSocket.java#L897
From that method I stepped further into the okhttp library and tracked down to this line which causes the stalling.
https://github.com/square/okhttp/blob/8511ee127f97f8cef2c382740b9cb6675d6ccae7/okhttp/src/main/java/okhttp3/internal/platform/AndroidPlatform.kt#L57
When I test with Wifi, from the debugger I can see it was trying to connect to cdn.signal.org/an_ipv6_address:443 but when I test with VPN or mobile data it was trying to connect to cdn.signal.org/an_ipv4_address:443. So then I disabled IPv6 on my router and voila, everything works as expected.
I know it's just a temporary fix, but I hope this can help the devs pinpoint the real underlying problem.
@phphong thanks! same here. sending via a vpn works!
Most helpful comment
Hi! Someone can assignee me to this issue? I want to deal with it.