Closed Bug 1204817 Opened 9 years ago Closed 9 years ago

[Telephony][CDMA] Cannot hang up a conference call (3-way call)

Categories

(Firefox OS Graveyard :: RIL, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(firefox44 fixed)

RESOLVED FIXED
FxOS-S9 (16Oct)
Tracking Status
firefox44 --- fixed

People

(Reporter: bhsu, Assigned: bhsu)

References

Details

Attachments

(1 file)

It's a regression found recently. When we hang up a CDMA conference call, the remote parties will be hung up as expected, but we missed the call state change event on local end.
Assignee: nobody → bhsu
The root cause is a parent call is deleted before its child call being deleted. Here is a more wordy explaination, when there are disconnected calls, we will delete the calls from TelephonyService and their parent call one by one. However, if a parent call is deleted before its child call, we'll get an JavaScript error and fail to remove the child from its parent.
Attachment #8661130 - Flags: review?(btseng)
Attachment #8661130 - Flags: review?(btseng) → review+
I think this regression is created by bug 1155063.

In bug 1155063, _handleCallDisconnected() is handled recursively if the disconnected call is a parentCall, so the childCall will always be clean up before the parent call.
https://hg.mozilla.org/mozilla-central/file/b77f028dce5d/dom/telephony/gonk/TelephonyService.js#l1393

After bug 1155063, the parent call is always clean up 1st.

It's a good habit to figure out the root cause when providing the fix to prevent creating another regression. :)
Blocks: 1155063
https://hg.mozilla.org/mozilla-central/rev/40236e4d9d64
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → FxOS-S9 (16Oct)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: