Closed Bug 815020 Opened 12 years ago Closed 12 years ago

B2G MMS: Can not call from WapPushManager.processMessage to MmsService.receiveWapPush

Categories

(Core :: DOM: Device Interfaces, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla20
blocking-b2g leo+
Tracking Status
firefox20 --- fixed
b2g18 --- fixed
b2g18-v1.0.0 --- wontfix
b2g18-v1.0.1 --- wontfix

People

(Reporter: ctai, Assigned: ctai)

References

Details

Attachments

(2 files)

I try to send a MMS to firefox OS.
After tracing the received flow, it seems there is something happened while call from WapPushManager.processMessage to MmsService.receiveWapPush.
Below is the log....

11-23 16:00:42.569 I/Gecko   (  110): RIL Worker: Got new SMS: {"SMSC":"+886932400851","mti":0,"udhi":64,"sender":"886911520052","recipient":null,"pid":0,"epid":0,"dcs":4,"mwi":null,"replace":false,"header":{"length":11,"langIndex":0,"langShiftIndex":0,"destinationPort":2948,"originatorPort":9200,"segmentRef":158,"segmentMaxSeq":2,"segmentSeq":2},"body":null,"data":{"0":111,"1":109,"2":101,"3":46,"4":110,"5":101,"6":116,"7":58,"8":56,"9":48,"10":48,"11":50,"12":47,"13":74,"14":105,"15":50,"16":118,"17":85,"18":77,"19":89,"20":83,"21":71,"22":119,"23":76,"24":55,"25":76,"26":119,"27":65,"28":65,"29":107,"30":71,"31":115,"32":104,"33":57,"34":73,"35":77,"36":77,"37":65,"38":65,"39":65,"40":65,"41":65,"42":65,"43":65,"44":65,"45":0},"timestamp":1353657638000,"status":null,"scts":null,"dt":null,"encoding":4,"messageClass":"normal"}
11-23 16:00:42.589 I/Gecko   (  110): RIL Worker: Got full multipart SMS: {"SMSC":"+886932400851","mti":0,"udhi":64,"sender":"886911520052","recipient":null,"pid":0,"epid":0,"dcs":4,"mwi":null,"replace":false,"header":{"length":11,"langIndex":0,"langShiftIndex":0,"destinationPort":2948,"originatorPort":9200,"segmentRef":158,"segmentMaxSeq":2,"segmentSeq":1},"body":null,"timestamp":1353657638000,"status":null,"scts":null,"dt":null,"encoding":4,"messageClass":"normal","segmentMaxSeq":2,"receivedSegments":2,"segments":[null,{"0":201,"1":6,"2":49,"3":97,"4":112,"5":112,"6":108,"7":105,"8":99,"9":97,"10":116,"11":105,"12":111,"13":110,"14":47,"15":118,"16":110,"17":100,"18":46,"19":119,"20":97,"21":112,"22":46,"23":109,"24":109,"25":115,"26":45,"27":109,"28":101,"29":115,"30":115,"31":97,"32":103,"33":101,"34":0,"35":177,"36":49,"37":48,"38":46,"39":56,"40":46,"41":49,"42":51,"43":48,"44":46,"45":49,"46":57,"47":0,"48":175,"49":132,"50":180,"51":129,"52":140,"53":130,"54":152,"55":74,"56":105,"57":50,"58":118,"59":85,"60":77,"61":89,"62":83,"63":71,"
11-23 16:00:42.589 I/Gecko   (  110): -*- RadioInterfaceLayer: Received message from worker: {"SMSC":"+886932400851","mti":0,"udhi":64,"sender":"886911520052","recipient":null,"pid":0,"epid":0,"dcs":4,"mwi":null,"replace":false,"header":{"length":11,"langIndex":0,"langShiftIndex":0,"destinationPort":2948,"originatorPort":9200,"segmentRef":158,"segmentMaxSeq":2,"segmentSeq":1},"body":null,"timestamp":1353657638000,"status":null,"scts":null,"dt":null,"encoding":4,"messageClass":"normal","segmentMaxSeq":2,"receivedSegments":2,"segments":[null,{"0":201,"1":6,"2":49,"3":97,"4":112,"5":112,"6":108,"7":105,"8":99,"9":97,"10":116,"11":105,"12":111,"13":110,"14":47,"15":118,"16":110,"17":100,"18":46,"19":119,"20":97,"21":112,"22":46,"23":109,"24":109,"25":115,"26":45,"27":109,"28":101,"29":115,"30":115,"31":97,"32":103,"33":101,"34":0,"35":177,"36":49,"37":48,"38":46,"39":56,"40":46,"41":49,"42":51,"43":48,"44":46,"45":49,"46":57,"47":0,"48":175,"49":132,"50":180,"51":129,"52":140,"53":130,"54":152,"55":74,"56":105,"57":50,"58":118,"59":85,"60":77,"61":8
11-23 16:00:42.589 I/Gecko   (  110): -*- RadioInterfaceLayer: handleSmsReceived: {"SMSC":"+886932400851","mti":0,"udhi":64,"sender":"886911520052","recipient":null,"pid":0,"epid":0,"dcs":4,"mwi":null,"replace":false,"header":{"length":11,"langIndex":0,"langShiftIndex":0,"destinationPort":2948,"originatorPort":9200,"segmentRef":158,"segmentMaxSeq":2,"segmentSeq":1},"body":null,"timestamp":1353657638000,"status":null,"scts":null,"dt":null,"encoding":4,"messageClass":"normal","segmentMaxSeq":2,"receivedSegments":2,"segments":[null,{"0":201,"1":6,"2":49,"3":97,"4":112,"5":112,"6":108,"7":105,"8":99,"9":97,"10":116,"11":105,"12":111,"13":110,"14":47,"15":118,"16":110,"17":100,"18":46,"19":119,"20":97,"21":112,"22":46,"23":109,"24":109,"25":115,"26":45,"27":109,"28":101,"29":115,"30":115,"31":97,"32":103,"33":101,"34":0,"35":177,"36":49,"37":48,"38":46,"39":56,"40":46,"41":49,"42":51,"43":48,"44":46,"45":49,"46":57,"47":0,"48":175,"49":132,"50":180,"51":129,"52":140,"53":130,"54":152,"55":74,"56":105,"57":50,"58":118,"59":85,"60":77,"61":89,"62":83,"
11-23 16:00:42.599 I/Gecko   (  110): RIL Worker: New outgoing parcel of type 37
11-23 16:00:42.599 I/Gecko   (  110): RIL Worker: Outgoing parcel: 0,0,0,20,37,0,0,0,61,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0
11-23 16:00:42.599 I/Gecko   (  110): RIL Worker: Next parcel size unknown, going to sleep.
11-23 16:00:42.599 I/Gecko   (  110): RIL Worker: Received 16 bytes.
11-23 16:00:42.609 E/GeckoConsole(  110): [JavaScript Error: "IDL methods marked with [implicit_jscontext] or [optional_argc] may not be implemented in JS" {file: "resource://gre/modules/WapPushManager.js" line: 48}]
Correct previous comment, I think the problem occurred while RadioInterfaceLayer.js call WapPushManager.receiveWdpPDU
After more tests, I narrow down the proble to WAP.WapPushManager.receiveWdpPDU(message.fullData, message.fullData.length, 0, options); can't be called in function RadioInterfaceLayer.handleSmsWdpPortPush(message).
Assignee: nobody → ctai
Status: NEW → ASSIGNED
After some experiment, you can remove the line 
"[implicit_jscontext]"
before the line 
"void receiveWapPush([array, size_is(aLength)] in octet aData" 
in dom/mms/interfaces/nsIWapPushApplication.idl to avoid this error.
After some experiment, you can remove the line 
"[implicit_jscontext]"
before the line 
"void receiveWapPush([array, size_is(aLength)] in octet aData" 
in dom/mms/interfaces/nsIWapPushApplication.idl to avoid this error.
Summary: Can not call from WapPushManager.processMessage to MmsService.receiveWapPush → B2G MMS: Can not call from WapPushManager.processMessage to MmsService.receiveWapPush
Remove implicit_jscontext in function receiveWapPush. Then WapPushManager.processMessage can call to MmsService.receiveWapPush.
Attachment #685932 - Flags: review?(vyang)
Comment on attachment 685932 [details] [diff] [review]
Remove implicit_jscontext

Review of attachment 685932 [details] [diff] [review]:
-----------------------------------------------------------------

Oops, thank you :)
Attachment #685932 - Flags: review?(vyang) → review+
https://hg.mozilla.org/mozilla-central/rev/10b4034b8b16
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
For mms merge to b2g18.
blocking-b2g: --- → leo?
blocking-b2g: leo? → leo+
The entire set of clian's pushes was backed out for multiple reasons.
https://tbpl.mozilla.org/?tree=Mozilla-B2g18&rev=a0b06192f882

1.) The tree rules are clear that you are not to land on top of bustage. At the time you pushed, both B2G Mn and B2G xpcshell had bustage from prior commits that hadn't been backed out yet.
2.) The tree rules are also clear that you are to watch your pushes for any bustage and handle them accordingly. mozilla-inbound is the ONLY tree where this rule does not apply.
3.) Even after the earlier bustage was backed out, something in one of your many pushes was causing further B2G Mn failures as shown in the log below.
https://tbpl.mozilla.org/php/getParsedLog.php?id=20424173&tree=Mozilla-B2g18
4.) This isn't cause for backout by itself, but it is also strongly preferred to not push each commit individually as our build and testing resources are limited and doing so stretches them even thinner. Please limit your number of pushes as much as possible unless you have good reason for keeping them separate.
Flags: in-moztrap-
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: