signalapp / Signal-Android

A private messenger for Android.
https://signal.org
GNU Affero General Public License v3.0
25.6k stars 6.15k forks source link

Incoming MMS messages fail to download after Android 12 update #11831

Closed Techie007L closed 2 years ago

Techie007L commented 2 years ago

Bug description

Samsung Galaxy S21 phone recently got an OTA update from Android 11 to Android 12. After the update, Signal can no longer download MMS messages. It can send MMS messages just fine, and regular SMS messages work normally. Of note, the message download failure takes about a minute. Interestingly, in one debug log, the error appears to be a connection timeout, as if Signal is using the wrong address (e.g. APN issue) or port (e.g. HTTP vs HTTPS) to reach the MMS server. In another debug log, the error is HTTP 404. In both cases, I am not seeing a message ID specified in the retrieval URL. Not sure if this is the problem or if it was simply censored for privacy purposes. When individually set as default, both the Samsung factory Messages app and the Textra SMS app can receive new MMS messages without any issues; but I wish to use Signal to have all messages in one place. I have not tried any other texting apps but would expect them to work similarly.

Steps to reproduce

Actual result: The circle spins for about a minute and then stops. Expected result: Message contents appear within one second.

Screenshots

signal-2021-12-10-170101 signal-2021-12-10-170104

Device info

Device: Samsung Galaxy S21 Ultra 5G (SM-G998U1) Android version: 12 (worked fine on 11) Signal version: 5.28.3 - 5.36.3

Link to debug log

[expired] https://debuglogs.org/ec3a3c2c5b0540da47597d1e18fec9cedce1413cd63f10cfe701b91463fd68c6 [expired] https://debuglogs.org/6c513ac3258682a0e5713578ad3daaf908228dca3862d1e9cd73c412b37adfc2 [expired] https://debuglogs.org/android/5.36.3/34c31cfa4b02379c235e8fe1edda3a034282f8e7eaaa8a42cede67ed64d07299 [7/15/22] https://debuglogs.org/android/5.43.3/e6af98dc3b779e5bcee8bb22f01139be71c40b3e1db2edc5ce5752b9a69dcdb7

What I have tried

What I have not tried

pcj7thirteen commented 2 years ago

This doesn't seem isolated to Signal. Similar symptoms on Android Messages and FB Messenger - MMS never download or send but SMS is unaffected. Seems like it may have to do with a broken update to Carrier Services. I am not able to edit my APN settings, either (Pixel 4a, 12L beta, Straight Talk).

Techie007L commented 2 years ago

Well, then your case is slightly different than mine. In my case, only Signal is affected, and it is able to send MMS messages fine, just not download incoming ones. Other texting apps are working normally for me, although this is undesirable as conversations are now split between two apps. Of note, there is no "Carrier Services" app present on the phone in question. There is a "Carrier Login Engine" (version 4.9.1.0), and a "CarrierDefaultApp" (version 12), and a "com.android.carrierconfig" (version 1.0.0). Now on Signal version 5.28.4 and the issue persists...

Techie007L commented 2 years ago

It's now on Signal version 5.29.2 and the phone has received a couple additional OTA updates, yet this issue persists. Other texting apps (like Textra and Samsung Messages) work just fine. Can we get this resolved please? I'll give Signal a $1000 boost upon the successful fixing of this bug...

mikebeaverson commented 2 years ago

Same issue as described in OP, except I am still on Android 11. Samsung Galaxy A51, Verizon carrier (resold via Tracfone). Can send but not receive MMS (downloading 404s); SMS work fine. On the latest version of Signal. Tried changing download/roaming settings in Signal, disabling/enabling wifi calling, as well as everything the OP tried but no change. Default messages app downloads MMS without issue.

Log: https://debuglogs.org/5203a14d9b0fb4eb20bdd48c033070a0944cd50c0308088030841aafbab020ad

Note also the "wifi calling compatibility mode" setting mentioned on https://support.signal.org/hc/en-us/articles/360007320211-MMS-Troubleshooting appears to no longer exist.

EugeneJasper commented 2 years ago

Similar problem on Note 10 +5G. Incoming MMS do not download, automatically or otherwise. Clicking on the MMS bubble starts the "downloading" animation, which disappears after a moment. Nothing else happens.

ian-weir commented 2 years ago

Noting the same issue on Android 12 with my Galaxy S10. Always from sms group chats I'm in.

Jaegermeiste commented 2 years ago

Same issues, Galaxy S20 Ultra 5G on Android 12 with Verizon. Nothing to do with WiFi calling, both settings don't work. Most frustrating thing is that once in a while, a MMS does actually download. I've had to tell people to use WhatsApp or Telegram to send me pics. Quite embarrassing and frustrating.

kalarba commented 2 years ago

Same issue as above. On a Samsung S10e, Visible network, Android 12. The issue started happening once I updated to Android 12.

I've done everything including APN reset. I did not reset my phone. Samsung Messages does get MMS.

Example attached. Screenshot_20220331-185000_Signal_1

Techie007L commented 2 years ago

Bump... We're now on Signal 5.36.3, Android 12 with kernel 5.4.86 (March 24, 2022), last OTA update installed on April 12, 2022, and the problem persists same as before. I just noticed that the debug logs are only good for 30 days, so I'm submitting another one. Please fix this critical bug! I will donate $$$$ (yes, a four-digit figure) to the project and/or to the developer that fixes this. Only Signal cannot receive MMS messages; all other messaging apps that I've tried on this phone work just fine, so it's definitely a fault with Signal and not the phone or operating system.

https://debuglogs.org/android/5.36.3/34c31cfa4b02379c235e8fe1edda3a034282f8e7eaaa8a42cede67ed64d07299

christopherpickering commented 2 years ago

I have the same problem - Samsung S10e, Android 12, Signal version 5.36.3.

Switching back to the android messages app, I begin to receive the MMS again, but I'd prefer to keep signal as my default texting app!

mfb commented 2 years ago

On my Samsung S10+, I'm getting MMS messages but only when I tap to download them, then they move to the group they belong in and the picture appears. It's somewhat bothersome to remember to troll thru my conversations looking for MMS messages I need to tap, but at least I can eventually receive them..

DP62 commented 2 years ago

I just upgraded to Android v.12 on a Samsung A51, and I'm having the same issue. Has there been any resolution?

christopherpickering commented 2 years ago

I'm using Visible phone service, do you think it is because the apn for visible is not in the signal apn list?

DP62 commented 2 years ago

It worked fine before I did an Android update. Of course other things might have changed during the update. At this point, I have tried everything I can think of, but I did not do anything with the APN. I contacted Visible support and they were not able to help either. They mentioned doing a full reset, but I didn't do that.

I'm guessing it's a Samsung specific issue, but I'm giving up on Signal and going back to the Samsung messenger at this point. Not my preferred solution....

From: sur.la.route @.> Sent: Monday, July 11, 2022 9:38 AM To: signalapp/Signal-Android @.> Cc: DP62 @.>; Comment @.> Subject: Re: [signalapp/Signal-Android] Incoming MMS messages fail to download after Android 12 update (Issue #11831)

I'm using Visible phone service, do you think it is because the apn for visible is not in the signal apn list?

- Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsignalapp%2FSignal-Android%2Fissues%2F11831%23issuecomment-1180421704&data=05%7C01%7C%7C5b78d5aedc63467866b708da63429bdc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637931434973814422%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=jKx9TbLp%2FfIPnzCdPbOGvxWz5JHreECUpcgb95VPtSQ%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAZ7WJ4Z77ILIZKM7JXKDG2DVTQPUPANCNFSM5J2EHLRA&data=05%7C01%7C%7C5b78d5aedc63467866b708da63429bdc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637931434973814422%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Evg1lgWsQPNMkmW5uvNsq84IJrEWKSXI8xPXHY6Y6vA%3D&reserved=0. You are receiving this because you commented.Message ID: @.**@.>>

Techie007L commented 2 years ago

Bump... We're now on Signal 5.43.3, Android 12 with kernel 5.4.147 (June 20, 2022), last OTA update installed on July 15, 2022, and the problem persists same as before. You guys want money? Please fix this critical bug! My offer to donate $$$$ (yes, a four-digit figure) to the project and/or to the developer that fixes this still stands...

https://debuglogs.org/android/5.43.3/e6af98dc3b779e5bcee8bb22f01139be71c40b3e1db2edc5ce5752b9a69dcdb7

christopherpickering commented 2 years ago

From the logs, it seems like the mms's are failling to download, but somehow still passing as "SUCCESS".

The error says that it tried to download the mms part to a file, and then when opening that file, the file was not there. Probably because the location address returned a 404 error?

[5.43.3] [538  ] 2022-07-15 16:00:08.765 EDT D IncomingMessageObserver: Network: true, Foreground: true, FCM: true, Censored: false, Registered: true, Proxy: false
[5.43.3] [538  ] 2022-07-15 16:00:08.765 EDT D IncomingMessageObserver: Reading message...
[5.43.3] [main ] 2022-07-15 16:00:15.969 EDT I MmsListener: Got MMS broadcast...android.provider.Telephony.WAP_PUSH_DELIVER
[5.43.3] [main ] 2022-07-15 16:00:15.972 EDT I MmsListener: Relevant!
[5.43.3] [537  ] 2022-07-15 16:00:15.974 EDT I Job: [JOB::07e5c610-5b02-4291-8d0c-b2992b8ecea7][MmsReceiveJob] onSubmit() (Time Since Submission: 1 ms, Lifespan: Immortal, Run Attempt: 1/25, Queue: null)
[5.43.3] [540  ] 2022-07-15 16:00:15.974 EDT I JobSchedulerScheduler: JobScheduler enqueue of  (0)
[5.43.3] [549  ] 2022-07-15 16:00:15.975 EDT I JobRunner: [JOB::07e5c610-5b02-4291-8d0c-b2992b8ecea7][MmsReceiveJob][2] Running job. (Time Since Submission: 3 ms, Lifespan: Immortal, Run Attempt: 1/25, Queue: null)
[5.43.3] [549  ] 2022-07-15 16:00:15.980 EDT I MmsDatabase: Message received type: 130
[5.43.3] [main ] 2022-07-15 16:00:15.980 EDT I MmsListener: Got MMS broadcast...android.provider.Telephony.WAP_PUSH_RECEIVED
[5.43.3] [main ] 2022-07-15 16:00:15.982 EDT I JobSchedulerScheduler: Waking due to job: 0
[5.43.3] [549  ] 2022-07-15 16:00:15.985 EDT I MmsReceiveJob: Inserted received MMS notification...
[5.43.3] [549  ] 2022-07-15 16:00:15.986 EDT I Job: [JOB::29cbf99a-c607-49f9-8e97-4dc2c1df0660][MmsDownloadJob] onSubmit() (Time Since Submission: 1 ms, Lifespan: Immortal, Run Attempt: 1/25, Queue: mms-operation)
[5.43.3] [549  ] 2022-07-15 16:00:15.987 EDT I JobRunner: [JOB::07e5c610-5b02-4291-8d0c-b2992b8ecea7][MmsReceiveJob][2] Job finished with result SUCCESS in 13 ms. (Time Since Submission: 15 ms, Lifespan: Immortal, Run Attempt: 1/25, Queue: null)
[5.43.3] [547  ] 2022-07-15 16:00:15.987 EDT I JobRunner: [JOB::29cbf99a-c607-49f9-8e97-4dc2c1df0660][MmsDownloadJob][1] Running job. (Time Since Submission: 1 ms, Lifespan: Immortal, Run Attempt: 1/25, Queue: mms-operation)
[5.43.3] [547  ] 2022-07-15 16:00:15.990 EDT I MmsDownloadJob: Downloading mms at ...ipv4..., subscription ID: 2
[5.43.3] [547  ] 2022-07-15 16:00:15.990 EDT I CompatMmsConnection: Receiving via Lollipop API
[5.43.3] [547  ] 2022-07-15 16:00:15.991 EDT I IncomingLollipopMmsConn: Downloading subscriptionId=2 multimedia from 'http://...ipv4.../servlets/mms?message-id=' [transactionId='110A10EC4B2D0000E290000101'] to 'content://org.thoughtcrime.securesms.mms/mms/1657915215991'
[5.43.3] [main ] 2022-07-15 16:00:47.561 EDT I LollipopMmsConnection: onReceive()
[5.43.3] [main ] 2022-07-15 16:00:47.562 EDT I IncomingLollipopMmsConn: HTTP status: 404
[5.43.3] [main ] 2022-07-15 16:00:47.562 EDT I IncomingLollipopMmsConn: code: 4, result string: null
[5.43.3] [547  ] 2022-07-15 16:00:47.562 EDT I MmsBodyProvider: openFile(content://org.thoughtcrime.securesms.mms/mms/1657915215991, r)
[5.43.3] [547  ] 2022-07-15 16:00:47.562 EDT I MmsBodyProvider: Fetching message body for a single row...
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT I MmsBodyProvider: returning file /data/user/0/org.thoughtcrime.securesms/cache/1657915215991.mmsbody
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn: 
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn: java.io.FileNotFoundException: open failed: ENOENT (No such file or directory)
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn:     at android.os.ParcelFileDescriptor.openInternal(ParcelFileDescriptor.java:342)
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn:     at android.os.ParcelFileDescriptor.open(ParcelFileDescriptor.java:229)
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn:     at org.thoughtcrime.securesms.providers.MmsBodyProvider.openFile(MmsBodyProvider.java:81)
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn:     at android.content.ContentProvider.openAssetFile(ContentProvider.java:2138)
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn:     at android.content.ContentProvider.openTypedAssetFile(ContentProvider.java:2314)
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn:     at android.content.ContentProvider.openTypedAssetFile(ContentProvider.java:2381)
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn:     at android.content.ContentProvider$Transport.openTypedAssetFile(ContentProvider.java:562)
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn:     at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:2034)
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn:     at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:1849)
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn:     at android.content.ContentResolver.openInputStream(ContentResolver.java:1525)
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn:     at org.thoughtcrime.securesms.providers.MmsBodyProvider$Pointer.getInputStream(MmsBodyProvider.java:137)
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn:     at org.thoughtcrime.securesms.mms.IncomingLollipopMmsConnection.retrieve(IncomingLollipopMmsConnection.java:121)
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn:     at org.thoughtcrime.securesms.mms.CompatMmsConnection.retrieve(CompatMmsConnection.java:77)
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn:     at org.thoughtcrime.securesms.jobs.MmsDownloadJob.onRun(MmsDownloadJob.java:147)
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn:     at org.thoughtcrime.securesms.jobs.BaseJob.run(BaseJob.java:32)
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn:     at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:86)
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn:     at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:49)
[5.43.3] [547  ] 2022-07-15 16:00:47.563 EDT W IncomingLollipopMmsConn: 
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection: 
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection: org.thoughtcrime.securesms.mms.MmsException: java.io.FileNotFoundException: open failed: ENOENT (No such file or directory)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection:     at org.thoughtcrime.securesms.mms.IncomingLollipopMmsConnection.retrieve(IncomingLollipopMmsConnection.java:144)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection:     at org.thoughtcrime.securesms.mms.CompatMmsConnection.retrieve(CompatMmsConnection.java:77)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection:     at org.thoughtcrime.securesms.jobs.MmsDownloadJob.onRun(MmsDownloadJob.java:147)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection:     at org.thoughtcrime.securesms.jobs.BaseJob.run(BaseJob.java:32)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection:     at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:86)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection:     at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:49)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection: Caused by: java.io.FileNotFoundException: open failed: ENOENT (No such file or directory)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection:     at android.os.ParcelFileDescriptor.openInternal(ParcelFileDescriptor.java:342)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection:     at android.os.ParcelFileDescriptor.open(ParcelFileDescriptor.java:229)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection:     at org.thoughtcrime.securesms.providers.MmsBodyProvider.openFile(MmsBodyProvider.java:81)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection:     at android.content.ContentProvider.openAssetFile(ContentProvider.java:2138)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection:     at android.content.ContentProvider.openTypedAssetFile(ContentProvider.java:2314)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection:     at android.content.ContentProvider.openTypedAssetFile(ContentProvider.java:2381)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection:     at android.content.ContentProvider$Transport.openTypedAssetFile(ContentProvider.java:562)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection:     at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:2034)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection:     at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:1849)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection:     at android.content.ContentResolver.openInputStream(ContentResolver.java:1525)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection:     at org.thoughtcrime.securesms.providers.MmsBodyProvider$Pointer.getInputStream(MmsBodyProvider.java:137)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection:     at org.thoughtcrime.securesms.mms.IncomingLollipopMmsConnection.retrieve(IncomingLollipopMmsConnection.java:121)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection:     ... 5 more
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W CompatMmsConnection: 
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT I CompatMmsConnection: Falling back to receiving via legacy connection
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W MmsDownloadJob: 
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W MmsDownloadJob: java.io.IOException: Both lollipop and fallback APIs failed...
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W MmsDownloadJob:  at org.thoughtcrime.securesms.mms.CompatMmsConnection.retrieve(CompatMmsConnection.java:99)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W MmsDownloadJob:  at org.thoughtcrime.securesms.jobs.MmsDownloadJob.onRun(MmsDownloadJob.java:147)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W MmsDownloadJob:  at org.thoughtcrime.securesms.jobs.BaseJob.run(BaseJob.java:32)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W MmsDownloadJob:  at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:86)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W MmsDownloadJob:  at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:49)
[5.43.3] [547  ] 2022-07-15 16:00:47.564 EDT W MmsDownloadJob: 
[5.43.3] [547  ] 2022-07-15 16:00:47.580 EDT I JobRunner: [JOB::29cbf99a-c607-49f9-8e97-4dc2c1df0660][MmsDownloadJob][1] Job finished with result SUCCESS in 31593 ms. (Time Since Submission: 31594 ms, Lifespan: Immortal, Run Attempt: 1/25, Queue: mms-operation)

Maybe a wild goose chase... but here goes lol

I'm not an mms expert, but from reading the code it looks like this -

  1. the phone gets a notification that there is an mms available.
  2. Signal stores the parsed notification it in the mms database
  3. It then reads the data from the database when you wanna download the message.

The data from the notification includes the path where the message should be downloaded from. (does this fall back on the apn?) It seems to me that something is up w/ the donload url.

Maybe I'm missing something obvious, but http://...ipv4.../servlets/mms?message-id=110A10EC4B2D0000E290000101 isn't a valid url. Its obviously giving a 404 code in the logs.

The http://...ipv4.../servlets/mms?message-id= is supposed to be coming from the mms header? > see app/src/main/java/org/thoughtcrime/securesms/mms/MmsReceiveJob.java

Then in /app/src/main/java/org/thoughtcrime/securesms/mms/IncomingLollipopMmsConnection.java around line 75 the message is downloaded (attempted) from that url. From your logs there is a 404 message at that url.

Tracing back the code, it seems like the contentLocation is coming from import com.google.android.mms.pdu_alt.PduParser, parsing the message notification.

It seems like this google library is imported directly from the phones source. Which would make sense as to why it busted in a version change.

Here's the source code for that library. https://cs.android.com/android/platform/superproject/+/master:frameworks/base/telephony/common/com/google/android/mms/pdu/PduParser.java

I compared v11 code and the latest, there is only one change in that file, but it seems unrelated. image

Also, there were not changes in pduheaders.

Here's a good read https://stackoverflow.com/questions/3012287/how-to-read-mms-data-in-android, from this it seems like the content location should be something like content://mms/part....

Anyone have other ideas?

stale[bot] commented 2 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.

kalarba commented 2 years ago

bumping the thread. I continue to have the same issue. Now on Signal version 5.48.3 with Android 12 and no change in MMS behavior. Would really appreciate a fix to this bug. @christopherpickering that was great research, it seems like that is on the right track of how it broke.

christopherpickering commented 2 years ago

Yeah, I switched back to an iphone now... just couldn't learn how to type on the android after 2 yrs lol

mikebeaverson commented 2 years ago

This MMS failure to download is a longstanding, on and off issue for signal, and not device or carrier specific. You can find several examples in the issue history. I've had it happen on four different phones and three carriers over the past few years. This particular bug report itself isn't even android 12 specific (see my previous comments).

At this point I have given up and ditched signal. A big part of the value proposition here is a single app that can handle S/MMS with non-secure contacts. Combine this with the fact that you cannot import/export message histories any more and you end up unable to hold conversations with non-signal users. Not just within signal itself, but messages get lost entirely if signal picks them up before your default SMS app (which does happen sometimes).

If the use case is signal-signal communication only, why on earth would I stay with this app? Telegram and whatsapp have more features, and lack the bugs and anti privacy features (e.g. reading message content to suggest replies) found on signal. A real shame.

kalarba commented 2 years ago

@mikebeaverson out of curiosity, which chat app have you moved to?

equipematou commented 2 years ago

Signal version is 5.51.7.

I have seen the same MMS problems on a Pixel 4a running Android 13 for both incoming text and image messages. Occasionally a message will be received immediately, but most have the black screen with the down arrow and MMS to download the message. Sometimes tapping a message to download it works, but some never do load.

SMS between Signal users works well; the problems are with MMS.

It appears that no one from Signal has responded or acknowledged the problem, and the original post was exactly 10 months ago today. Did I miss something?

Clearing app cache may have helped with loading some text-only MMS messages; others do not load. Images still do not load. In general MMS does not work, although a few randomly come through, with no clear pattern why a few work and most don't.

For what it is worth, I've attached two snippets from the Signal debug log for failed MMS loads. This appears to summarize the failure: "java.io.IOException: Both lollipop and fallback APIs failed..."

log_20221010_1309.txt

log_20221010_1639.txt

Techie007L commented 2 years ago

As of a little over a week ago, Signal added a crummy "Stories" feature (what a colossal waste of user time, developer resources, and screen space!), dumbing down the app further and catering to the airhead Facebook/TikTok audience. 👎 At least that crap can be turned off and the screen space reclaimed—for now, anyway. However, as of today, instead of fixing this MMS issue, Signal version 5.53.2 has stupidly removed SMS/MMS support entirely! 👎 👎 👎 The feature can no longer be turned on, and this pathetic message appears instead:

Signal terrible foolishness3

At this point, I lack strong enough language to express my extreme disappointment with Signal. They WERE perfectly poised to be that great, drop-in messaging solution like iMessage but for Android. I HATE having my messages arbitrarily split between two apps, and greatly enjoyed this unified functionality while it lasted; it was one of the great selling points I was able to use to bring others to the platform from WhatsApp! I would personally value this (SMS/MMS) feature as worth thousands of dollars, but at this rate, I guess they're never going to see a penny from me and they just want to settle for being a measly WhatsApp wannabe with a fraction of the userbase. Perhaps I should start looking into the several Signal forks and see if any intelligent people exist over there...

Techie007L commented 2 years ago

"greyson-signal closed this as not planned 14 hours ago"... 😡 So this is the thanks I get for pushing hard to get people in my circle to start using this app in the first place. 🤦‍♂️ Go ahead, tell us all about how little you value your users and how much you enjoy shooting yourselves in the foot for fun! I paid money for Textra and would have gladly done the same for a Signal app that included SMS+MMS support, but you don't want my money. Do you guys even understand that the biggest hurdle to using your app in the first place is network adoption? Promoting this app as an all-in-one texting app that would automatically provide additional security and features for conversations where both parties had it and seamlessly work with everyone else was literally THE #1 selling point of this app. The app is of little value if hardly anyone else will use it! Don't pretend that it's "too hard" to handle SMS/MMS; the app store is full of 3rd-party texting apps that work just fine. Y'all completely ignored this issue for almost a year and then decided to take the cheap way out by deleting crucial functionality, only bothering to finally respond by closing the issue as not planned. It would have been better to just keep pretending it my issue here didn't exist, but go ahead and add insult to injury—show us how you really feel about your users... 😠