[Leo] adding a quirk for correctly paring RIL parcel in call waiting scenario

RESOLVED FIXED

Status

()

RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: etienne, Assigned: hsinyi)

Tracking

unspecified
x86_64
Linux
Points:
---
Bug Flags:
in-moztrap +

Firefox Tracking Flags

(blocking-b2g:leo+, b2g18 fixed)

Details

(URL)

Attachments

(2 attachments)

(Reporter)

Description

6 years ago
Gaia: master
Gecko: b2g18 from yesterday

The call waiting is basically broken.
STR:
- call your voicemail
- from another phone, call the b2g phone

Expected:
- you see the call waiting UI displayed on the call screen

Actual:
- Nothing happens

I added the following logs:
- one in the oncallschanged handler in dialer.js
- one in the oncallschanged handler in oncall.js (attention screen, another window)

When I dial the first call, both oncallschanged get triggered (we open the call screen and display the voicemail call).

When the second call comes in, only the one in dialer.js gets triggered (so the callscreen does nothing).
When I hangup the second call (form the calling device), again, only the one in dialer.js is triggered (we do nothing here neither).

When I hangup the first call, both oncallschanged get triggered (so we close the call screen)
(Reporter)

Comment 1

6 years ago
Asking leo? since it breaks the multiple call support but does not happen on older geckos.

Probably related to bu 823958.
blocking-b2g: --- → leo?
It works for me with the following version:

Gecko - hg mozilla-b2g18 119559:8e3f39363c54 (Jun 07 09:52:58 2013 -0700), DEBUG and OPT build
Gaia - mozillaorg/v1.0.1 d1d6753bb2018b9b8192e997ae5ee43e9dfb13e2 (Jun 7 03:47:43 2013 -0700) 
       mozillaorg/v1-train 1aed138dfef6279a00475f51ce0c491f32799ab6 (May 22 16:10:28 2013 -0500)
(Assignee)

Comment 3

6 years ago
Hi Etienne, 

I just tested with latest mozilla-b2g18, and gaia master/v1-train/v1.0.1. All work for me as well. 

This issue looks interesting but seems not obviously related with bug 823958 to me, according to your description. I am also wondering if some messages between chrome and content got lost. Anyway, more investigation is needed. Since I cannot reproduce this issue, it would be helpful you provide more log info, with ril debugger enabled.
(Reporter)

Comment 4

6 years ago
Created attachment 760935 [details]
Logcat

Some RIL logs + simple logs from the dialer app (when we get an oncallschanged) prefixed by "+++".

* for the first (outgoing) call we can see the oncallschanged in dialer.js (main app) and oncall.js (attention screen).
* for the second (incoming) call (line 254) we have only the oncallschanged in dialer.js
(Assignee)

Comment 5

6 years ago
(In reply to Etienne Segonzac (:etienne) from comment #4)
> Created attachment 760935 [details]
> Logcat
> 
> Some RIL logs + simple logs from the dialer app (when we get an
> oncallschanged) prefixed by "+++".
> 
> * for the first (outgoing) call we can see the oncallschanged in dialer.js
> (main app) and oncall.js (attention screen).
> * for the second (incoming) call (line 254) we have only the oncallschanged
> in dialer.js

Thanks for the log! Could you also please tell me the gecko and gaia version you are testing with?
(Assignee)

Comment 6

6 years ago
(In reply to Hsin-Yi Tsai [:hsinyi] from comment #5)
> (In reply to Etienne Segonzac (:etienne) from comment #4)
> > Created attachment 760935 [details]
> > Logcat
> > 
> > Some RIL logs + simple logs from the dialer app (when we get an
> > oncallschanged) prefixed by "+++".
> > 
> > * for the first (outgoing) call we can see the oncallschanged in dialer.js
> > (main app) and oncall.js (attention screen).
> > * for the second (incoming) call (line 254) we have only the oncallschanged
> > in dialer.js
> 
> Thanks for the log! Could you also please tell me the gecko and gaia version
> you are testing with?

Hmm... are you using QC RIL? I see some qcril debug messages, such as 'D/QCRIL_RPC(  148): Enter qcril_sms_cfg_event_callback.'
(Reporter)

Comment 7

6 years ago
(In reply to Hsin-Yi Tsai [:hsinyi] from comment #6)
> > Thanks for the log! Could you also please tell me the gecko and gaia version
> > you are testing with?
> 
> Hmm... are you using QC RIL? I see some qcril debug messages, such as
> 'D/QCRIL_RPC(  148): Enter qcril_sms_cfg_event_callback.'

I just tested it again on a leo phone (originally saw the issue on my dogfooding buri):

gaia: 641ed2177c4a2ad92ce36c4d7c66227e1aa870aa (master from today)
gecko: b4f8f0a288ca (b2g18 tip from today)

What's the safest way to know for sure which RIL I'm using?
(Assignee)

Comment 8

6 years ago
(In reply to Etienne Segonzac (:etienne) from comment #7)
> (In reply to Hsin-Yi Tsai [:hsinyi] from comment #6)
> > > Thanks for the log! Could you also please tell me the gecko and gaia version
> > > you are testing with?
> > 
> > Hmm... are you using QC RIL? I see some qcril debug messages, such as
> > 'D/QCRIL_RPC(  148): Enter qcril_sms_cfg_event_callback.'
> 
> I just tested it again on a leo phone (originally saw the issue on my
> dogfooding buri):
> 
> gaia: 641ed2177c4a2ad92ce36c4d7c66227e1aa870aa (master from today)
> gecko: b4f8f0a288ca (b2g18 tip from today)
> 

I still cannot reproduce it with latest code. And I'm using unagi.

gaia: master, adac4272383cc292f3c617ce7a482967f3471b24 
gecko: hg-mozilla-b2g18, 119578:bc472d357309

> What's the safest way to know for sure which RIL I'm using?

If QC RIL correctly loads, you can see RIL_QC_B2G in radio log section (logcat -b radio).
(Assignee)

Comment 9

6 years ago
We have a parcel error in Etienne's log (as follows), which may be the root cause of problems with firing a callwaiting event. Seems we have a different parcel length in leo/buri.

I/Gecko   (  144): RIL Worker: We have at least one complete parcel.
I/Gecko   (  144): RIL Worker: Solicited response for request type 9, token 138, error 0
I/Gecko   (  144): RIL Worker: Handling parcel as REQUEST_GET_CURRENT_CALLS
I/Gecko   (  144): RIL Worker: Something's wrong, found string delimiter: 12
I/Gecko   (  144): RIL Worker: Parcel handling threw Error: Trying to read data beyond the parcel end!
I/Gecko   (  144): ensureIncomingAvailable@resource://gre/modules/ril_worker.js:226
I/Gecko   (  144): readUint8@resource://gre/modules/ril_worker.js:272
I/Gecko   (  144): readUint16@resource://gre/modules/ril_worker.js:294
I/Gecko   (  144): readString@resource://gre/modules/ril_worker.js:318
I/Gecko   (  144): REQUEST_GET_CURRENT_CALLS@resource://gre/modules/ril_worker.js:5495
I/Gecko   (  144): handleParcel@resource://gre/modules/ril_worker.js:5388
I/Gecko   (  144): processParcel@resource://gre/modules/ril_worker.js:617
I/Gecko   (  144): processIncoming@resource://gre/modules/ril_worker.js:562
I/Gecko   (  144): onRILMessage@resource://gre/modules/ril_worker.js:9441
(Assignee)

Updated

6 years ago
Summary: oncallschanged not triggered for second call on latest b2g18 → [Leo] oncallschanged not triggered for second call on latest b2g18
(Assignee)

Updated

6 years ago
Depends on: 861896
(Assignee)

Comment 10

6 years ago
Created attachment 761928 [details]
PR to device-leo

Adding a quirk on leo device
Assignee: nobody → htsai
(Assignee)

Updated

6 years ago
Attachment #761928 - Flags: review?(mwu)
(Assignee)

Comment 11

6 years ago
The gecko change has been handled in bug 861896. Once the PR to device-leo is merged, we are fine here.

Comment 12

6 years ago
Comment on attachment 761928 [details]
PR to device-leo

Will we also need this for hamachi/buri?
Attachment #761928 - Flags: review?(mwu) → review+

Comment 13

6 years ago
I just merged. Not resolving though, since I think we also need this for hamachi/buri.
(Assignee)

Comment 14

6 years ago
(In reply to Michael Wu [:mwu] from comment #13)
> I just merged. Not resolving though, since I think we also need this for
> hamachi/buri.

I don't have hamachi/buri on hand so not able to test them. That's why the bug description focuses on "Leo." ;-) 

If the root cause is the same on hamachi and buri, then I think we will need them.
We should probably open a separate bug to make sure that RIL parcel problems are easily recognized and reported to us, maybe with a special crash report?

Comment 16

6 years ago
I will test then.
(Assignee)

Comment 17

6 years ago
(In reply to Michael Wu [:mwu] from comment #16)
> I will test then.

Thanks, Michael.

I am going to close this bug. Let's file separate bugs if you encounter problems in hamachi/buri. Does that sound good?

Comment 18

6 years ago
It's the same fix. No reason to open a new bug. We'll also want to uplift this so this will reduce the number of leo? requests.

Comment 19

6 years ago
I can't seem to get call waiting to work with or without the quirk. Let's go for a new bug.
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
(Assignee)

Updated

6 years ago
Blocks: 861896
No longer depends on: 861896
Summary: [Leo] oncallschanged not triggered for second call on latest b2g18 → [Leo] adding a quirk for correctly paring RIL parcel in call waiting scenario
Blocking as this blocks a blocker 861896.
blocking-b2g: leo? → leo+

Updated

6 years ago
Flags: in-moztrap?
Marking status-b2g:18 as fixed as nothing else is needed here for v1.1
status-b2g18: --- → fixed

Updated

6 years ago
Flags: in-moztrap? → in-moztrap+
QA Contact: croesch
You need to log in before you can comment on or make changes to this bug.