Signal-android: MMS Receiving not working with non signal users

Created on 28 Jan 2019  ·  130Comments  ·  Source: signalapp/Signal-Android

Bug description

Cannot receive MMS from non signal users at all

Steps to reproduce

  • Have non-signal user send MMS
  • fails to download, retrying also fails

Attempts to fix

Actual result:
Message just says mms fails to download, click to retry
Expected result:
See the mms

Device info

Device: OnePlus 6T
Android version: 9.0.0
Signal version: 4.32.8
Carrier: Verizon

Link to debug log

https://debuglogs.org/c4b1cd7ad755c63f96d26c173b5324b5d7125dedf51032e09e0e1715e0f52280

mms

Most helpful comment

@mdaniel Hey there, thanks for continuing to look into this! It's very appreciated. I've got a version of this fix going out in 4.49.4.

Apologies for the oversight of not cross posting logs and stuff. Unfortunately my mind is always split between the various Github, Forum, and Reddit issues (as well as the various features I'm working on), and that does sometimes lead to things slipping. I assure you it's not a result of malice, but just me being human. I encourage you to remind yourself of the human-ness of others when communicating online. I know this bug is frustrating, but hopefully this time around we'll get it for good :)

All 130 comments

Looks like we're having trouble establishing an MMS connection:

2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection: null
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection: java.io.FileNotFoundException: open failed: ENOENT (No such file or directory)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at android.os.ParcelFileDescriptor.openInternal(ParcelFileDescriptor.java:313)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at android.os.ParcelFileDescriptor.open(ParcelFileDescriptor.java:211)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at org.thoughtcrime.securesms.providers.MmsBodyProvider.openFile(MmsBodyProvider.java:77)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at android.content.ContentProvider.openAssetFile(ContentProvider.java:1626)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at android.content.ContentProvider.openTypedAssetFile(ContentProvider.java:1806)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at android.content.ContentProvider.openTypedAssetFile(ContentProvider.java:1872)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at android.content.ContentProvider$Transport.openTypedAssetFile(ContentProvider.java:487)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1503)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:1340)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at android.content.ContentResolver.openInputStream(ContentResolver.java:1060)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at org.thoughtcrime.securesms.providers.MmsBodyProvider$Pointer.getInputStream(MmsBodyProvider.java:133)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at org.thoughtcrime.securesms.mms.IncomingLollipopMmsConnection.retrieve(IncomingLollipopMmsConnection.java:92)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at org.thoughtcrime.securesms.mms.CompatMmsConnection.retrieve(CompatMmsConnection.java:76)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at org.thoughtcrime.securesms.jobs.MmsDownloadJob.onRun(MmsDownloadJob.java:140)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at org.thoughtcrime.securesms.jobmanager.Job.doWorkInternal(Job.java:111)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at org.thoughtcrime.securesms.jobmanager.Job.doWork(Job.java:64)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at androidx.work.Worker$1.run(Worker.java:84)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
2019-01-28 17:14:07.325 EST W IncomingLollipopMmsConnection:    at java.lang.Thread.run(Thread.java:764)
2019-01-28 17:14:07.337 EST W CompatMmsConnection: null
2019-01-28 17:14:07.337 EST W CompatMmsConnection: org.thoughtcrime.securesms.mms.MmsException: java.io.FileNotFoundException: open failed: ENOENT (No such file or directory)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at org.thoughtcrime.securesms.mms.IncomingLollipopMmsConnection.retrieve(IncomingLollipopMmsConnection.java:105)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at org.thoughtcrime.securesms.mms.CompatMmsConnection.retrieve(CompatMmsConnection.java:76)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at org.thoughtcrime.securesms.jobs.MmsDownloadJob.onRun(MmsDownloadJob.java:140)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at org.thoughtcrime.securesms.jobmanager.Job.doWorkInternal(Job.java:111)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at org.thoughtcrime.securesms.jobmanager.Job.doWork(Job.java:64)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at androidx.work.Worker$1.run(Worker.java:84)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at java.lang.Thread.run(Thread.java:764)
2019-01-28 17:14:07.337 EST W CompatMmsConnection: Caused by: java.io.FileNotFoundException: open failed: ENOENT (No such file or directory)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at android.os.ParcelFileDescriptor.openInternal(ParcelFileDescriptor.java:313)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at android.os.ParcelFileDescriptor.open(ParcelFileDescriptor.java:211)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at org.thoughtcrime.securesms.providers.MmsBodyProvider.openFile(MmsBodyProvider.java:77)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at android.content.ContentProvider.openAssetFile(ContentProvider.java:1626)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at android.content.ContentProvider.openTypedAssetFile(ContentProvider.java:1806)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at android.content.ContentProvider.openTypedAssetFile(ContentProvider.java:1872)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at android.content.ContentProvider$Transport.openTypedAssetFile(ContentProvider.java:487)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1503)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:1340)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at android.content.ContentResolver.openInputStream(ContentResolver.java:1060)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at org.thoughtcrime.securesms.providers.MmsBodyProvider$Pointer.getInputStream(MmsBodyProvider.java:133)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  at org.thoughtcrime.securesms.mms.IncomingLollipopMmsConnection.retrieve(IncomingLollipopMmsConnection.java:92)
2019-01-28 17:14:07.337 EST W CompatMmsConnection:  ... 8 more
2019-01-28 17:14:07.344 EST I CompatMmsConnection: Falling back to receiving via legacy connection
2019-01-28 17:14:07.345 EST W MmsDownloadJob: null
2019-01-28 17:14:07.345 EST W MmsDownloadJob: java.io.IOException: Both lollipop and fallback APIs failed...
2019-01-28 17:14:07.345 EST W MmsDownloadJob:   at org.thoughtcrime.securesms.mms.CompatMmsConnection.retrieve(CompatMmsConnection.java:98)
2019-01-28 17:14:07.345 EST W MmsDownloadJob:   at org.thoughtcrime.securesms.jobs.MmsDownloadJob.onRun(MmsDownloadJob.java:140)
2019-01-28 17:14:07.345 EST W MmsDownloadJob:   at org.thoughtcrime.securesms.jobmanager.Job.doWorkInternal(Job.java:111)
2019-01-28 17:14:07.345 EST W MmsDownloadJob:   at org.thoughtcrime.securesms.jobmanager.Job.doWork(Job.java:64)
2019-01-28 17:14:07.345 EST W MmsDownloadJob:   at androidx.work.Worker$1.run(Worker.java:84)
2019-01-28 17:14:07.345 EST W MmsDownloadJob:   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
2019-01-28 17:14:07.345 EST W MmsDownloadJob:   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
2019-01-28 17:14:07.345 EST W MmsDownloadJob:   at java.lang.Thread.run(Thread.java:764)

Any ideas on what could cause this/what I could do to fix it?

I don't have any immediate ideas, sorry. Just wanted to note what the issue was for future reference.

I am thinking this may have something to do with using a oneplus phone on Verizon. Its a new CDMAless service they offer. The default APN can't be changed and it disallows any custom apns from being used. This is the apn in use https://photos.app.goo.gl/opc3dtBE3AJ2mgQR8

I too have this problem and am using a oneplus 6t on the Verizon network. MMS works fine in other apps like the Android "Messages" app.

I'm using a h2o sim on a unlocked sprint device and i've been experiencing the same thing.

p.s my APN settings are correct

FWIW, I got someone on Google Hangouts to send an MMS with a PNG image file to my AT&T Samsung S7, Signal 4.33.5, Android 8.0.0, and I seemed to get it OK.

Same problem with Signal 4.33.5 on a Samsung Galaxy S9 and T-Mobile.

Chiming in here as another OP6T user on Verizon. Then again, back when I had an HTC One M8 user also on Verizon, I remember Signal had the same issue...

https://debuglogs.org/433a6f92aad3742488b8f7bf903797e050e975574583daae623d4b523b347393

Same issue with new phone I got yesterday.

Carrier: Verizon
Phone: Razer Phone 2 (Latest updates, android 9)
Signal Version: 4.36.2

Old nexus 6p did not have this issue. Same carrier, same signal version, android 8.1.0.

also seeing this on a OP6T connected to verizon.

Started happening to me sometime after the 19th Feb 2019.

Carrier: Optus
Phone: Samsung S5
Current Signal Version: 4.34.5.461

Usually if I have wifi connected I get the problem, turning it off fixes it. If I don't have wifi on when I experience the issue, turning Airplane mode on then off gets things working.
Pixel 2XL on TMO.

Same problem on Android S7. Carrier: vErizon. Signal version 4.38.3.

Debug log: https://debuglogs.org/48507d6ad975b3e21fe3674c587f7139f5538e33eb9087e3327664aaf0bb148f

It _never_ worked for me, on many Android versions, including 9.

Same issue on blackberry key2le on verizon. Also a CDMA-less device.

Same issue with OnePlus 7 Pro on Verizon. Able to receive MMS fine using the default app. I love Signal and would love to keep using it as my default app.

Interestingly, I am able to send MMS messages, I just cannot receive them.

Steps to reproduce:

  1. Have a non-Signal user send an MMS message
  2. Wait to receive

Expected results:
Receive MMS message

Observed results:
Do not receive MMS message, instead get "Error downloading MMS message, tap to retry".

Additional info:
If I tap to retry, it still fails.

Debug log:
https://debuglogs.org/a79d1bf259faac21ec373eb5d27907a82ca4c9f6fe23222421385bf10cc345be

Version: 4.39.4

Same issue with a Google Pixel 3 (blueline) on AT&T (unlocked).

I do find I am able to see the MMS if I reboot the phone. Killing and restarting the Signal App is not enough to do it.

Signal 4.39.4

Debug log:
https://debuglogs.org/747cb071ff28b4f21e8b9c0fd2cef63de9a031a76243cf646f8b6b6b3b65efc1

This is a fairly big blocker as I receive a number of messages like this every day.

I'm getting this issue too with a Samsung Galaxy S8, latest OS version, and latest signal version. Every time I tap to retry, it fails to download the image. For now, I am using a different messaging app as this is a necessary functionality for me. I would love nothing more than to go back to using Signal!

Android Version 9
Signal 4.40.4
Rogers ISP

Debug Log: https://debuglogs.org/41520d64f26830573acdbbb612271fa562a7472ca264bec238ca82048468d1c1

+1

Signal 4.41.6
Android 9
Moto G5 Plus XT1687
AT&T

Same issue. OnePlus 7 Pro - Verizon - CDMA Less feature activated.

Exact same issue. One Plus 7 Pro - VZW with CDMA Less enabled.

Same problem here. Oneplus 7 pro, Verizon CDMA-less. Signal to signal works fine... All non signal users "fail to download mms"

I have the same issue.
One Plus 7 Pro
Verizon CDMA-less
MMS send correctly from Signal, when received always "fail to download mms"
switching to Android Messages MMS are received correctly
Signal 4.43.8

I also have the same problem on Verizon with the OnePlus 7 Pro. As already stated by others, this phone is registered as a "CDMA-less" device on Verizon's network (specifically, "Feature #83856" has to be added to the line the device is used on).

  • I am able to send MMS messages to Signal users.
  • I am able to send MMS messages to non-Signal users.
  • I am able to receive MMS messages from Signal users.
  • I am not able to receive MMS messages from non-Signal users.

The behavior is the same regardless of whether I have 'WiFi Calling' compatibility mode turned on/off in the Signal settings and the outcome is also the same regardless of whether I am connected only to WiFi or only to mobile data (LTE). As others have also stated, sending/receiving MMS messages works fine in other SMS applications. I feel absolutely naked when Signal is not set as my default SMS/messaging, so I hope this can be resolved soon. I would be happy to provide packet captures or anything else that would be helpful in fixing the issue so please just let me know (my bootloader is currently locked, so I will need a bit of time to unlock it and gain root, but I would be happy to do so in order to provide any info that would be useful).
Signal 4.43.8
Debug Log:
https://debuglogs.org/b41ec97282c18311c88f95224270c8b3f752f68f3a1e17adef15dbd4202ec823
(Relevant lines start @ 07-12 04:39:18.573)

Same issues here...

  • Verizon CDMA-Less
  • 4.43.8
  • Oneplus 7 Pro
  • OxygenOS 9.5.8.GM21AA (Android 9 Pie)

Debug log suggests it's failing to download the MMS

Had anyone had any luck fixing this? I recently hard reset my phone just to check if I was using some magisk rom/modual to see if that was the problem, nope. I was using magisk + xxx NoLimits. I have a few other minor problems unrelated to messaging.

I reset everything and now I'm using stock OOS on oneplus 7 pro rooted. 9.5.10.... Still no mms through non signal users...

+1

Signal 4.41.6
Android 9
Moto G5 Plus XT1687
AT&T

In my case, some Group/MMS messages appear as expected in groups with non-Signal users, but the majority fail to download.

I have also seen the failed-to-download MMS errors, for messages from participants of an unsecured group, appear as if they were sent to/as individual conversations with the respective senders, instead of appearing in the group conversation.

I'm also having this issue with my oneplus pro 7 on verizon's network. signal to signal MMS works fine. when someone not using signal sends an MMS, it fails to download and retrying doesn't do anything, as others have mentioned above.

specs:
oneplus pro 7 on verizon's network
oxygen os 9.5.10.GM21AA
signal 4.44.7

debug log:
https://debuglogs.org/48ebfe93dd41bd93caa15d37d1847a358e96596e8dd54d20e88d997ee249932b?fbclid=IwAR0QrjuBE0DkhB1P9ziaR-V85wA21Ln0DoCtvXu1DqDN0DbK5sW0vALW3yY

same issue here, CDMA Verizon Palm PVG100 (the tiny phone) standalone edition.

Worked fine on my blackberry Priv.. does not work on this, my new phone.

Android v8.1.0

I now have this working for my Pixel 3 on "Visible" (who appears to be actually Verizon).

In my specific circumstance, the MMS Content-Location PDU was coming back with just servlets/mms?message-id= _without_ the explicit inclusion of, you know, the message-id. However, thankfully I was able to find someone with a correct looking URL which led me to wonder if the message-id was actually in the MMS PDU, just hiding elsewhere. In my case, yes it was, and it turns out there is also an SmsManager knob MMS_CONFIG_APPEND_TRANSACTION_ID just for such a circumstance, which one can interrogate SmsManager.getCarrierConfigValues() to discover if your carrier is expecting it.

As soon as I checked for that boolean (which at least for Verizon Visible was correctly coming back as true) and appended the tx-id as they asked, poof, MMS reception started to work for me. I was even able to retroactively download failed messages from earlier this week since the Signal database was already storing all the required information.

diff --git a/src/org/thoughtcrime/securesms/mms/IncomingLollipopMmsConnection.java b/src/org/thoughtcrime/securesms/mms/IncomingLollipopMmsConnection.java
index a3c58e551..8064845e4 100644
--- a/src/org/thoughtcrime/securesms/mms/IncomingLollipopMmsConnection.java
+++ b/src/org/thoughtcrime/securesms/mms/IncomingLollipopMmsConnection.java
@@ -70,7 +75,10 @@ public class IncomingLollipopMmsConnection extends LollipopMmsConnection impleme
     try {
       MmsBodyProvider.Pointer pointer = MmsBodyProvider.makeTemporaryPointer(getContext());

-      Log.i(TAG, "downloading multimedia from " + contentLocation + " to " + pointer.getUri());
+      final String transactionIdStr = Util.toIsoString(transactionId);
+      Log.i(TAG, "downloading subscriptionId=" + subscriptionId +
+              "multimedia from \"" + contentLocation + "\"" +
+              "[transactionId=\"" + transactionIdStr + "\"] to \"" + pointer.getUri()+"\"");

       SmsManager smsManager;

@@ -80,10 +88,19 @@ public class IncomingLollipopMmsConnection extends LollipopMmsConnection impleme
         smsManager = SmsManager.getDefault();
       }

+      // fixes https://github.com/signalapp/Signal-Android/issues/8571
+      final Bundle configOverrides = smsManager.getCarrierConfigValues();
+      // this *reads* like passing such a thing into downloadMultimediaMessage() would cause *it*
+      // to do the appending, but at least on Android 10 that is not the case
+      if (configOverrides.getBoolean(SmsManager.MMS_CONFIG_APPEND_TRANSACTION_ID)) {
+        //  && contentLocation.endsWith("message-id=")
+        Log.i(TAG, "Appending transactionId to contentLocation at the direction of CarrierConfigValues");
+        contentLocation += transactionIdStr;
+      }
       smsManager.downloadMultimediaMessage(getContext(),
                                            contentLocation,
                                            pointer.getUri(),
-                                           null,
+                                           configOverrides,
                                            getPendingIntent());

       waitForResult();

I have no idea if it would work for anyone else, nor how the Signal team wants to proceed -- do you want a PR with :point_up: or wait for someone else to confirm the fix works for them?

I have no idea if it would work for anyone else, nor how the Signal team wants to proceed -- do you want a PR with ☝️ or wait for someone else to confirm the fix works for them?

@mdaniel , great work man! I'm on a OnePlus 7 Pro on Verizon and as I reported earlier in this thread, I am experiencing the same MMS issues. I am going to try to build an APK with your changes and try it out so I can confirm whether the solution is identical on Verizon (at least on my phone model). I don't currently have Eclipse installed, so it will probably take me a little bit to get my development environment setup so I can compile the APK. As soon as I do though, I will report back here with my findings. Thanks again for your contribution! P.S. I'm going to shoot you a PM to ask a quick question if you don't mind.

so it will probably take me a little bit to get my development environment setup so I can compile the APK

If you speak docker, they appear to have a Dockerfile, although watch out for the PKCS11 stuff, as I don't know if that's involved in debug builds or not, just raising your awareness. I'll try to start a docker build now to "play along at home" and see if one can, in fact, build apks entirely in docker

Aside from the fact that the Android Studio is based on IntelliJ, I think you will find IntelliJ has overall better support for android + gradle + damn near everything.

I'm going to shoot you a PM to ask a quick question if you don't mind.

By far the better approach would be to use these comments, or their community forum, or even Reddit to avoid information silos. If it interests you, it likely interests others, too

Good luck to us all, and I hope it fixes the problem in your situation, too

@lahma69 looking forward to your testing. I'm also on a oneplus 7 pro with verizon..

8837 needs to land before one can build in docker; I guess the Signal team uses image caching or doesn't build in docker for that PR to be open since May :-(

Ya, I appreciate the advice. I decided to install IntelliJ instead. I used Eclipse previously when I was doing Android development but the last Android project I worked on (a client app for communicating with a bluetooth low energy prototype device) was quite a long time ago (like Android 4.4/5.0). A docker image would have been nice, but it's no big deal. I went ahead and just installed it on my Windows box. I'm juggling several different things at the moment, but I will try to get it compiled some time tonight or in the morning. (Btw, I quickly realized that Github no longer has PMs after posting my previous reply. I was just going to ask whether you might send me the APK you had already compiled, but I think it is better that I went ahead and did it myself. That way if I need to make any modifications or insert some quick lines for logcat output or something I can.)

I haven't forgotten to test your build @mdaniel... Just been super busy. I'm going to try to get to it today if I can. I'll post an update just as soon as I do.

Alright.. So I can now officially confirm that implementing the changes suggested by @mdaniel in the file _IncomingLollipopMmsConnection.java_ do indeed fix the MMS problems described in this issue (#8571). Or more precisely, implementing those changes restores complete MMS functionality for me on my OnePlus 7 Pro on Verizon (running Android 9/Oxygen OS 9.5.11.GM21AA).

Strangely, I was not able to retroactively download previously failed MMS messages as @mdaniel suggested he was able to. I'm not sure why this would be different for me, but I don't think its really of much importance since the primary issue is solved. Hopefully, now that there are at least 2 confirmed reports of this change fixing the described issue, the Signal devs will either implement the changes themselves or allow @mdaniel to submit the changes himself for their approval.

If anyone wants to test if these changes fix the problem for them as well, but don't want to spend the time and effort to setup a build environment, I will share the APK I compiled/signed myself. You should be aware of the risks of installing an unverified APK and if you don't trust me (which you probably shouldn't if you don't know me), you should probably limit your use of the APK to testing only (and there may still be risks because of the inherently private information required to setup Signal and the permissions it requires). While it would be a relatively straight forward task for someone with the necessary tools/skills to verify that the only file I've changed is IncomingLollipopMmsConnection.java, I doubt anyone is going to go take the time to do that in this instance. So, with all of that out the way, all you need to do is download the modified APK, backup your existing Signal messages, uninstall Signal (this is required since this APK is signed with a different key), and install the modified APK. Again, unless you trust me, I wouldn't restore your backup messages (requiring you to input your backup/restore password). Just do the minimal setup and then test the MMS functionality that was failing for you previously.
Signal-play-universal-release-SignedWithTestKeys-4.47.6-MMSFix.apk

It would be very helpful to get some input from one of the official developers on how to best move forward on getting these changes implemented. Thanks again for finding the fix @mdaniel!

FWIW, I was having similar problems with MMS messages being delivered on my Pixel with Google Fi. Switched to regular messaging and all was fine. Tried the @lahma69 APK and did some test messaging and it worked fine. Not sure if it's coincidence or not, just wanted to add my input. Thanks @mdaniel and @lahma69 for your work.

Hey @geoffro10. It is good to know that the fix implemented by @mdaniel worked for someone else. What version of Android are you running on your Pixel?

@lahma69 , I'm on Android 10.

i don't want to run an unknown APK on my phone, but i really DO want signal to receive MMS messages (and especially group MMS texts). Can any official signal-android dev chime in here and say something about the likelihood and timing of this patch being evaluated for merging?

I wired up a CircleCI build for this branch: https://circleci.com/gh/mdaniel/Signal-Android/8#artifacts/containers/0 which means one of two things: you can inspect the build log to see that nothing underhanded went on, or you can clone the repo, apply that patch, apply the .circleci/config.yml to your own fork, build it (CircleCI does not charge for building open source projects), and then install your own built APK

There are two three further caveats about that build: up until this point, I had been applying that patch to v4.47.6 but that APK is built from master, in preparation for (hopefully!) going through the PR process to land the change for real, and the second caveat is that I have been building release builds for my phone using my android key, so I've never actually tested any of the unsigned debug builds, and the build is against CircleCI's generic android docker image (not the one from #8837) since there was some userns tomfoolery that made CircleCI unhappy. They probably work fine just be aware if those are things which are relevant to you

Ah, well, discovered that commit isn't foolproof. Gonna revert it. Breaks downloads for some people who have that "append transaction id" flag set. More research will have to be done to figure out exactly what's happening here.

I did read that adding options is bad and similarly about the "power users," but as a for-your-consideration, leaving the code in but perhaps behind a toggle (even if hidden in the Advanced screen) would allow the folks in this issue to continue to test if it fixes the problem for them, with their phones (on their carriers), without giving up the (tiny?) forward progress we made

Regrettably, that commit a few weeks ago was the first time I had ever had to deal with the Android telephony API, so the number of potential dragons feels enormous, but without gathering more reports of "works for me with $phone on $carrier" and "not for me with $otherPhone on $otherCarrier" I fear this issue will go back onto the backburner as not a priority for Signal


FWIW, I also went sniffing around F-Droid to see if there were other open source MMS-friendly apps from which we could learn, and discovered there is a fork of Signal, wherein they -- unsurprisingly -- had this same bug. However, in their issue they report that the stock OmniROM Messages app cured their woes by updating the rom's APN configuration. So I believe it's plausible that the users for whom this doesn't work are on an old rom that just outright advertises incorrect MMS settings for their carrier.

This issue has been plaguing me as of April 2017 at least!

I'm on a Galaxy S7 and the Verizon network. It seems to almost always happen when I send a message at the same time as I am receiving messages from one or more people in the MMS group. That combination throws everything into limbo for a while. Eventually (sometimes up to an hour?) later, everything is downloaded and i'm bombarded with a massive amount of messages that have been queuing up since the time the original error occurred.

This is by far the biggest problem Signal has and why i'm reluctant to recommend it. Thankfully MMS messages are not common for me so I can text 90% of the time just fine.

Here are my logs:
https://debuglogs.org/0ac6d9bd7352c9ca0484576aa0d95d84257be3e2138e269ef02d7d5f7f7025e1

@mdaniel

Works for me

Oneplus 6t
OxygenOS 9.0.16
Verizon

Stock signal failed, same as everyone else.

Apologies, which "works for you?" A local build, or the Signal release v4.48.4 that contained the fix?

Sorry. The apk posted. Shows v4.47.6 on my phone

v4.48.4 resolves the MMS issues for me.

Blackberry Key2LE on Verizon, CDMA-less

The APK posted by @lahma69 worked for me. Checked the beta branch on the play store (v4.48.10) and it didn't work. Don't know if this fix was pushed to release/beta but the fix worked for me too.

ONEplus 6t Verizon CDMA-less

Holy shit finally a fix, @lahma69 all worked on my Galaxy fold on Verizon and is the only way I was able to get group texting to work. I really hope this fix gets put into the actual version that's on the play store.

Checked the beta branch on the play store (v4.48.10) and it didn't work. Don't know if this fix was pushed to release/beta but the fix worked for me too.

It was specifically rolled back and that commit went out in v4.48.5 (relevant comment on this bug)

I lobbied for a toggle that would enable leaving the code in, but switching it off for most users, but so far no response

It would be super ironic if this was the thing that finally got Signal builds into F-Droid, just so it had an alternative distribution mechanism that would allow for the application of this patch.

As before, I'm also glad to help anyone get a CircleCI build of Signal going, if you want to track upstream builds without trusting random APKs

I was able to find an apk with a working fix at
https://github.com/signalapp/Signal-Android/issues/8571, though using this
means no updates

On Fri, Oct 4, 2019, 13:49 mdaniel notifications@github.com wrote:

Checked the beta branch on the play store (v4.48.10) and it didn't work.
Don't know if this fix was pushed to release/beta but the fix worked for me
too.

It was specifically rolled back
https://github.com/signalapp/Signal-Android/commit/5805539deb6118a45258450f64d64da8ebfdaedd
and that commit went out in v4.48.5
https://github.com/signalapp/Signal-Android/compare/v4.48.4...v4.48.5 (relevant
comment on this bug
https://github.com/signalapp/Signal-Android/issues/8571#issuecomment-536040477
)

I lobbied for a toggle that would enable leaving the code in, but
switching it off for most users, but so far no response

It would be super ironic if this was the thing that finally got Signal
builds into F-Droid, just so it had an alternative distribution mechanism
that would allow for the application of this patch.

As before, I'm also glad to help anyone get a CircleCI build of Signal
going, if you want to track upstream builds without trusting random APKs


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/signalapp/Signal-Android/issues/8571?email_source=notifications&email_token=AA2IPIHY6EY4UQV3RK7ZAVTQM6M6LA5CNFSM4GS3UAQ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAMWY2I#issuecomment-538537065,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA2IPIEGPVARTFKB3MK6CZTQM6M6LANCNFSM4GS3UAQQ
.

Getting this fixed would be a major win for me. This issue has been hitting me for years.

I'm also having this issue with non-signal users on Android with Google Fi.

Still experiencing this issue on Android 10 with Google Fi as well.

Happy to say that the @lahma69 @mdaniel fix is working for me on my Pixel 3a xl on the visible (verizon) network!

First, a quick note: I'm glad the APK I posted is helping some of y'all to have a temporary working solution, but FYI, I definitely deserve no credit for the fix, I literally just built an APK with the exact code changes suggested by @mdaniel.

I've been incognito for a week or so, so I missed the development of these changes actually being rolled out to the beta and then subsequently being reverted. That is both hopeful and disappointing...

Ah, well, discovered that commit isn't foolproof. Gonna revert it. Breaks downloads for some people who have that "append transaction id" flag set. More research will have to be done to figure out exactly what's happening here.

Hey @greyson-signal, could you give us some input on what kind of configs (phone/carrier) that the patch was causing problems for (or possibly a link to where this has already been discussed)? My understanding is that you're saying for some people, their MMS was working fine before the patches (not affected by #8571), when the following was being used:

smsManager.downloadMultimediaMessage(getContext(),
contentLocation,
pointer.getUri(),
null,
getPendingIntent());

but then, after the patches, even though smsManager.getCarrierConfigValues().getBoolean(SmsManager.MMS_CONFIG_APPEND_TRANSACTION_ID) was returning a true value for these users, appending Util.toIsoString(transactionId) to contentLocation and/or replacing the null value with smsManager.getCarrierConfigValues() was causing their MMS to stop working?

Do we know if contentLocation ended with "message-id=" in those cases or was perhaps the message id already appended? Also, is it possible that these users were perhaps using custom roms that have implemented changes to resolve this issue and perhaps those changes could be conflicting with the changes made to Signal?

As @mdaniel suggested, it would be awesome if these changes could at least be implemented on a provisional basis with some type of non-default/hidden toggle, manual config value change, drop-in file, or something else. I can't see any downsides or negatives to that approach.

Using the playstore build.

Same issue with Google Pixel 1 , Android 9/Pie, on Verizon network.

Doesn't happen all of the time though. Some non-signal users are able to send me MMS messages (picture or group text messages), just fine.

We are having the same issue. I moved my wife back to the standard Android Messages app as she was missing important information. When MMS messages are sent by non-Signal users, we see no indication that anything has been received or that any issue has occurred.
Signal: v4.48.17
OS: Android 10
Phone: Pixel 3
Carrier: Google Fi
For us, the issue _may_ have started with the update to Android 10 that we received a couple weeks ago.
It's very disappointing that this issue has been going on for some time and still the cause is evidently not well understood.

@JChristensen I was having your exact issues, same phone and carrier and MMS did appear to stop working right around the time of the Android 10 release but as no messages were coming through it's hard to pinpoint exactly when they stopped working. However, I was able to get MMS messages somewhat working by toggling the "Use SIM" control under "Mobile Network" in the settings panel but it only partially solved my issues. Just yesterday I received an SMS from someone but the MMS which was sent first was received many hours later. As such, I'm not 100% positive that MMS is actually working even with the delays.

It's very frustrating, I've been a signal user for a very long time now and this issue has been making me contemplate switching back to stock Android messages.

It really is ashamed that we having a working fix for this yet have no way for users to take advantage of it outside of using a modified APK. It appears that the problem is really becoming widespread now that many manufacturers are pushing out Android 10 updates. Hopefully we hear back from @greyson-signal sometime soon. It would be great to get answers to some of my previously posted questions, if only to satiate my curiosity.

There was a fresh debug log submitted yesterday in a reddit thread that also experienced the issue, and in that user's case the bug only materialized when they upgraded their _phone_, not their carrier. I would guess the new phone came with a different version of Android (listed as Android 9 in the debug log) and maybe Android 9 and upward doesn't behave correctly with Signal without this fix/work-around

I would be glad to do the legwork of moving the fix into a preference panel or whatever, if I knew it would be accepted, but the radio silence on this issue doesn't give me confidence

Ya, from everything I've seen thus far, the issue appears to be exclusive to Android 9 and Android 10. I haven't seen a single example of the problem happening on any phone with Android 8 or lower (though please correct me if any of you have seen otherwise). I started experiencing the issue immediately after switching from my Nexus 6P running Android 8 to my new OnePlus 7 Pro running Android 9 (same carrier, line, and SIM on both phones).

The apparent lack of resolve in implemententing any fix or temporary workaround after such an extensive period of time does cause a bit of apprehension and concern for the long-term health of Signal.. And then the fact that there really is no viable replacement or alternative causes me even more concern. I've probably been one of the biggest and longest-time proponents and supporters of Text Secure/Signal, and I'm sure my family and friends are sick of hearing me drone on about the need to install it, how easy it is, and how unique it is from a security perspective. I hope this instance ends up just being a temporary lapse in what has otherwise been a stellar product with stellar developers.

By the by, I've been thinking about trying to create a Magisk module (or EdXposed module) to patch this issue without the need for installing a patched signal APK. I wonder if there would be many people who would make use of such a thing (being that you obviously would need to have root).. I imagine a lot of people in the Android dev/customization community use Signal and are on a more recent version of Android than the average user so perhaps it would attract a moderate number of users. Just thinking out loud here..

I'd definitely be interested in a Magisk module.

What phone and Android OS are you running? If anyone else would be interested in a Magisk module, let me know, and I might try to make it happen.

Android 10. Pixel 3 XL

I just now learned there was a _debug log_ of these alleged MMS problems with the patched version, and in it is the one thing that has been causing us 23 days of thrashing in the comments just because no one (a) read the log messages (b) advised this thread there was any such debug log so _we_ could read the log messages

The cited user's problem is just blatantly obvious:

09-27 10:30:35.763 29170 29259 I IncomingLollipopMmsConnection: Downloading subscriptionId=1 multimedia from 'http://69.78.81.38/servlets/mms?message-id=01B9BE0165F90000A010000B09' [transactionId='01B9BE0165F90000A010000B09'] to 'content://org.thoughtcrime.provider.securesms.mms/mms/1569598235763'
09-27 10:30:35.767 29170 29170 I ConversationFragment: onLoadFinished - took 7975 ms to load a cursor of size 72
09-27 10:30:35.768 29170 29259 I IncomingLollipopMmsConnection: Appending transactionId to contentLocation at the direction of CarrierConfigValues. New location: http://69.78.81.38/servlets/mms?message-id=01B9BE0165F90000A010000B0901B9BE0165F90000A010000B09

So, the CarrierConfigValues is misconfigured but is apparently misconfigured in a predicable way, such that if contentLocation.endsWith(transactionIdStr) is true, then juust skip appending the message-id. That is, by definition, a safe work-around to take since MMS_CONFIG_APPEND_TRANSACTION_ID has requested that the transactionId should be _appended_ to the contentLocation, and thus if the contentLocation ends with the transactionId, then the end result is the same as if Signal had taken that action.

TWENTY THREE DAYS for one if statement.

@@ -79,11 +81,21 @@ public class IncomingLollipopMmsConnection extends LollipopMmsConnection impleme
       } else {
         smsManager = SmsManager.getDefault();
       }
+      final Bundle configOverrides = smsManager.getCarrierConfigValues();
+
+      if (configOverrides.getBoolean(SmsManager.MMS_CONFIG_APPEND_TRANSACTION_ID)) {
+        if (contentLocation.endsWith(transactionIdStr)) {
+          Log.i(TAG, "Skipping 'append transaction id' as contentLocation already ends with it");
+        } else {
+          Log.i(TAG, "Appending transactionId to contentLocation at the direction of CarrierConfigValues");
+          contentLocation += transactionIdStr;
+        }
+      }

       smsManager.downloadMultimediaMessage(getContext(),
                                            contentLocation,
                                            pointer.getUri(),
-                                           null,
+                                           configOverrides,
                                            getPendingIntent());

       waitForResult();

TWENTY

THREE

DAYS

@mdaniel Hey there, thanks for continuing to look into this! It's very appreciated. I've got a version of this fix going out in 4.49.4.

Apologies for the oversight of not cross posting logs and stuff. Unfortunately my mind is always split between the various Github, Forum, and Reddit issues (as well as the various features I'm working on), and that does sometimes lead to things slipping. I assure you it's not a result of malice, but just me being human. I encourage you to remind yourself of the human-ness of others when communicating online. I know this bug is frustrating, but hopefully this time around we'll get it for good :)

4.49.4 works for me on android 9. Oneplus 7 pro Verizon rooted.

Thanks for the fix guys. I've been using a different app for everyone but 1 person(she uses signal) for the last while. Signal is just so much better than any other msg apps.

again, fwiw, this fix doesn't touch #9013 (for me anyway still no group MMS on 4.49.4).

also, @greyson-signal, totally agree about remembering human-ness. ...and there are bugs and bugs. This and #9013 are show-stoppers for a LOT of people trying to use signal. You see a truly tiny number of bug reports compared to the number of people having issues. Out of all the contacts in my address book who use signal - 90% of whom use it because i strong-armed them into it - only one has a github account and has even the vaguest understanding of what "open source" means. You aren't getting any bug reports at all from these people. I am getting one (one single bug report) from each of them letting me know that they missed receiving an important text once or twice using signal so they have now switched back to the stock texting app that came on their phone.

It's more than just frustrating - it gets into "crazy-making" - when you have a show-stopping bug in an app that you really depend on (for me and i assume many, I'd put Signal in this category) and the core developers don't seem to be taking very seriously the fact that it is making the app un-usable for people. In my reality, bugs like these should put all feature development on hold until they are fixed.

The upgrade did not work for me. I'm on Verizon running Android 9 on an HTC 12.

@ajknows Are you using Google Fi?

The upgrade did not work for me. Tmobile on a One Plus 6

@ajknows @gone Debuglogs, please.

Not working for me either. Pixel 3, Android 10, Google Fi.

https://debuglogs.org/3575fde0d0aafe8cfd41bfbd474ebf0ecff7963d22c2222f5d985c3431759ab9

This part seems pertinent to a group text I attempted to send. Im not familiar with SMS/MMS protocols but the HTTP status code of -1, seems fishy to me.

2019-10-21 14:38:41.855 EDT I SendJob: Starting message send attempt
2019-10-21 14:38:41.857 EDT I MmsSendJob: Sending message: 6358
2019-10-21 14:38:41.866 EDT I CompatMmsConnection: Sending via Lollipop API
2019-10-21 14:38:41.867 EDT I MmsBodyProvider: openFile(content://org.thoughtcrime.provider.securesms.mms/mms/1571683121867, w)
2019-10-21 14:38:41.867 EDT I MmsBodyProvider: Fetching message body for a single row...
2019-10-21 14:38:41.867 EDT I MmsBodyProvider: returning file /data/user/0/org.thoughtcrime.securesms/cache/1571683121867.mmsbody
2019-10-21 14:38:41.869 EDT D JobSchedulerScheduler: onStartJob()
2019-10-21 14:38:41.870 EDT D JobSchedulerScheduler: onStartJob()
2019-10-21 14:38:42.122 EDT I MmsBodyProvider: openFile(content://org.thoughtcrime.provider.securesms.mms/mms/1571683121867, r)
2019-10-21 14:38:42.123 EDT I MmsBodyProvider: Fetching message body for a single row...
2019-10-21 14:38:42.123 EDT I MmsBodyProvider: returning file /data/user/0/org.thoughtcrime.securesms/cache/1571683121867.mmsbody
2019-10-21 14:38:42.353 EDT D JobSchedulerScheduler: jobFinished()
2019-10-21 14:38:42.354 EDT D JobSchedulerScheduler: jobFinished()
2019-10-21 14:38:42.915 EDT I LollipopMmsConnection: onReceive()
2019-10-21 14:38:42.915 EDT I OutgoingLollipopMmsConnection: HTTP status: -1
2019-10-21 14:38:42.916 EDT I OutgoingLollipopMmsConnection: MMS broadcast received and processed.
2019-10-21 14:38:42.916 EDT I MmsSendJob: Comparing: 54 31 36 64 65 66 39 64 33 61 63 31 
2019-10-21 14:38:42.917 EDT I MmsSendJob: With:      54 31 36 64 65 66 39 64 33 61 63 31 
2019-10-21 14:38:42.935 EDT I MmsSendJob: Sent message: 6358
2019-10-21 14:38:42.936 EDT I SendJob: Message send completed

Same here on fi, but I think the google fi problems might be something else https://github.com/signalapp/Signal-Android/issues/9013

I just now learned there was a _debug log_ of these alleged MMS problems with the patched version, and in it is the one thing that has been causing us 23 days of thrashing in the comments just because no one (a) read the log messages (b) advised this thread there was any such debug log so _we_ could read the log messages

Wow.. That is a bit frustrating.. Especially since my 3rd or 4th previous post hypothesized that this was exactly the problem...

Do we know if contentLocation ended with "message-id=" in those cases or was perhaps the message id already appended?

I guess at least it is fixed now.. well, at least for a portion of users. I'm curious if the fix not working for some people like @ajknows and @gone is still related to this issue or if its is an entirely different issue. It definitely appears that Google Fi users' problems are related to a different issue ( #9013 ). I took a quick look at that thread and it appears that that issue is possibly even more elusive...

Thanks again for all your hard work on this issue @mdaniel.

Still having the same issue.
Samsung S9, Android 9.
Signal version 4.49.9
Had been working for a couple weeks, and suddenly started happening again.

Very frustrating, makes the application nearly unusable.

As a friendly reminder, it is almost impossible to help without debug logs

And if yours _was_ working, then spontaneously stopped without you changing phone, Android version, or Signal install, I would hazard a guess that you are a Google Fi subscriber and thus are more likely impacted by #9013 than this issue

As a friendly reminder, it is almost impossible to help without debug logs

And if yours _was_ working, then spontaneously stopped without you changing phone, Android version, or Signal install, I would hazard a guess that you are a Google Fi subscriber and thus are more likely impacted by #9013 than this issue

When I posted this it has been some time since someone tried to send me an MMS. When the next one comes in, I'll capture the debug log.

I am an ATT user.
I have Signal on Auto-Update, from the google play store. This issue was occurring with a previous version, then cleared itself for about a month (possibly a different signal version, i wasn't tracking at that point). 2 days ago, it started again.

I was (until today) also signed up to be a beta tester for signal. I thought maybe a beta version was causing my problems, so I unjoined. Only then did I find out that the Signal v4.49.9 was released officially Yesterday, 10/24/19.

https://debuglogs.org/17e87d43422e973f475be24850c887ac3e5a61f447e6c3a427e2aaed0e32d19e

Thank you for the debug logs!

HTTP 412

Regrettably, I can't tell if the SmsManager is honoring the MMS Proxy required by your APN settings; only IncomingLegacyMmsConnection seems to have any mention of APN proxy settings, but the debug logs are missing many of the log messages I would have expected to see during that "compat" flow, and (even worse) the line numbers mentioned in the stack trace are nonsense

I think all of that code needs to have its error handling tightened up, otherwise these MMS bugs are going to continue to be "who knows" as the only reply

No.

On October 21, 2019 1:33:07 PM CDT, Geoff Aumaugher notifications@github.com wrote:

@ajknows Are you using Google Fi?

--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/signalapp/Signal-Android/issues/8571#issuecomment-544647423

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

So no hope for a quick fix?

On Fri, Oct 25, 2019, 19:28 mdaniel notifications@github.com wrote:

Thank you for the debug logs!

HTTP 412

Regrettably, I can't tell if the SmsManager is honoring the MMS Proxy
required by your APN settings; only IncomingLegacyMmsConnection seems to
have any mention of APN proxy settings, but the debug logs are missing many
of the log messages I would have expected to see during that "compat" flow,
and (even worse) the line numbers mentioned in the stack trace are nonsense

I think all of that code needs to have its error handling tightened up,
otherwise these MMS bugs are going to continue to be "who knows" as the
only reply


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/signalapp/Signal-Android/issues/8571?email_source=notifications&email_token=ANS7MRNRRIYG674VINDWDTLQQOMK7A5CNFSM4GS3UAQ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECJ4SKY#issuecomment-546556203,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANS7MROTZYXW5DR3PTTHZC3QQOMK7ANCNFSM4GS3UAQQ
.

It's now working again for me on signal 4.49.10 with the slight UI change!

Carrier: Verizon
Phone: Samsung Galaxy S8 Unlocked (GSM only, no CDMA)
OS: Android 9
Signal: 4.49.10

This issue has plagued me for years until this update. Curiously I can't download any old MMS, but they are all over a week old. All new messages are working and are pretty fast. I'll test groups shortly also.

Another debug log.
This is a group chat. I think the other party is using Facebook Messenger.
These may be him reacting to a message I sent. (i.e. User "liked" the comment {message}).

https://debuglogs.org/31816d4e3b637617100a27a06dc397317adc4ed7327a5ef92df9206b0244242c

Well, _that's weird_; there are two different kinds of URLs, some with ?msgid= and some without:

$ grep -Eo 'http://.*transactionId'
http://166.216.138.62:8002/?msgid=HC09AT0023d4adaefbb3af00' [transactionId
## >8 --snip -- >8
http://166.216.166.67:8006/1026022852600010000050007' [transactionId

although there is only one hostname and URL scheme that fails with HTTP status: 412:
http://166.216.198.5:8... (although the port number differs)

So short of maybe introducing some retry logic, I actually don't believe your situation is a systemic software bug _(again, setting aside the retry discussion)_

Are you experiencing 100% MMS send and receiving failure, or just sometimes?


I doubt it's related to your failures, because they are not accompanied by any Exception, but I also wonder what is up with a HTTP status of -1?

$ grep -o .....ingLol.*status:.-1 | sort | uniq -c
  21 IncomingLollipopMmsConnection: HTTP status: -1
  30 OutgoingLollipopMmsConnection: HTTP status: -1

as another aside:

10-27 11:03:12.675 27425 27425 V InputMethodManager: getMaxLengthForEditText InputFilter = java.lang.NoSuchMethodException: org.thoughtcrime.securesms.components.emoji.EmojiFilter.getMaxLength []

NoSuchMethodException is probably no good, but I doubt it is related to this issue

Issue is not 100% of the time.

Is there another big I should be posting on?

On Sun, Oct 27, 2019, 21:13 mdaniel notifications@github.com wrote:

Well, that's weird; there are two different kinds of URLs, some with
?msgid= and some without:

$ grep -Eo 'http://.*transactionId'http://166.216.138.62:8002/?msgid=HC09AT0023d4adaefbb3af00' [transactionId## >8 --snip -- >8http://166.216.166.67:8006/1026022852600010000050007' [transactionId

although there is only one hostname and URL scheme that fails with HTTP
status: 412:
http://166.216.198.5:8... (although the port number differs)

So short of maybe introducing some retry logic, I actually don't believe
your situation is a systemic software bug (again, setting aside the
retry discussion)

Are you experiencing 100% MMS send and receiving failure, or just

sometimes?

I doubt it's related to your failures, because they are not accompanied by
any Exception, but I also wonder what is up with a HTTP status of -1?

$ grep -o .....ingLol.*status:.-1 | sort | uniq -c 21 IncomingLollipopMmsConnection: HTTP status: -1 30 OutgoingLollipopMmsConnection: HTTP status: -1

as another aside:

10-27 11:03:12.675 27425 27425 V InputMethodManager:
getMaxLengthForEditText InputFilter = java.lang.NoSuchMethodException:
org.thoughtcrime.securesms.components.emoji.EmojiFilter.getMaxLength []

NoSuchMethodException is probably no good, but I doubt it is related to
this issue


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/signalapp/Signal-Android/issues/8571?email_source=notifications&email_token=ANS7MRLZZHC2DYOZCWFXU2LQQZKGFA5CNFSM4GS3UAQ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECLR6EA#issuecomment-546774800,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANS7MRIKTDG2M2NF5E3VGSTQQZKGFANCNFSM4GS3UAQQ
.

Had the same issue, updated to 4.49.13 and still can't send to non-Signal SMS app...

Android 10
Pixel 2
Visible provider

Note the issue only happened after switching from Verizon to Visible.

https://debuglogs.org/d87a9285ae8bbd2c832d44de49be289073740c848dbaa9d9faa3e9f71427e7c0

This my second debug log in this thread. The MMS is between me and two iPhone non-signal users. I see an EOF exception and timeout exception in the log (EDIT: tons of exceptions, actually).

Android 8.0.0
Samsung Galaxy S7

https://debuglogs.org/20ac83c43a3be392e420fdb2a256427ac39ddeb687b5b87b9510c31b93de7216

I have had this issue since around mid-summer or so, 4.49.13 did not fix it. Also tried a reinstall the other day.

Oneplus 5 running MicroG Lineage / Android 9:
https://debuglogs.org/8990f2145be6d50ffbdc8e9643ee185acb52039a3808c664e84659f18b41183f

These logs look similar to what I'm seeing on 4.49.14 on Android 10 (Pixel 3, unlocked, AT&T): https://debuglogs.org/19a5547af4e018174961bedb8a4c622301b2aa112d458f7cd8ee4a906095937c

Restarting seems to resolve the issue temporarily, in the sense that I can retry previously unsuccessful downloads after a restart and finally be able to see them. A couple of relevant timestamps in the log for those unsuccessful-retry/restart/successful-retry sequences:

  • Group MMS:

    2019-11-01 10:09:13.304 CDT I IncomingLollipopMmsConnection: Downloading subscriptionId=1 multimedia from 'http://166.216.198.5:8005/1101150913500007000060002' [transactionId='A31101150913500007000060002'] to 'content://org.thoughtcrime.provider.securesms.mms/mms/1572620953304'
    
    • Initial broadcast: 2019-11-01 10:09:12.977 CDT

      • Resulting org.thoughtcrime.securesms.mms.MmsException: 2019-11-01 10:09:27.880 CDT

    • Unsuccessful download attempt: 2019-11-01 10:32:36.840 CDT

      • Resulting org.thoughtcrime.securesms.mms.MmsException: 2019-11-01 10:32:51.325 CDT

    • Unsuccessful download attempt: 2019-11-02 09:29:19.015 CDT

      • Resulting org.thoughtcrime.securesms.mms.MmsException: 2019-11-02 09:29:33.862 CDT

    • Opened Signal after restarting phone: 2019-11-02 09:30:52.661 CDT
    • Successful download attempt, shortly after a restart: 2019-11-02 09:30:57.028 CDT

      • Received and processed: 2019-11-02 09:31:01.257 CDT

  • Long message (one sender, one recipient):

    2019-11-02 11:51:33.413 CDT I IncomingLollipopMmsConnection: Downloading subscriptionId=1 multimedia from 'http://166.216.198.5:8013/1102165130500032000010000' [transactionId='AB1102165130500032000010000'] to 'content://org.thoughtcrime.provider.securesms.mms/mms/1572713493400'
    
    • Initial broadcast: 2019-11-02 11:51:32.619 CDT

      • Resulting org.thoughtcrime.securesms.mms.MmsException: 2019-11-02 11:51:48.178 CDT

    • Unsuccessful download attempt: 2019-11-02 11:52:49.080 CDT

      • Resulting org.thoughtcrime.securesms.mms.MmsException: 2019-11-02 11:53:03.778 CDT

    • Opened Signal after restarting phone: 2019-11-02 11:53:44.346 CDT
    • Successful download attempt, shortly after a restart: 2019-11-02 11:53:47.531 CDT

      • Received and processed: 2019-11-02 11:53:48.957 CDT

I've seen this sporadically before, I think, but it really didn't happen with any regularity until this past Tuesday (Oct. 29), a few hours after 4.49.13 was tagged in this repo. (I don't know whether I was running that version at that time and am not sure how to find out, but the timing is interesting.)

I opened a new issue that appears to have been a duplicate of this. @greyson-signal I'd like to see about getting this issue reopened, as it appears to still be a problem. I'm including the information from my issue below. In addition, I went back through all my chats, and this issue appears to have started (for me) on Oct 22nd 2019, and is still present as of version 4.49.15. I also failed to note that I'm on AT&T in my original issue.


Bug description

Starting recently, I have been unable to receive a majority of MMS messages I recieve. They display "Error downloading MMS message, tap to retry", but never successfully complete on retry. The symptoms appear similar to bug 9013, but the error in the logs appears to be different. It appears as though signal is failing to save the message body correctly, as the java stacktrace fails with an java.io.FileNotFoundException: open failed: ENOENT (No such file or directory)

Device info

Device : asus ASUS_I001DC (WW_I001D) [Asus ROG Phone II]
Android : 9 (16.0631.1908.21-0, PKQ1.190414.001.WW_Phone-16.0631.1908.21-0)
ABIs : arm64-v8a, armeabi-v7a, armeabi
Memory : 21M (47.09% free, 768M max)
Memclass : 560
OS Host : mcrd1-28
First Version: 542
App : Signal 4.49.13 (5602)

Link to debug log

https://debuglogs.org/e23f24d396f05ad7af95f416807d1cac7d4a51cf737056cd7d7dfce7b1324ece

I know this is closed, but I am still seeing the same issue.

Bug Description

I am unable to download MMS messages that are part of a group message when they are coming from a non-signal user. Sometimes I can restart my phone and get the MMS message to download, but not always.

I see a few errors that have been previously reported, which is why I'm adding to this thread:

java.io.FileNotFoundException: open failed: ENOENT (No such file or directory)

This started happening to me about 5 days ago. Before that, I did not notice any problems. I've gotten a few updates to my app since then but still have the same issue.

Device info

Galaxy S10, AT&T

Device : samsung SM-G973U (beyond1qltesq)
Android : 9 (G973USQU2BSIP, PPR1.180610.011.G973USQU2BSIP)
ABIs : arm64-v8a, armeabi-v7a, armeabi
Memory : 45M (38.49% free, 512M max)
Memclass : 256
OS Host : 21HHA414
First Version: 546
App : Signal 4.49.14 (5612)

Link to debug log

https://debuglogs.org/23a8b51d6a27b891a7523395b43b4bcd2a7d193072e5e7c1b80a0293806009c0

IncomingLollipopMmsConnection: HTTP status: -1
IncomingLollipopMmsConnection: HTTP status: 412

@thinkbrown and @mrnohr seem to be both affected by HTTP 412, and @myersjustinc seems to be mostly HTTP -1 and occasionally HTTP 412, @angela-d is in the exclusively HTTP -1 camp; the very bad news is that due to a quirk of fate, there is a mobile carrier named "412" so trying to search for other folks in the world experiencing HTTP 412 status codes for MMS exchanges with AT&T is damn near impossible.

I do appreciate how frustrating it is that Signal doesn't play nice-nice with MMS for AT&T users, but I also don't know that it's helpful for this bug to become the catch-all "MMS no worky" issue; it was originally opened with a verizon carrier, and that's the fix that was applied. I would be on-board with renaming this one to "Verizon MMS Receiving ..." and then rename 9153 to indicate its AT&T-specificity. As very best I can tell, AT&T is a snowflake here due to its use of an MMS proxy; I _believe_ Signal has special casing for that situation, but all the Lollipop & Compat code flows make it hard to state that with 100% certainty

Without access to an AT&T plan, I can't fiddle around in the same way I could with a Verizon plan, so figuring out what is going on with those bizarre HTTP status codes will take either Signal themselves getting a plan on AT&T, or some kind determined android-savvy user on AT&T building Signal and fiddling around, just like how we found the fix for Verizon.

It is also possible to up the logging verbosity for the MMS subsystem, but that change would go out to everyone and would require almost constant resubmission of debuglogs, which is a painful experience for all involved


I forgot to say thank you to everyone who submitted debug logs, it really is very helpful, and you're making the troubleshooting experience that much easier for the person who ultimately does take on the fix

@mdaniel Thanks so much for the context and the understanding. I wasn't aware of #9153 or the different response codes involved.

I understand that having a closed ticket related to a Verizon-specific bugfix turn into a catch-all issue might not be particularly helpful; let me know if it'd help for me to add my logs and such to #9153 instead, or whether there's something else I can do or provide that'd be useful.

I doubt I know enough to dig in and actually help implement a fix, but if there are any sort of debug builds that'd be helpful for me to run instead, I'm happy to do so.

@mdaniel I too appreciate the additional context. Perhaps verbose MMS logging could become an option in the Advanced menu in beta builds?

I'm more than happy to try and assist with debugging this, but I'm pretty unfamiliar with Android development.

Just wanted to pitch in since I also started experiencing this bug recently (on AT&T).

Bug Description

Starting around October 26, I have been having troubles getting MMS messages in a group chat I am part of. A temporary fix I have found is tap to retry and immediately restart my phone while it tries to retrieve the message.

Device info

Galaxy S10+, AT&T

Device : samsung SM-G975U1 (beyond2qlteue)
Android : 9 (G975U1UES2BSIV, PPR1.180610.011.G975U1UES2BSIV)
ABIs : arm64-v8a, armeabi-v7a, armeabi
Memory : 39M (41.69% free, 512M max)
Memclass : 256
OS Host : SWDH4606
First Version: 546
App : Signal 4.49.15 (5622)

Link to debug log

https://debuglogs.org/4b7c519b44079552b09f39ed3c6718a9c4a8f802f709eed65817b31f97ea1285

Can we get this re-opened or should I open another issue? I am on Verizon and it is still not working after upgrading to Android 10.

The modded APK previously posted in this was working on my Verizon Android 9 OnePlus 6t perfectly. My OnePlus 6t recently upgraded to Android 10 and both the modded APK and Google Play Store APK do not work. Since I am on Verizon my OnePlus 6t is on their CDMA_less SMS/MMS.

Group and Picture messages work fine through the default Android Messenger.

Debug log attached. Nov 6th 12:07pm is when trying to receive a group message.

https://debuglogs.org/ec22ce6282d942fa0542d00df9e6930bc64b66a5b361511edeb165f8dd0aed3d

Same situation as @EngineerFaunce.

OnePlus 7T on AT&T. His reboot fix does not work for me.

https://debuglogs.org/40ad4b99f4fa127383026c433132d240e13371423aa2e9ce5596777128eecb86

Why is this closed? This is still an issue.

Posting my debug log here instead of https://github.com/signalapp/Signal-Android/issues/9013 because I am not a Google Fi user (ATT) and continued developer attention on this bug report seems like the best way to escalate in hopes of a fix. MMS receiving continually and sporadically not working with non signal users has become a blocker for my continued use of the application.

https://debuglogs.org/a7e262939d8feb4cb8d7509ca856137e42d3a193d05ccf0908758ab8773414f9

A pattern that seems potentially related is that most reports are from users of mobile devices equipped with both GSM and CDMA receivers (with the possible exception of the ASUS_I001DC report by @thinkbrown).

  • samsung SM-G973U (unlocked only?)
  • Pixel XL (unlocked only?)
  • Pixel 2
  • OnePlus 7T
  • Moto X4
  • Moto XPE

Perhaps naive, but maybe someone with more knowledge should investigate files like these (returned from a cursory search in this repo for reference to GSM/CDMA)

Same issue on a Sony XZ 2 Compact, to add to the list

Relating to @jeinstei 's post -
I don't have any issue with Sony XZ2c with autrian provider.

Interesting- good to hear, though. I'm on an American provider. I wonder if the radios are different

@EngineerFaunce, @agmlego, @porkpuga555, @amcnicho, and all other non-Verizon users:

This issue was originally started by a Verizon user whose issue appears to be fixed, and as @mdaniel said earlier, it may be best not to turn this into a catch-all issue. Bugs with different root causes should be filed separately.

@thinkbrown: Could you reopen https://github.com/signalapp/Signal-Android/issues/9153 and include “AT&T” in the title? Thanks!

I've reopened and renamed #9153

IncomingLollipopMmsConnection: HTTP status: -1
IncomingLollipopMmsConnection: HTTP status: 412

@thinkbrown and @mrnohr seem to be both affected by HTTP 412, and @myersjustinc seems to be mostly HTTP -1 and occasionally HTTP 412, @angela-d is in the exclusively HTTP -1 camp; the very bad news is that due to a quirk of fate, there is a mobile carrier named "412" so trying to search for other folks in the world experiencing HTTP 412 status codes for MMS exchanges with AT&T is damn near impossible.

I do appreciate how frustrating it is that Signal doesn't play nice-nice with MMS for AT&T users, but I also don't know that it's helpful for this bug to become the catch-all "MMS no worky" issue; it was originally opened with a verizon carrier, and that's the fix that was applied. I would be on-board with renaming this one to "Verizon MMS Receiving ..." and then rename 9153 to indicate its AT&T-specificity. As very best I can tell, AT&T is a snowflake here due to its use of an MMS proxy; I _believe_ Signal has special casing for that situation, but all the Lollipop & Compat code flows make it hard to state that with 100% certainty

Without access to an AT&T plan, I can't fiddle around in the same way I could with a Verizon plan, so figuring out what is going on with those bizarre HTTP status codes will take either Signal themselves getting a plan on AT&T, or some kind determined android-savvy user on AT&T building Signal and fiddling around, just like how we found the fix for Verizon.

It is also possible to up the logging verbosity for the MMS subsystem, but that change would go out to everyone and would require almost constant resubmission of debuglogs, which is a painful experience for all involved

I forgot to say thank you to everyone who submitted debug logs, it really is very helpful, and you're making the troubleshooting experience that much easier for the person who ultimately does take on the fix

Are you saying if I ship you a pixel that is hooked up on AT&T you could put some serious effort into fixing this bug? This bug has been killing me for months. I am very willing to send one of the signal maintainers a phone to use and test with until this bug is fixed if that will help.

My parents have complained about this issue. They're each using AT&T with a Galaxy Note 9.

This issue should really be reopened.

@tycho @Paulieb81: As noted yesterday, there's an AT&T-specific ticket open: #9153

My question for @Cerberus0 @mdaniel and others: Should we repost our AT&T-specific info from this thread in that one? Would that be useful or would that just add noise?

@tycho @Paulieb81: As noted yesterday, there's an AT&T-specific ticket open: #9153

My question for @Cerberus0 @mdaniel and others: Should we repost our AT&T-specific info from this thread in that one? Would that be useful or would that just add noise?

@myersjustinc Thank you, I just posted my log on #9173 That one appears to be similar if not the same as #9153 . It's an issue specific to AT&T where this thread got mixed up between Verizon and AT&T. I just wanted to comment back to that dev above on this thread that said he didn't have a phone on AT&T. I'm willing to send him or another dev a phone that is live on my account to get this issue fixed asap. It's been going on for months and is super annoying.

@tycho @Paulieb81: As noted yesterday, there's an AT&T-specific ticket open: #9153

My question for @Cerberus0 @mdaniel and others: Should we repost our AT&T-specific info from this thread in that one? Would that be useful or would that just add noise?

I am on Verizon and experiencing the issue still. It worked on Android 9 but my phone upgraded to 10 and now MMS is no longer working. Oneplus 6t Verizon Android 9 debug log linked below. 12:07 is when it tried to receive an MMS.

https://debuglogs.org/ec22ce6282d942fa0542d00df9e6930bc64b66a5b361511edeb165f8dd0aed3d

@myersjustinc: Sorry, I don't have an answer to that. Linking back to the AT&T-specific comments in this thread may be enough for now.

@mdaniel

Can this be re-opened? I am on Verizon and MMS is not working for me. The fix was working when my OnePlus 6t was on Android 9 but it upgraded to 10 and MMS is broken again. Below is my debug log, scrolling down to the bottom at 12:07 is when I tried to receive an MMS.

https://debuglogs.org/ec22ce6282d942fa0542d00df9e6930bc64b66a5b361511edeb165f8dd0aed3d

Never did work for me and I am on Verizon.

https://debuglogs.org/ab498087352dd41a07f9e02cfb01ec8e93cb22b2b77195a241f3810cae0135ad

On November 13, 2019 12:04:34 PM CST, Threefifty notifications@github.com wrote:

@mdaniel

Can this be re-opened? I am on Verizon and MMS is not working for me.
The fix was working when my OnePlus 6t was on Android 9 but it upgraded
to 10 and MMS is broken again. Below is my debug log, scrolling down to
the bottom at 12:07 is when I tried to receive an MMS.

https://debuglogs.org/ec22ce6282d942fa0542d00df9e6930bc64b66a5b361511edeb165f8dd0aed3d

--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/signalapp/Signal-Android/issues/8571#issuecomment-553528699

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

This issue is really intermittent with me and my signal contacts. Sometimes it works, most times we get the MMS error when someone in the group is not a signal user. Has this been picked up in another thread?

I have a Pixel 2 on Verizon and I am unable to receive videos or gifs (a gif comes through as a picture) from non-signal users. Videos simply show a play button and if I take it, it says Error losing video. I used to have no issue with Signal receiving everything! It suddenly stopped working, I think after an Android update. If I use the Android Messages app, I can receive them just fine still, so it's clearly an issue with Signal. If I go to look at the Verizon APN, most fields, including the mms ones, say Not Set, but that are also all dithered; I cannot manually set the fields.

https://debuglogs.org/2b1182b3205cc2d67e0e9f876a507398335650baadddc760109839f3a3533ba0 NOTE: received a GIF that came through as a static image at 08:50

Bug Description

Can confirm that restarting the phone as mentioned in https://github.com/signalapp/Signal-Android/issues/8571#issuecomment-549084331 temporarily allows me to download MMS messages.

Device Info

Device : Google Pixel XL (marlin)
Android : 10 (5790879, QP1A.190711.019)
ABIs : arm64-v8a, armeabi-v7a, armeabi
Memory : 64M (20.61% free, 512M max)
Memclass : 256
OS Host : abfarm828
Refresh Rate : 60.00 hz
Average FPS : 59.45
First Version: 537
App : Signal 4.51.6 (5792)

Link to debug log

https://debuglogs.org/6b9f8c11a8a75412e942d6c9667e6b9bb9425821ea4f06c7aeeb0ae7f60f0e01

Not sure if this helps to add, but download error also occurs when receiving MMS from Google Voice numbers.

Why has this been closed? Has the Signal project been abandoned? I have a Verizon Android 10 device and an AT&T Android 9 device. Neither one works any longer.

It appears not to be a problem with Signal but 3rd party SMS/MMS apps in general. I was on One plus 6t experiencing the issue and followed this guide after updating to A10.

I followed Option A, rebooted to recovery, using TWRP cleared Dalvik/ART cache. Booted up with MMS working in Signal.

https://forum.xda-developers.com/oneplus-6t/how-to/issues-sms-mms-oos-10-try-steps-t4004641

To send test MMS messages:
https://www.twilio.com/mms

Verizon
OnePlus 6T
Android 10.3.1

Why is this closed when it is still an issue!!!!!

It has NOTHING to do with what phone or what service you use folks, (software systems engineer and UNIX Network Administrator) it is a bug within the signal app. I use Consumer Cellular with a Nokia and have same issues with MMS and lately it keeps crashing, over and over when I try to use it. Has same issues when I was with Boost with an entirely different Android phone too.

Love this app but I am about to delete it entirely. Signal developers need to fix their SH*T!!!

@hwac121 reading helps:

But you seem like an entitled person so it must be hard

"I've reopened and renamed #9153"

@aeppacher
I read the entire page here and went through all the links and tried all the steps Signal has before making my comment.
But you seem like a brain dead socialist and entitled young punk asshole so I will excuse your fucked up attitude. Next time you want to act all tough toward an old Marine that no longer gives a fuck do it in person. ;)
Feel free to delete this after reading or even ban me you little pissant. Do you live in the USA? I certainly hope not.

If you are talking about me mentioning my college degrees it was only to display the fact that I am not some 16 year old asshole that has no idea what he is talking about you fucktard. What's the matter, did I make you feel inadequate?

giphy(2)

@hwac121 Open source projects like Signal exist because people want to contribute to something for everyone's benefit. I guess it is a little bit "socialist" in that way. No one here owes you anything, so coming in here screaming about how "Signal developers need to fix their shit!" is totally inappropriate. Bringing politics into it, personal attacks, and suggesting violence are even more so.

https://medium.com/@fommil/the-open-source-entitlement-complex-bcb718e2326d

@aeppacher
I read the entire page here and went through all the links and tried all the steps Signal has before making my comment.
But you seem like a brain dead socialist and entitled young punk asshole so I will excuse your fucked up attitude. Next time you want to act all tough toward an old Marine that no longer gives a fuck do it in person. ;)
Feel free to delete this after reading or even ban me you little pissant. Do you live in the USA? I certainly hope not.

If you are talking about me mentioning my college degrees it was only to display the fact that I am not some 16 year old asshole that has no idea what he is talking about you fucktard. What's the matter, did I make you feel inadequate?

@hwac121 this kid is 14

Was this page helpful?
0 / 5 - 0 ratings