Closed
Bug 964974
Opened 12 years ago
Closed 12 years ago
[B2G][Airplane mode] Cannot turn on Airplane mode from Notification center during an active call
Categories
(Firefox OS Graveyard :: RIL, defect)
Tracking
(blocking-b2g:1.3+, firefox28 wontfix, firefox29 wontfix, firefox30 fixed, b2g-v1.2 unaffected, b2g-v1.3 fixed, b2g-v1.3T fixed, b2g-v1.4 fixed)
People
(Reporter: selkabule, Assigned: edgar)
References
Details
(Keywords: regression, Whiteboard: dogfood1.3 [FT:RIL])
Attachments
(4 files, 4 obsolete files)
118.11 KB,
text/plain
|
Details | |
2.45 MB,
text/plain
|
Details | |
2.46 KB,
patch
|
edgar
:
review+
|
Details | Diff | Splinter Review |
3.75 KB,
patch
|
edgar
:
review+
|
Details | Diff | Splinter Review |
Description:
The user is unable to turn on airplane mode from the notification center during an active call
Repro Steps:
1) Updated Buri V1.3
2) Receive a call from a second device
3) During the active call pull down the notification center
4) Turn on Airplane mode
Actual:
The user is unable to turn on airplane mode from the notification center during an active call
Expected:
The user should be able to turn on Airplane mode from the notification center
Environmental Variables
Device: buri V1.3 MOZ RIL
Build ID: 20140127004002
Gecko: http://hg.mozilla.org/releases/mozilla-aurora/rev/c40099a42c1f
Gaia: 25a45a836a4a21a30f63fa7b544b42e8b781180a
Platform Version: 28.0a2
Firmware Version: v1.2-device.cfg
Notes:
Repro frequency: 100%
See attached: video clip (http://www.youtube.com/watch?edit=vd&v=KGy8EyyHaDE), logcat
Reporter | ||
Comment 1•12 years ago
|
||
I also tried turning on airplane mode from the settings application, the call will terminate after about 10 seconds. Then the airplane mode will be disabled automatically
Reporter | ||
Comment 2•12 years ago
|
||
This issue does not reproduce on buri 1.2
Environmental Variables
Device: buri V1.2 MOZ RIL
Build ID: 20140127004002
Gecko: http://hg.mozilla.org/releases/mozilla-b2g26_v1_2/rev/d10e1f965d0c
Gaia: 539a25e1887b902b8b25038c547048e691bd97f6
Platform Version: 26.0
Firmware Version: v1.2-device.cfg
The user is able to turn on airplane mode from the notification center in result to kill the call immediately
status-b2g-v1.2:
--- → unaffected
Keywords: regression,
regressionwindow-wanted
Comment 4•12 years ago
|
||
(In reply to Gregor Wagner [:gwagner] from comment #3)
> I think this is a feature.
I certainly don't think so. comment 2 disproves that entirely - this worked fine on 1.2.
Comment 5•12 years ago
|
||
What should happen? Should we disconnect the call?
Comment 6•12 years ago
|
||
(In reply to Gregor Wagner [:gwagner] from comment #5)
> What should happen? Should we disconnect the call?
Technically yes, as you can't have a call active while airplane mode is active.
Comment 7•12 years ago
|
||
There's a bug here no matter what here though - the video showcases two different sets of behavior here in the notifications tray vs. settings app.
Comment 8•12 years ago
|
||
Given the fact that airplane mode pretty much always to work per certification requirements, I'm inclined to think this is a blocker, as I'm expecting to block certification.
blocking-b2g: --- → 1.3?
Comment 9•12 years ago
|
||
Salem - Can you file a separate bug for the airplane mode setting getting disabled after being enabled?
Flags: needinfo?(selkabule)
Reporter | ||
Comment 11•12 years ago
|
||
I ran into this Bug #960706 and I think the issue might be related, I’m still investigating it, if it’s not related I will follow through with a new bug.
Reporter | ||
Updated•12 years ago
|
Flags: needinfo?(selkabule)
Comment 12•12 years ago
|
||
Based on today's triage it seems like this feature was in 1.2 but now not working in 1.3. I think that since no new behavior was spec-ed , we should return to the 1.2 capability.
Flags: needinfo?(firefoxos-ux-bugzilla)
Comment 13•12 years ago
|
||
I can't reproduce on Inari with Gecko master.
Comment 14•12 years ago
|
||
In the log, I see:
01-28 11:45:58.359: E/GeckoConsole(134): [JavaScript Error: "this._processNextMessage is not a function" {file: "jar:file:///system/b2g/omni.ja!/components/RadioInterfaceLayer.js" line: 672}]
That's not very cool :(. Could it be in fact a RIL bug ?
Comment 15•12 years ago
|
||
I don't reproduce this on Inari with v1.3 :(
Comment 16•12 years ago
|
||
But I do reproduce this on v1.3 with Buri.
Assignee: nobody → lissyx+mozillians
Comment 17•12 years ago
|
||
E/GeckoConsole( 743): Content JS ERROR at app://communications.gaiamobile.org/dialer/js/telephony_helper.js:123 in errorCB: Unexpected error: UnspecifiedError
Comment 18•12 years ago
|
||
I'm not sure that I actually really reproduce this issue ; in my case, the call is always correctly stopped.
Assignee: lissyx+mozillians → nobody
Keywords: qawanted
Updated•12 years ago
|
Keywords: regressionwindow-wanted
Updated•12 years ago
|
QA Contact: mvaughan
Reporter | ||
Comment 19•12 years ago
|
||
I've just retested this again, still can repro but apparently there are should be preconditions:
- my WiFi is off on device (the issue does not repro with WiFi On!)
- my Deice has 2G(E) connection - I was unable to get it to repro on Buri with 3G (H)
New STR:
WIFI Off, Cellular data (E) edge
Repro Steps:
2) Receive a call from a second device
3) During the active call pull down the notification center
4) Turn on Airplane mode
Comment 20•12 years ago
|
||
Removing qawanted per comment 19. My device is a Buri with 3G (H) and I am unable to reproduce this issue using the 01/30/14 1.3 build.
Keywords: qawanted
Reporter | ||
Comment 21•12 years ago
|
||
Created a new Bug #965886 for the Settings
Updated•12 years ago
|
Keywords: regressionwindow-wanted
Comment 22•12 years ago
|
||
This issue looks to have started reproducing on the 12/14/13 1.3 build. On builds before 12/14, it would take two taps on the Airplane mode button under the utility pull-down to enable Airplane mode. Once the mode was enabled, the call would end immediately.
- Works -
Device: Buri v1.3 MOZ RIL
BuildID: 20131213004002
Gaia: 888f9df5515a47d2f5806efee77485e05e1e5416
Gecko: dfae9c83bfbc
Version: 28.0a2
Firmware Version: V1.2-device.cfg
- Broken -
Device: Buri v1.3 MOZ RIL
BuildID: 20131214004003
Gaia: 37142f72c422120401dbc90e1f5e8f689576bb8e
Gecko: f81e19286279
Version: 28.0a2
Firmware Version: V1.2-device.cfg
Keywords: regressionwindow-wanted
Updated•12 years ago
|
Assignee: nobody → ferjmoreno
Updated•12 years ago
|
Assignee: ferjmoreno → nobody
Comment 23•12 years ago
|
||
I can reproduce the bug thanks to Alex, taking a look...
Comment 24•12 years ago
|
||
This looks *a lot* like a RIL issue.
Gaia successfully goes and call |.setRadioEnabled| on the mozMobileConnection [1].
And we get a DOMRequest back, but neither onsuccess nor onerror ever gets triggered.
Note that this is reproducible with wifi on or off, the key is to have and edge data connection.
FYI, the |radioState| is "enabled" when we launch the setRadioEnabled(false) request.
[1] https://github.com/mozilla-b2g/gaia/blob/master/apps/system/js/airplane_mode.js#L245-254
Component: Gaia::System → RIL
Comment 25•12 years ago
|
||
Ha, bug 963467 might also have the same root cause. A DOMRequest that won't return, the good thing is, that's 3 1.3+ that might get fixed with the same patch.
Comment 26•12 years ago
|
||
(In reply to Etienne Segonzac (:etienne) from comment #25)
> Ha, bug 963467 might also have the same root cause. A DOMRequest that won't
> return, the good thing is, that's 3 1.3+ that might get fixed with the same
> patch.
Probably is. There's a whole wave of airplane mode regressions that were seen in triage recently, so I wouldn't surprised if there was a single cause of this at the gecko level.
Comment 28•12 years ago
|
||
This looks RIL's thing. Can you check it?
Flags: needinfo?(kchang)
Whiteboard: dogfood1.3 → dogfood1.3 [FT:RIL]
Comment 29•12 years ago
|
||
PM review: This sounds like edge case but given the number of airplane mode issues seen this could be something we fix as part of the set.
Updated•12 years ago
|
Assignee: nobody → echen
Assignee | ||
Comment 31•12 years ago
|
||
I can reproduce the bug with below precondition,
- Precondition and STR: same as comment #19.
- Build Info: same as comment #22.
Device: Buri v1.3 MOZ RIL
BuildID: 20131214004003
In fact, DOMRequest will return, but it takes about 35 sec.
Before disabling radio power, gecko will try to disconnect all existed data connection first. In this bug, modem takes time to process/response the RIL request, "REQUEST_DEACTIVATE_DATA_CALL". (gecko trigger the callback of DOMRequset after receiving modem's response)
----------------
02-05 15:32:32.349 145 264 I Gecko : RIL Worker[0]: Received chrome message {"cid":"0","reason":0,"rilMessageToken":20,"rilMessageType":"deactivateDataCall"}
02-05 15:32:32.349 145 264 I Gecko : RIL Worker[0]: New outgoing parcel of type 41
02-05 15:32:32.349 145 264 I Gecko : RIL Worker[0]: Outgoing parcel: 0,0,0,28,41,0,0,0,167,0,0,0,2,0,0,0,1,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0
(Modem takes 35 sec to process/response the REQUEST_DEACTIVATE_DATA_CALL)
02-05 15:33:08.519 145 264 I Gecko : RIL Worker[0]: Solicited response for request type 41, token 167, error 0
02-05 15:33:08.519 145 264 I Gecko : RIL Worker[0]: Handling parcel as REQUEST_DEACTIVATE_DATA_CALL
-----------------
Hi Anshul, do you have any idea about what's happened here?
Thank you.
Flags: needinfo?(anshulj)
Comment 32•12 years ago
|
||
I wonder if this is a really 1.3+ bug. This use case seems not happen in a real usage. When user want to disconnect voice call, he wouldn't directly turn on flight mode.
Flags: needinfo?(praghunath)
Whiteboard: dogfood1.3 [FT:RIL] → dogfood1.3 [FT:RIL] [ETA:2/7]
Comment 33•12 years ago
|
||
(In reply to Ken Chang[:ken](OOO 1/30 ~ 2/4) from comment #32)
> I wonder if this is a really 1.3+ bug. This use case seems not happen in a
> real usage. When user want to disconnect voice call, he wouldn't directly
> turn on flight mode.
We ended up blocking on this originally btw because we think this would be a cert blocker for a target partner given that airplane mode is one of those features that pretty much always has to work.
Comment 34•12 years ago
|
||
Comment 35•12 years ago
|
||
Can we please find the regressing patch and do a back out?
Flags: needinfo?(praghunath)
Assignee | ||
Comment 37•12 years ago
|
||
(In reply to Jason Smith [:jsmith] from comment #36)
> Suspected cause of this regression is bug 949876.
It doesn't look like a regression of bug 949876.
And I also had a try with backing out bug 949876, but I could still repro this bug.
I will try to find out a solution anyway.
Thank you.
No longer blocks: 949876
Assignee | ||
Comment 38•12 years ago
|
||
When turning off radio power, drop all active voice calls first.
Comment 39•12 years ago
|
||
(In reply to Edgar Chen [:edgar][:echen] from comment #31)
> Created attachment 8370608 [details]
> buri_logcat.txt
>
> I can reproduce the bug with below precondition,
> - Precondition and STR: same as comment #19.
> - Build Info: same as comment #22.
> Device: Buri v1.3 MOZ RIL
> BuildID: 20131214004003
>
> In fact, DOMRequest will return, but it takes about 35 sec.
> Before disabling radio power, gecko will try to disconnect all existed data
> connection first. In this bug, modem takes time to process/response the RIL
> request, "REQUEST_DEACTIVATE_DATA_CALL". (gecko trigger the callback of
> DOMRequset after receiving modem's response)
>
> ----------------
> 02-05 15:32:32.349 145 264 I Gecko : RIL Worker[0]: Received chrome
> message
> {"cid":"0","reason":0,"rilMessageToken":20,"rilMessageType":
> "deactivateDataCall"}
> 02-05 15:32:32.349 145 264 I Gecko : RIL Worker[0]: New outgoing
> parcel of type 41
> 02-05 15:32:32.349 145 264 I Gecko : RIL Worker[0]: Outgoing parcel:
> 0,0,0,28,41,0,0,0,167,0,0,0,2,0,0,0,1,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0
>
> (Modem takes 35 sec to process/response the REQUEST_DEACTIVATE_DATA_CALL)
>
> 02-05 15:33:08.519 145 264 I Gecko : RIL Worker[0]: Solicited response
> for request type 41, token 167, error 0
> 02-05 15:33:08.519 145 264 I Gecko : RIL Worker[0]: Handling parcel as
> REQUEST_DEACTIVATE_DATA_CALL
> -----------------
>
> Hi Anshul, do you have any idea about what's happened here?
> Thank you.
This doesn't seem like a QC RIL issue.
Flags: needinfo?(anshulj)
Assignee | ||
Comment 40•12 years ago
|
||
Attachment #8371318 -
Attachment is obsolete: true
Assignee | ||
Comment 41•12 years ago
|
||
Assignee | ||
Updated•12 years ago
|
Attachment #8372039 -
Flags: review?(htsai)
Assignee | ||
Updated•12 years ago
|
Attachment #8372040 -
Flags: review?(htsai)
Comment 42•12 years ago
|
||
Comment on attachment 8372039 [details] [diff] [review]
Part 1: Drop voice call first when power off radio, v2
Review of attachment 8372039 [details] [diff] [review]:
-----------------------------------------------------------------
::: dom/system/gonk/RadioInterfaceLayer.js
@@ +620,5 @@
> + // In 2G network, modem takes 35+ seconds to process deactivate data
> + // call request if device has active voice call (please see bug 964974
> + // for more details). Therefore we should hangup all active voice calls
> + // first.
> + radioInterface.workerMessenger.send("hangUpAll");
Considering some DSDS architecture with only one modem, toggling one radio may toggle both. Shouldn't we send "hangUpAll" to all clients before this.request()?
Attachment #8372039 -
Flags: review?(htsai)
Assignee | ||
Comment 43•12 years ago
|
||
(In reply to Hsin-Yi Tsai [:hsinyi] from comment #42)
> Comment on attachment 8372039 [details] [diff] [review]
> Part 1: Drop voice call first when power off radio, v2
>
> Review of attachment 8372039 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> ::: dom/system/gonk/RadioInterfaceLayer.js
> @@ +620,5 @@
> > + // In 2G network, modem takes 35+ seconds to process deactivate data
> > + // call request if device has active voice call (please see bug 964974
> > + // for more details). Therefore we should hangup all active voice calls
> > + // first.
> > + radioInterface.workerMessenger.send("hangUpAll");
>
> Considering some DSDS architecture with only one modem, toggling one radio
> may toggle both. Shouldn't we send "hangUpAll" to all clients before
> this.request()?
Hmm, you are right, we should send "hangUpAll" to all clients for that case. I will address in next version. Thank you.
Assignee | ||
Comment 44•12 years ago
|
||
Address review comment #42.
Attachment #8372039 -
Attachment is obsolete: true
Attachment #8372153 -
Flags: review?(htsai)
Comment 45•12 years ago
|
||
Comment on attachment 8372153 [details] [diff] [review]
Part 1: Drop voice call first when power off radio, v3
Review of attachment 8372153 [details] [diff] [review]:
-----------------------------------------------------------------
Great! Thank you ~
::: dom/system/gonk/RadioInterfaceLayer.js
@@ +619,5 @@
>
> + // In 2G network, modem takes 35+ seconds to process deactivate data
> + // call request if device has active voice call (please see bug 964974
> + // for more details). Therefore we should hangup all active voice calls
> + // first. And consider some DSDS architecture, toggling one radio may
nit: s/consider/considering/
@@ +620,5 @@
> + // In 2G network, modem takes 35+ seconds to process deactivate data
> + // call request if device has active voice call (please see bug 964974
> + // for more details). Therefore we should hangup all active voice calls
> + // first. And consider some DSDS architecture, toggling one radio may
> + // toggle both, so send hangUpAll to all clients.
nit:s/so send/so we send/
Attachment #8372153 -
Flags: review?(htsai) → review+
Comment 46•12 years ago
|
||
Comment on attachment 8372040 [details] [diff] [review]
Part 2: Marionette tests, v1
Review of attachment 8372040 [details] [diff] [review]:
-----------------------------------------------------------------
Looks great. Only some nits. Thank you :)
::: dom/telephony/test/marionette/test_outgoing_answer_radio_off.js
@@ +14,5 @@
> + connection.onradiostatechange = function() {
> + let state = connection.radioState;
> + log("Received 'radiostatechange' event, radioState: " + state);
> +
> + if (state === desiredRadioState) {
Please add the comment:
// We are waiting for 'desiredRadioState.' Ignore any transient state.
@@ +39,5 @@
> + log("Received 'onalerting' call event.");
> + call.onalerting = null;
> + is(call, event.call);
> + is(call.state, "alerting");
> +
nit: remove the empty line to have a consistent style with other functions
@@ +63,5 @@
> +
> + return deferred.promise;
> +}
> +
> +function disableRadioAndWaitCallEvent(call) {
nit: s/disableRadioAndWaitCallEvent/disableRadioAndWaitForCallEvent/
@@ +64,5 @@
> + return deferred.promise;
> +}
> +
> +function disableRadioAndWaitCallEvent(call) {
> + log("Disable radio and wait call event.");
nit: s/wait call/wait for call/
@@ +81,5 @@
> + return deferred.promise;
> +}
> +
> +/**
> + * Test making outgoing call then power off radio.
nit: Make an outgoing call then power off radio.
Attachment #8372040 -
Flags: review?(htsai) → review+
Assignee | ||
Comment 47•12 years ago
|
||
Address review comment #45.
Attachment #8372153 -
Attachment is obsolete: true
Attachment #8372274 -
Flags: review+
Assignee | ||
Comment 48•12 years ago
|
||
Address review comment #46.
Attachment #8372040 -
Attachment is obsolete: true
Attachment #8372307 -
Flags: review+
Assignee | ||
Comment 49•12 years ago
|
||
Assignee | ||
Comment 50•12 years ago
|
||
(In reply to Edgar Chen [:edgar][:echen] from comment #49)
> Try server: https://tbpl.mozilla.org/?tree=Try&rev=3c3314a4dcdf
All green!
https://hg.mozilla.org/integration/b2g-inbound/rev/c3d9efad7ff9
https://hg.mozilla.org/integration/b2g-inbound/rev/febd18f5beb8
Comment 51•12 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/c3d9efad7ff9
https://hg.mozilla.org/mozilla-central/rev/febd18f5beb8
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Comment 52•12 years ago
|
||
https://hg.mozilla.org/releases/mozilla-b2g28_v1_3/rev/c168c5bc2e5e
https://hg.mozilla.org/releases/mozilla-b2g28_v1_3/rev/6dddd36ce6f6
status-b2g-v1.4:
--- → fixed
status-firefox28:
--- → wontfix
status-firefox29:
--- → wontfix
status-firefox30:
--- → fixed
Whiteboard: dogfood1.3 [FT:RIL] [ETA:2/7] → dogfood1.3 [FT:RIL]
Target Milestone: --- → 1.4 S1 (14feb)
Updated•11 years ago
|
status-b2g-v1.3T:
--- → fixed
You need to log in
before you can comment on or make changes to this bug.
Description
•