Closed
Bug 1088690
Opened 10 years ago
Closed 10 years ago
TelephonyService.js this._currentCalls[aClientId][aCall.callIndex] is undefined when User hangs up a call
Categories
(Firefox OS Graveyard :: RIL, defect)
Tracking
(blocking-b2g:2.0M+, b2g-v2.0 wontfix, b2g-v2.0M fixed, b2g-v2.1 unaffected, b2g-v2.2 fixed)
Tracking | Status | |
---|---|---|
b2g-v2.0 | --- | wontfix |
b2g-v2.0M | --- | fixed |
b2g-v2.1 | --- | unaffected |
b2g-v2.2 | --- | fixed |
People
(Reporter: thills, Assigned: aknow)
References
Details
Attachments
(3 files, 1 obsolete file)
(deleted),
text/plain
|
Details | |
(deleted),
patch
|
aknow
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
aknow
:
review+
|
Details | Diff | Splinter Review |
Occurs on:
==========
Gaia-Rev d893a9b971a0f3ee48e5a57dca516837d92cf52b
Gecko-Rev https://hg.mozilla.org/mozilla-central/rev/a5ee2769eb27
Build-ID 20141024040202
Version 36.0a1
Device-Name flame
FW-Release 4.4.2
FW-Incremental eng.cltbld.20141024.071213
FW-Date Fri Oct 24 07:12:24 EDT 2014
Bootloader L1TC00011840
Does NOT occur on:
==================
Gaia-Rev 1daf2dadcd0d554c733661a4c0be1b82001e9da0
Gecko-Rev https://hg.mozilla.org/mozilla-central/rev/33c0181c4a25
Build-ID 20141019160202
Version 36.0a1
Device-Name flame
FW-Release 4.4.2
FW-Incremental eng.cltbld.20141019.192824
FW-Date Sun Oct 19 19:28:34 EDT 2014
Bootloader L1TC00011840
STR:
1. Make an call to DuT (flame-kk).
2. Answer the Call.
3. After a few seconds, DuT hangs up the call.
Following error in teh logs:
W/GeckoConsole( 211): [JavaScript Error: "TypeError: this._currentCalls[aClientId][aCall.callIndex] is undefined" {file: "jar:file:///system/b2g/omni.ja!/components/TelephonyService.js" line: 1138}]
W/GeckoConsole( 211): [JavaScript Error: "NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS: [JavaScript Error: "this._currentCalls[aClientId][aCall.callIndex] is undefined" {file: "jar:file:///system/b2g/omni.ja!/components/TelephonyService.js" line: 1138}]'[JavaScript Error: "this._currentCalls[aClientId][aCall.callIndex] is undefined" {file: "jar:file:///system/b2g/omni.ja!/components/TelephonyService.js" line: 1138}]' when calling method: [nsIGonkTelephonyService::notifyCallDisconnected]" {file: "jar:file:///system/b2g/omni.ja!/components/RadioInterfaceLayer.js" line: 1851}]
Assignee | ||
Updated•10 years ago
|
Assignee: nobody → szchen
Assignee | ||
Comment 1•10 years ago
|
||
Explain the root cause.
http://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_worker.js?from=ril_worker.js&case=true#4031
A call was removed twice. In the second time, we got undefined error because the call had been already removed in first time.
So why did we remove it twice?
We issued two GET_CURRENT_CALL (1: after hangup, 2: after CALL_STATE_CHANGE) that led to two _processCalls(). When processing the call list, we immediately computed the set of removed calls and thought that there was one call need to be removed [1]. After the async call for getting the fail cause, we started to handle the added/removed calls [2].
In the second time of _processClassifiedCalls(), the call we want to remove is already gone. However, the information of removedCalls is not updated so it tried to removed it again. => Error.
_processCalls: function(newCalls) {
let [removed, remained, added] = this._classifyCalls(newCalls); // [1]
// Let's get the failCause first if there are removed calls. Otherwise, we
// need to trigger another async request when removing call and it cause
// the order of callDisconnected and conferenceCallStateChanged
// unpredictable.
if (removed.length) {
this.getFailCauseCode((function(removed, remained, added, failCause) {
this._processClassifiedCalls(removed, remained, added, failCause); // [2]
}).bind(this, removed, remained, added));
} else {
this._processClassifiedCalls(removed, remained, added);
}
},
Assignee | ||
Comment 2•10 years ago
|
||
Attachment #8521136 -
Flags: review?(htsai)
Updated•10 years ago
|
Attachment #8521136 -
Flags: review?(htsai) → review+
Assignee | ||
Comment 3•10 years ago
|
||
Attachment #8521136 -
Attachment is obsolete: true
Attachment #8523728 -
Flags: review+
Assignee | ||
Comment 4•10 years ago
|
||
try looks good
https://treeherder.mozilla.org/ui/#/jobs?repo=try&revision=8a608dc5aebe
xpcshell-test failure is fixed and verified locally.
Assignee | ||
Comment 5•10 years ago
|
||
Comment 6•10 years ago
|
||
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → 2.1 S9 (21Nov)
Assignee | ||
Comment 7•10 years ago
|
||
Attachment #8527518 -
Flags: review+
Updated•10 years ago
|
Blocks: Woodduck
blocking-b2g: --- → 2.0M+
status-b2g-v2.0:
--- → affected
status-b2g-v2.0M:
--- → affected
status-b2g-v2.1:
--- → affected
status-b2g-v2.2:
--- → fixed
Comment 8•10 years ago
|
||
Hi Kai-Zhen,
Please help to land this patch on 2.0M. Thanks!
Flags: needinfo?(kli)
OS: Mac OS X → Gonk (Firefox OS)
Hardware: x86 → ARM
Comment 9•10 years ago
|
||
Flags: needinfo?(kli)
Comment 13•10 years ago
|
||
I suppose we would uplift to v2.1.
ni Josh for reconfirmation.
Flags: needinfo?(jocheng)
Assignee | ||
Comment 14•10 years ago
|
||
(In reply to Wesley Huang [:wesley_huang] (EPM) (NI me) from comment #13)
> I suppose we would uplift to v2.1.
> ni Josh for reconfirmation.
Oh! I found that the issue here is introduced after landing bug 1059649, which is only applied on 2.0m and master. So, for the issue, v2.1 is not affected actually.
Do we have to uplift both Bug 1059649 and this one?
Comment 15•10 years ago
|
||
Hi Steven,
I think bug 1059649 should land on 2.1, however there is side effect which is this bug. So if you decide to uplift bug 1059649, you need to also uplift this one.
Could you help to triag? Thanks!
Flags: needinfo?(jocheng) → needinfo?(styang)
Updated•10 years ago
|
Flags: needinfo?(styang)
You need to log in
before you can comment on or make changes to this bug.
Description
•