signalapp / Signal-Android

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

MMS Receiving not working with non signal users #8571

Closed aeppacher closed 4 years ago

aeppacher commented 5 years ago

Bug description

Cannot receive MMS from non signal users at all

Steps to reproduce

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

pgkdc commented 4 years ago

v4.48.4 resolves the MMS issues for me.

Blackberry Key2LE on Verizon, CDMA-less

ghost commented 4 years ago

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

vyruz commented 4 years ago

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.

mdaniel commented 4 years ago

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

vyruz commented 4 years ago

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 .

gone commented 4 years ago

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

jtsylve commented 4 years ago

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

pixiespaz commented 4 years ago

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

CincyRon commented 4 years ago

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

lahma0 commented 4 years ago

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.

Ronkn commented 4 years ago

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.

JChristensen commented 4 years ago

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.

jleider commented 4 years ago

@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.

lahma0 commented 4 years ago

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.

mdaniel commented 4 years ago

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

lahma0 commented 4 years ago

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.

lahma0 commented 4 years ago

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..

geoffro10 commented 4 years ago

I'd definitely be interested in a Magisk module.

lahma0 commented 4 years ago

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.

geoffro10 commented 4 years ago

Android 10. Pixel 3 XL

mdaniel commented 4 years ago

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

greyson-signal commented 4 years ago

@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 :)

Whitak3r commented 4 years ago

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.

pjv commented 4 years ago

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.

ajknows commented 4 years ago

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

geoffro10 commented 4 years ago

@ajknows Are you using Google Fi?

gone commented 4 years ago

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

greyson-signal commented 4 years ago

@ajknows @gone Debuglogs, please.

jleider commented 4 years ago

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
benmayne commented 4 years ago

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

lahma0 commented 4 years ago

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.

Wonkothsane commented 4 years ago

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.

mdaniel commented 4 years ago

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

Wonkothsane commented 4 years ago

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

mdaniel commented 4 years ago

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

ajknows commented 4 years ago

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.

Wonkothsane commented 4 years ago

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 .

PacketShepard commented 4 years ago

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.

Wonkothsane commented 4 years ago

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

mdaniel commented 4 years ago

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

Wonkothsane commented 4 years ago

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 .

ricchaudoir commented 4 years ago

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

AMP3D commented 4 years ago

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

angela-d commented 4 years ago

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

myersjustinc commented 4 years ago

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:

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.)

thinkbrown commented 4 years ago

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

mrnohr commented 4 years ago

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

mdaniel commented 4 years ago

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

myersjustinc commented 4 years ago

@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.

thinkbrown commented 4 years ago

@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.