Closed Bug 1085765 Opened 10 years ago Closed 10 years ago

[FFOS2.0][Woodduck][SMS][Voicemail]MS can't receive the "Voice Mail Notification"when we don't input text content.

Categories

(Firefox OS Graveyard :: RIL, defect, P2)

defect

Tracking

(blocking-b2g:2.0M+, b2g-v2.0 affected, b2g-v2.0M fixed, b2g-v2.1 affected, b2g-v2.2 fixed)

RESOLVED FIXED
2.1 S7 (24Oct)
blocking-b2g 2.0M+
Tracking Status
b2g-v2.0 --- affected
b2g-v2.0M --- fixed
b2g-v2.1 --- affected
b2g-v2.2 --- fixed

People

(Reporter: sync-1, Assigned: bevis)

References

Details

Attachments

(5 files, 5 obsolete files)

96.60 KB, application/octet-stream
Details
1.12 KB, patch
bevis
: review+
Details | Diff | Splinter Review
4.60 KB, patch
bevis
: review+
Details | Diff | Splinter Review
1.12 KB, patch
bevis
: review+
Details | Diff | Splinter Review
4.89 KB, patch
bevis
: review+
Details | Diff | Splinter Review
DEFECT DESCRIPTION: MS can not receive this "Voice Mail Notification". REPRODUCING PROCEDURES: 1.Use NOW SMS to send Voicemail/fax/email/video/other type or clear type voicemail/fax/email/video/other "Voice Mail Notification" without text. EXPECTED BEHAVIOUR: MS should receive these type of "Voice Mail Notification". >Remark:when we send these "Voice Mail Notification" with text,they can be receive successfully. Code analyse: Now I modify the following code and seem fix this bug, pls review it: /gecko/dom/system/gonk/ril_worker.js /** * User data can be 7 bit (default alphabet) data, 8 bit data, or 16 bit * (UCS2) data. * * msg * message object for output. * length * length of user data to read in octets. */ readUserData: function(msg, length) { ...... switch (msg.encoding) { case PDU_DCS_MSG_CODING_7BITS_ALPHABET: // 7 bit encoding allows 140 octets, which means 160 characters // ((140x8) / 7 = 160 chars) ...... // Add condition by tao.li.hz.com, if no user data, don't read it. if (length > 0) { msg.body = this.readSeptetsToString(length, paddingBits, langIndex, langShiftIndex); } break; ...... } },
Hi, Can we have the radio log of this symptom for further analysis? adb logcat -v threadtime -b radio > radio.txt keyword: UNSOL_RESPONSE_NEW_SMS Then, we can reproduce it locally with the SMS PDU to see what happened and write it into the test case if needed. Thanks!
Component: Gaia::SMS → RIL
Flags: needinfo?(sync-1)
Created an attachment (id=982241) RadioAndMainLog.rar Radio and main log as attachment.
Created an attachment (id=982241) RadioAndMainLog.rar Radio and main log as attachment.
Attached file RadioAndMainLog.rar
Created an attachment (id=982241) RadioAndMainLog.rar Radio and main log as attachment.
Thanks for the log. I can reproduce it locally. It seems that there is no correct boundary check in GsmPDUHelperObject.readSeptetsToString() when length is 0 and then, an exception was thrown at http://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_worker.js#7048
Assignee: nobody → btseng
blocking-b2g: --- → 2.0M?
Flags: needinfo?(sync-1)
Received a normal SMS, thf following log will appear: RIL Worker: [0] Solicited response for request type 37, token 152, error 0 Received a voicemail SMS, the following log will appear: RIL Worker: [0] Solicited response for request type 37, token 124, error 2 Here request type 37 means SMS_ACKNOWLEDGE. Please help to analyse why voicemail SMS have "error 2 log", thanks.
(In reply to sync-1 from comment #6) > Received a normal SMS, thf following log will appear: > RIL Worker: [0] Solicited response for request type 37, token 152, error 0 > > Received a voicemail SMS, the following log will appear: > RIL Worker: [0] Solicited response for request type 37, token 124, error 2 > Here request type 37 means SMS_ACKNOWLEDGE. > > Please help to analyse why voicemail SMS have "error 2 log", thanks. There is no difference to send the positive SMS_ACK to rild. The error was reported by rild/modem and "2" means ERROR_GENERIC_FAILURE. We cannot help too much for this from upper layer. Please have vendor to check why this error was returned instead. Thanks!
(In reply to comment #5) > Comment from Mozilla:(In reply to sync-1 from comment #6) > > Received a normal SMS, thf following log will appear: > > RIL Worker: [0] Solicited response for request type 37, token 152, error 0 > > > > Received a voicemail SMS, the following log will appear: > > RIL Worker: [0] Solicited response for request type 37, token 124, error 2 > > Here request type 37 means SMS_ACKNOWLEDGE. > > > > Please help to analyse why voicemail SMS have "error 2 log", thanks. > There is no difference to send the positive SMS_ACK to rild. > The error was reported by rild/modem and "2" means ERROR_GENERIC_FAILURE. > We cannot help too much for this from upper layer. > Please have vendor to check why this error was returned instead. > Thanks! OK, I will check it with vendor.
(In reply to comment #4) > Comment from Mozilla:Thanks for the log. > I can reproduce it locally. > It seems that there is no correct boundary check in > GsmPDUHelperObject.readSeptetsToString() when length is 0 and then, an > exception was thrown at > http://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_worker.js#7048 If there is no user data, msg.body should be null.
Hi Hsinyi, May I have your review for this fix? Thanks!
Attachment #8508561 - Flags: review?(htsai)
Attachment #8508561 - Attachment is obsolete: true
Attachment #8508561 - Flags: review?(htsai)
Hi Hsinyi, May I have your review for this fix? Thanks!
Attachment #8508565 - Flags: review?(htsai)
Hi Hsinyi, May I have your review for the change in voicemail test cases? Thanks!
Attachment #8508567 - Flags: review?(htsai)
Hi Hsinyi, May I have your review for the change in voicemail test cases? Thanks!
Attachment #8508567 - Attachment is obsolete: true
Attachment #8508567 - Flags: review?(htsai)
Attachment #8508570 - Flags: review?(htsai)
Comment on attachment 8508565 [details] [diff] [review] Part 1 v1: Bail out earlier from GsmPDUHelper.readUserData() when there is no further data to read. Review of attachment 8508565 [details] [diff] [review]: ----------------------------------------------------------------- Nice catch! ::: dom/system/gonk/ril_worker.js @@ +7856,5 @@ > > msg.body = null; > msg.data = null; > + > + if (length <= 0) { nit: isn't a check |!length| sufficient? do we really need to worry the case of length being smaller than 0?
Attachment #8508565 - Flags: review?(htsai) → review+
Comment on attachment 8508570 [details] [diff] [review] Part 2 v1: Add test case to verify MWI without text body. Review of attachment 8508570 [details] [diff] [review]: ----------------------------------------------------------------- Thank you :)
Attachment #8508570 - Flags: review?(htsai) → review+
(In reply to Hsin-Yi Tsai [:hsinyi] from comment #14) > Comment on attachment 8508565 [details] [diff] [review] > Part 1 v1: Bail out earlier from GsmPDUHelper.readUserData() when there is > no further data to read. > > Review of attachment 8508565 [details] [diff] [review]: > ----------------------------------------------------------------- > > Nice catch! > > ::: dom/system/gonk/ril_worker.js > @@ +7856,5 @@ > > > > msg.body = null; > > msg.data = null; > > + > > + if (length <= 0) { > > nit: isn't a check |!length| sufficient? do we really need to worry the case > of length being smaller than 0? Per offline discussion, this is just in case if the PDU is malformed with incorrect user data length. :)
update final patch with positive try server result.
Attachment #8508565 - Attachment is obsolete: true
Attachment #8509228 - Flags: review+
update final patch with positive try server result.
Attachment #8508570 - Attachment is obsolete: true
Attachment #8509230 - Flags: review+
update v2.0 patch.
Attachment #8509232 - Attachment is obsolete: true
Attachment #8509235 - Flags: review+
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → 2.1 S7 (24Oct)
Comment on attachment 8509231 [details] [diff] [review] [2.0] Part 1: Bail out earlier from GsmPDUHelper.readUserData() when there is no further data to read. r=htsai NOTE: Please see https://wiki.mozilla.org/Release_Management/B2G_Landing to better understand the B2G approval process and landings. [Approval Request Comment] Bug caused by (feature/regressing bug #): N/A User impact if declined: Without this patch, it is not possible for the device user to be notified his/her voicemail status if the Voicemail Notification from network delivered w/o text body. The fix was located at ril_worker.js. There is no impact for QCT's CAF RIL like 2.0v but will impact for 2.0m branch. Testing completed: Test case included to enhance the test coverage. Risk to taking this patch (and alternatives if risky): No String or UUID changes made by this patch: No
Attachment #8509231 - Flags: approval-mozilla-b2g34?
Attachment #8509231 - Flags: approval-mozilla-b2g32?
Comment on attachment 8509235 [details] [diff] [review] [2.0] Part 2: Add test case to verify MWI without text body. r=htsai [Approval Request Comment] Bug caused by (feature/regressing bug #): N/A User impact if declined: Without this patch, it is not possible for the device user to be notified his/her voicemail status if the Voicemail Notification from network delivered w/o text body. The fix was located at ril_worker.js. There is no impact for QCT's CAF RIL like 2.0v but will impact for 2.0m branch. Testing completed: Test case included to enhance the test coverage. Risk to taking this patch (and alternatives if risky): No String or UUID changes made by this patch: No
Attachment #8509235 - Flags: approval-mozilla-b2g34?
Attachment #8509235 - Flags: approval-mozilla-b2g32?
Blocks: Woodduck
blocking-b2g: 2.0M? → 2.0M+
Triage: Hi Kai-Zhen, 2.0M+. Thanks!
Flags: needinfo?(kli)
Bevis, is this a 2.0 regression ? Is this reproducible on Flame ?
Flags: needinfo?(btseng)
(In reply to bhavana bajaj [:bajaj] from comment #31) > Bevis, is this a 2.0 regression ? Is this reproducible on Flame ? No, this is not a regression and is reproducible on Flame with MOZ RIL.
Flags: needinfo?(btseng)
Comment on attachment 8509231 [details] [diff] [review] [2.0] Part 1: Bail out earlier from GsmPDUHelper.readUserData() when there is no further data to read. r=htsai Discussed offline with Bevis/Ken on not taking this for 2.0 at this point. For 2.1, once we have a necessary branches created we can land this at that point.
Attachment #8509231 - Flags: approval-mozilla-b2g32? → approval-mozilla-b2g32-
Attachment #8509235 - Flags: approval-mozilla-b2g32? → approval-mozilla-b2g32-
请关闭该问题,谢谢.
All the RIL landings will have to wait till we have a separate branch created, so clearing them up the approval request for now. Once the branch is ready we can land with with a=bajaj.
Attachment #8509231 - Flags: approval-mozilla-b2g34?
Attachment #8509235 - Flags: approval-mozilla-b2g34?
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: