[MMS] User does not receive a pop up asking to activate data to send message after disabling Wifi and Data

VERIFIED FIXED in Firefox 34, Firefox OS v2.0

Status

Firefox OS
RIL
VERIFIED FIXED
3 years ago
3 years ago

People

(Reporter: Johnt, Assigned: hchang)

Tracking

unspecified
2.1 S6 (10oct)
ARM
Gonk (Firefox OS)

Firefox Tracking Flags

(blocking-b2g:2.1+, firefox33 wontfix, firefox34 fixed, firefox35 fixed, b2g-v1.4 wontfix, b2g-v2.0 verified, b2g-v2.1 verified, b2g-v2.2 verified)

Details

(Whiteboard: [2.1-flame-test-run-1])

Attachments

(7 attachments, 1 obsolete attachment)

(Reporter)

Description

3 years ago
Created attachment 8478642 [details]
Message not sent

Description:
After disabling Data and Wifi the user will not receive a pop up asking to activate data to send the message.

Repro Steps:
1) Update a Flame to 20140825040204
2) Select Settings
3) Select Wi-Fi
4) Disable Wi-Fi
5) Select Cellular & Data.
6) Select valid Sim Card
7) Disable Data Connection
8) Compose a text message with an attachment.
9) Send message to contact.

Actual: After attempting to send an SMS the user receives a message saying "Message not sent, There was a problem sending the message. Please try again." The message is slightly different on the Flame 2.1 compared to the rest of the devices.

Expected: It is expected that the user will receive a pop up asking to activate data in order to send an SMS.

Environmental Variables:
Device: Flame Master 319(mb)
Build ID: 20140825040204
Gaia: e424c85eda87a40c0fa64d6a779c3fa368bf770b
Gecko: daa84204a11a
Version: 34.0a1 (Master)
Firmware Version: v123
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0

Repro frequency: 100%
Link to failed test case: https://moztrap.mozilla.org/manage/case/8941/
See attached: Screenshot,logcat.
(Reporter)

Comment 1

3 years ago
Created attachment 8478644 [details]
logcat_20140825_1502.txt
(Reporter)

Comment 2

3 years ago
This issue DOES reproduce on the Flame Master 512(mb) Open_C 2.1, Flame 2.0 319(mb), Open_C 2.0, Flame 1.4 319(mb), and Open_C 1.4

User receives the message that the sms was not sent instead of the option to enable data.

Environmental Variables:
Device: Flame Master 512(MB)
Build ID: 20140825040204
Gaia: e424c85eda87a40c0fa64d6a779c3fa368bf770b
Gecko: daa84204a11a
Version: 34.0a1 (Master)
Firmware Version: v123

Environmental Variables:
Device: Open_C Master
Build ID: 20140825040204
Gaia: e424c85eda87a40c0fa64d6a779c3fa368bf770b
Gecko: daa84204a11a
Version: 34.0a1 (Master)
Firmware Version: P821A10V1.0.0B06_LOG_DL
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0

Environmental Variables:
Device: Flame 2.0 319(mb)
Build ID: 20140825000201
Gaia: 4c8b5ced1966079086d86dec3098ecf340881306
Gecko: b0545e46d08b
Version: 32.0 (2.0)
Firmware Version: v123
User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0

Environmental Variables:
Device: Open_C 2.0
Build ID: 20140825000201
Gaia: 4c8b5ced1966079086d86dec3098ecf340881306
Gecko: b0545e46d08b
Version: 32.0 (2.0)
Firmware Version: P821A10V1.0.0B06_LOG_DL
User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0

Environmental Variables:
Device: Flame 1.4 319(mb)
Build ID: 20140825063013
Gaia: cf9d74da6653efeb43d9653e81c61aa00e693a67
Gecko: cdcb73d0febc
Version: 30.0 (1.4)
Firmware Version: v123
User Agent: Mozilla/5.0 (Mobile; rv:30.0) Gecko/30.0 Firefox/30.0

Environmental Variables:
Device: Open_C 1.4
Build ID: 20140825063013
Gaia: cf9d74da6653efeb43d9653e81c61aa00e693a67
Gecko: cdcb73d0febc
Version: 30.0 (1.4)
Firmware Version: P821A10V1.0.0B06_LOG_DL
User Agent: Mozilla/5.0 (Mobile; rv:30.0) Gecko/30.0 Firefox/30.0
QA Whiteboard: [QAnalyst-Triage?]
status-b2g-v1.4: --- → affected
status-b2g-v2.0: --- → affected
status-b2g-v2.1: --- → affected
Flags: needinfo?(ktucker)
Whiteboard: [2.1-flame-test-run-1]
Component: Gaia::SMS → RIL
It seems that the STR needs to clarify because in bug 1022850 comment 7, we saw same symptom was not reproducible in Buri 2.0/2.1.
Does that means this is not 100% reproducible or it's because that there is something not specified clearly in STR?

In addition, according to the attached log, the failure cause is that our device was not able to resolve "proxy.mobile.att.net" when only MMS data connection is established:
  08-25 15:02:22.408   313   313 I Gecko   : -@- MmsService: Failed to ensureRouting: 
  Error: Failed to resolve 'proxy.mobile.att.net', with status: 2152398878
where 2152398878 represents NS_ERROR_UNKNOWN_HOST (804B001E) defined in https://dev.mozilla.jp/localmdc/localmdc_6154.html
Please answer comment 3.
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage-]
Flags: needinfo?(ktucker) → needinfo?(jthomas)
(Reporter)

Comment 5

3 years ago
This bug does NOT reproduce on the Buri 2.1. I was only able to reproduce in the Flame and Open_C devices. 

Environmental Variables:
Device: Buri Master
Build ID: 20140825193023
Gaia: 4d1d0ea5a82cddeeab497774cfa1703639e3c7d9
Gecko: dc352a7bf234
Version: 34.0a1 (Master)
Firmware Version: v1.2device.cfg
QA Whiteboard: [QAnalyst-Triage-] → [QAnalyst-Triage?]
Flags: needinfo?(jthomas) → needinfo?(ktucker)
Give an actual result please.
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage-]
Flags: needinfo?(ktucker) → needinfo?(jthomas)
(Reporter)

Comment 7

3 years ago
Buri 2.1 sends MMS successfully with Data and WiFi disabled. No pop up whatsoever is displayed.
QA Whiteboard: [QAnalyst-Triage-] → [QAnalyst-Triage?]
Flags: needinfo?(jthomas) → needinfo?(ktucker)
Summary: [SMS] User does not receive a pop up asking to activate data to send message after disabling Wifi and Data → [MMS] User does not receive a pop up asking to activate data to send message after disabling Wifi and Data
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker)
From comment 5, it seems to be device-specific issue.

set qawanted to have adb logcat & tcpdump for both Buri Master and Flame Master for further comparison:
https://github.com/bevis-tseng/Debug_Tools

Thanks!
Assignee: nobody → btseng
Keywords: qawanted
QA Contact: aalldredge
Created attachment 8483614 [details]
adb-logcat-Flame.txt
Created attachment 8483615 [details]
tcpdump-Flame.pcap
Created attachment 8483616 [details]
adb-logcat-Buri.txt
Created attachment 8483617 [details]
tcpdump-Buri.pcap
I have attached the adb logcat and tcpdump from Buri Master and Flame Master.

Environmental Variables:
Device: Buri Master
BuildID: 20140818072913
Gaia: ba1992f2addc5a84afc2eab426f222a6bf2962ba
Gecko: bf27e27c994d
Version: 34.0a1 (Master)
Firmware: v1.2device.cfg
User Agent: Mozilla/5.0 (Mobile; rv:33.0) Gecko/33.0 Firefox/33.0

Device: Flame Master
BuildID: 20140903062451
Gaia: 52670853c17fc0d3d33065c667c0ce124c93b98f
Gecko: 5e9826980be5
Version: 35.0a1 (Master) 
Firmware Version: v123
User Agent: Mozilla/5.0 (Mobile; rv:35.0) Gecko/35.0 Firefox/35.0
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage?]
Flags: needinfo?(jmitchell)
Keywords: qawanted
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmitchell)
After comparing the log in Buri and Flame, with the same setup procedure in NetworkManager/NetworkService.
The DNS is not working in Flame when only MMS connection is established:
09-03 10:17:57.830  1959  1959 I Gecko   : -@- MmsService: Failed to ensureRouting: Error: Failed to resolve 'proxy.mobile.att.net', with status: 2152398878
where 2152398878 represents NS_ERROR_UNKNOWN_HOST (804B001E) defined in https://dev.mozilla.jp/localmdc/localmdc_6154.html

[Blocking Requested - why for this release]:
This is a flame-specific issue for DNS resolving for non-internet connections like MMS when data/wifi is off.
blocking-b2g: --- → 2.1?
triage: huge impact to user experience
blocking-b2g: 2.1? → 2.1+
The DNS configuration was changed since JB.
Per offline discussion, need Henry's help to figure out how to enable DNS for non-internet connection like MMS when data/wifi are off.
Assignee: btseng → hchang
(Assignee)

Comment 17

3 years ago
Could anyone try if the following steps make it work?

1) Before sending mms, use 'adb shell ps | grep netd' to grab the pid of netd
2) Do 'adb shell setprop net.dns1.[pid of netd] 1'. For example, 'adb shell setprop net.dns1.278 1'

There is a mystery in [1] and I cannot find any equivalent operation in android.
Without setting this property, the dns internal would try to connect to 8.8.8.8 [2]
to see if ipv4 is available....

[1] http://androidxref.com/4.3_r2.1/xref/bionic/libc/netbsd/net/getaddrinfo.c#1873
[2] http://androidxref.com/4.3_r2.1/xref/bionic/libc/netbsd/net/getaddrinfo.c#399
(Assignee)

Comment 18

3 years ago
Probably [1] is the root cause...

[1] http://dxr.mozilla.org/mozilla-central/source/netwerk/dns/nsHostResolver.cpp#1150
(Assignee)

Comment 19

3 years ago
Change [1] to 

let flag = Ci.nsIDNSService.RESOLVE_DISABLE_IPV6;
gDNSService.asyncResolve(hostname, flag, onLookupComplete, Services.tm.mainThread);

to pass along |AF_INET| down to [2] may avoid the issue mentioned in comment 17.
Considering the possibility of ipv6 only hostname, we can do another DNS lookup 
with RESOLVE_DISABLE_IPV4 if the first attempt fails.

[1] http://hg.mozilla.org/mozilla-central/file/843332cc69af/dom/system/gonk/NetworkManager.js#l696
[2] http://androidxref.com/4.3_r2.1/xref/bionic/libc/netbsd/net/getaddrinfo.c#1882

Updated

3 years ago
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage+][lead-review+]
(Assignee)

Comment 20

3 years ago
I am gonna go for RESOLVE_DISABLE_IPV6 on MMS interface at this time.
It will be solved while using KK and using android_getaddrinfoforiface
to resolve MMS domain name.
(Assignee)

Comment 21

3 years ago
Created attachment 8495872 [details] [diff] [review]
Bug1058280.patch
(Assignee)

Comment 22

3 years ago
Comment on attachment 8495872 [details] [diff] [review]
Bug1058280.patch

This patch will not work for "ipv6-only" mms transaction. We might have to file a bug to track this whenever this patch lands.
Attachment #8495872 - Flags: review?(btseng)
Comment on attachment 8495872 [details] [diff] [review]
Bug1058280.patch

Review of attachment 8495872 [details] [diff] [review]:
-----------------------------------------------------------------

r+ with the follow-up bug to be created and addressed in the comment for better tracking.

Thanks! :)
Attachment #8495872 - Flags: review?(btseng) → review+
Summary the analysis here for further reference:
[Background]
1. FFOS has to set default interface to netd to support the DNS query for non-default network-interface.
   (In Android, the caller's pid to netd will be used to map the corresponding network-interface to be used. Hence, it is not needed for Android to set default interface for the DNS query of non-default interface.)
2. In KK implementation of _dns_getaddrinfo [1], when ai_family == AF_UNSPEC, and default interface is used, routing of 8.8.8.8 and 2000:: will be used to check the capability of DNS query for IPv4 and for IPv6 respectively. If None, NS_NOTFOUND will be returned directly.
[Problem]
3. For this bug, there is only MMS connection available. Hence, the default interface will be enabled with mms connection for dns query. However, the 8.8.8.8 & 2000:: is not needed for mms connection and shall not be set into its routing, so the dns query will always be rejected with NS_NOTFOUND.
[Possible Solution in the future]
4. Since |android_getaddrinfoforiface| has been provided by AOSP, we could rely on this API to support DNS query over specified interface without setting the default interface to netd for non-default data connection like MMS.

[1] http://androidxref.com/4.4.4_r1/xref/bionic/libc/netbsd/net/getaddrinfo.c#1932
(Assignee)

Comment 25

3 years ago
Created attachment 8497918 [details] [diff] [review]
Bug1058280 (r+'d, add reviewer)
Attachment #8495872 - Attachment is obsolete: true
(Assignee)

Comment 26

3 years ago
Try run:

https://tbpl.mozilla.org/?tree=Try&rev=6b7d08b66981
(Assignee)

Updated

3 years ago
Keywords: checkin-needed
https://hg.mozilla.org/integration/b2g-inbound/rev/9c5d5a074024
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/9c5d5a074024
Status: NEW → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → FIXED
Please nominate this patch for Aurora approval when you get a chance :)
status-b2g-v1.4: affected → wontfix
status-b2g-v2.2: --- → fixed
status-firefox33: --- → wontfix
status-firefox34: --- → affected
status-firefox35: --- → fixed
Flags: needinfo?(hchang)
Target Milestone: --- → 2.1 S6 (10oct)
(Assignee)

Comment 30

3 years ago
Comment on attachment 8497918 [details] [diff] [review]
Bug1058280 (r+'d, add reviewer)

Approval Request Comment
[Feature/regressing bug #]: MMS
[User impact if declined]: User cannot send mms when wifi and data is off.
[Describe test coverage new/current, TBPL]: Manual test
[Risks and why]: No
[String/UUID change made/needed]: No
Attachment #8497918 - Flags: approval-mozilla-aurora?
Flags: needinfo?(hchang)

Updated

3 years ago
Attachment #8497918 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
https://hg.mozilla.org/releases/mozilla-aurora/rev/b23b10f9a6e6
status-b2g-v2.1: affected → fixed
status-firefox34: affected → fixed
The issue is verified fixed on Flame 2.2 Master  KK (319mb) (Full Flash), Flame 2.1 KK (319mb) (Full Flash) and Flame 2.0 KK (319mb) (Full Flash)

Environmental Variables:
Device: Flame 2.2 Master  KK (319mb) (Full Flash)
BuildID: 20141012040203
Gaia: 717ad4e8b7fc10ab8248500d00ba5ba0977fa8ab
Gecko: 44168a7af20d
Gonk: 52c909e821d107d414f851e267dedcd7aae2cebf
Version: 35.0a1
Firmware: V180
User Agent: Mozilla/5.0 (Mobile; rv:35.0) Gecko/35.0 Firefox/35.0

Environmental Variables:
Device: Flame 2.1 KK (319mb) (Full Flash)
BuildID: 20141012001201
Gaia: d18e130216cd3960cd327179364d9f71e42debda
Gecko: 610ee0e6a776
Gonk: 52c909e821d107d414f851e267dedcd7aae2cebf
Version: 34.0a2 
Firmware: V180
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0

Environmental Variables:
Device: Flame 2.0 KK (319mb) (Full Flash)
BuildID: 20141012000202
Gaia: 6effca669c5baaf6cd7a63c91b71a02c6bd953b3
Gecko: 54ec9cb26b59
Gonk: 52c909e821d107d414f851e267dedcd7aae2cebf
Version: 32.0 (
Firmware: V180
User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0

Result: User DOES receive a pop up asking to activate data to send message after disabling Wifi and Data
Status: RESOLVED → VERIFIED
QA Whiteboard: [QAnalyst-Triage+][lead-review+] → [QAnalyst-Triage?][lead-review+]
status-b2g-v2.0: affected → verified
status-b2g-v2.1: fixed → verified
status-b2g-v2.2: fixed → verified
Flags: needinfo?(ktucker)
QA Whiteboard: [QAnalyst-Triage?][lead-review+] → [QAnalyst-Triage+][lead-review+]
Flags: needinfo?(ktucker)
You need to log in before you can comment on or make changes to this bug.