Closed Bug 905228 Opened 11 years ago Closed 10 years ago

B2G Mn perma-fail - test_voicemail_statuschanged.py TestVoicemailStatusChanged.testStatusChanged | ReferenceError: MozVoicemailStatus is not defined - false was false, expected true

Categories

(Firefox OS Graveyard :: RIL, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(tracking-b2g:backlog, firefox24 unaffected, firefox25 unaffected, firefox26 affected, b2g18 unaffected)

RESOLVED DUPLICATE of bug 833229
tracking-b2g backlog
Tracking Status
firefox24 --- unaffected
firefox25 --- unaffected
firefox26 --- affected
b2g18 --- unaffected

People

(Reporter: RyanVM, Unassigned)

References

Details

Attachments

(1 file)

Due to recent TBPL log parsing improvements, we are catching exceptions and errors that were previously going unnoticed. I was recently looking at Marionette logs and came upon this error, which is visible even on "green" runs. It seems that this is somehow silently failing? Only the dump is showing it. https://tbpl.mozilla.org/php/getParsedLog.php?id=26540516&tree=B2g-Inbound b2g_emulator b2g-inbound opt test marionette-webapi on 2013-08-14 08:03:35 PDT for push 74f9e817d079 slave: talos-r3-fed-085 The "passing run": 05:39:06 INFO - TEST-START test_voicemail_statuschanged.py 05:39:08 INFO - testStatusChanged (test_voicemail_statuschanged.TestVoicemailStatusChanged) ... ok 05:39:08 INFO - START LOG: 05:39:08 INFO - INFO TEST-START: /home/cltbld/talos-slave/test/build/tests/marionette/tests/dom/voicemail/test/marionette/test_voicemail_statuschanged.py:testStatusChanged Wed Aug 14 2013 12:39:07 GMT+0000 (GMT) 05:39:08 INFO - INFO -> sms pdu 00000B915121551532F45FF0000000000000000F3190BB7C07D9DFE971B91D4EB301 Wed Aug 14 2013 12:39:07 GMT+0000 (GMT) 05:39:08 INFO - INFO <- OK Wed Aug 14 2013 12:39:08 GMT+0000 (GMT) 05:39:08 INFO - INFO -> sms pdu 00000B915121551532F500C8000000000000000F3190BB7C07D9DFE971B91D4EB301 Wed Aug 14 2013 12:39:08 GMT+0000 (GMT) 05:39:08 INFO - INFO <- OK Wed Aug 14 2013 12:39:08 GMT+0000 (GMT) 05:39:08 INFO - INFO -> sms pdu 00000B915121551532F500C0000000000000000F3190BB7C07D9DFE971B91D4EB301 Wed Aug 14 2013 12:39:08 GMT+0000 (GMT) 05:39:08 INFO - INFO <- OK Wed Aug 14 2013 12:39:08 GMT+0000 (GMT) 05:39:08 INFO - INFO -> sms pdu 00400B915121551532F600C800000000000000160401020003CC40EEF21D647FA7C7E57638CD9E03 Wed Aug 14 2013 12:39:08 GMT+0000 (GMT) 05:39:08 INFO - INFO <- OK Wed Aug 14 2013 12:39:08 GMT+0000 (GMT) 05:39:08 INFO - INFO -> sms pdu 00400B915121551532F600C8000000000000001A040102000038DFA0BA5B5E0E9341F6777A5C6E87D3EC39 Wed Aug 14 2013 12:39:08 GMT+0000 (GMT) 05:39:08 INFO - INFO <- OK Wed Aug 14 2013 12:39:08 GMT+0000 (GMT) 05:39:08 INFO - INFO TEST-END: /home/cltbld/talos-slave/test/build/tests/marionette/tests/dom/voicemail/test/marionette/test_voicemail_statuschanged.py:testStatusChanged Wed Aug 14 2013 12:39:08 GMT+0000 (GMT) The dump output showing failures: 08:31:31 INFO - 08-14 15:21:12.042 45 45 I Gecko : MARIONETTE LOG: INFO: TEST-START: /home/cltbld/talos-slave/test/build/tests/marionette/tests/dom/voicemail/test/marionette/test_voicemail_statuschanged.py:testStatusChanged 08:31:31 INFO - 08-14 15:21:12.052 45 45 I Gecko : 1376493672051 Marionette INFO sendToClient: {"from":"0","value":null}, {f35cb443-4ede-480f-bb99-1e092753ad78}, {f35cb443-4ede-480f-bb99-1e092753ad78} 08:31:31 INFO - 08-14 15:21:12.082 45 45 I Gecko : 1376493672076 Marionette TRACE Got: {"to": "0", "session": "6-b2g", "type": "importScript", "script": "/* Any copyright is dedicated to the Public Domain.\n * http://creativecommons.org/publicdomain/zero/1.0/ */\n\"use strict\";\n\nlet RIL = {};\nSpecialPowers.Cu.import(\"resource://gre/modules/ril_consts.js\", RIL);\n\n// Only bring in what we need from ril_worker/RadioInterfaceLayer here. Reusing\n// that code turns out to be a nightmare, so there is some code duplication.\nlet PDUBuilder = {\n toHexString: function toHexString(n, length) {\n let str = n.toString(16);\n if (str.length < length) {\n for (let i = 0; i < length - str.length; i++) {\n str = \"0\" + str;\n }\n }\n return str.toUpperCase();\n },\n\n writeUint16: function writeUint16(value) {\n this.buf += (value & 0xff).toString(16).toUpperCase();\n this.buf += ((value >> 8) & 0xff).toString(16).toUpperCase();\n },\n\n writeHexOctet: function writeHexOctet(octet) {\n this.buf += this.toHexString(octet, 08:31:31 INFO - 08-14 15:21:12.103 45 45 I Gecko : 1376493672097 Marionette INFO sendToClient: {"from":"0","ok":true}, {112537af-2b6d-479e-994b-0759b010b195}, {112537af-2b6d-479e-994b-0759b010b195} 08:31:31 INFO - 08-14 15:21:12.122 45 45 I Gecko : 1376493672119 Marionette TRACE Got: {"to": "0", "session": "6-b2g", "type": "setScriptTimeout", "value": 30000} 08:31:31 INFO - 08-14 15:21:12.132 45 45 I Gecko : 1376493672129 Marionette INFO sendToClient: {"from":"0","ok":true}, {f7173311-031b-4b1e-b0b1-5528f4869fea}, {f7173311-031b-4b1e-b0b1-5528f4869fea} 08:31:31 INFO - 08-14 15:21:12.172 45 45 I Gecko : 1376493672166 Marionette TRACE Got: {"specialPowers": false, "scriptTimeout": null, "newSandbox": true, "args": [], "value": "/* Any copyright is dedicated to the Public Domain.\n * http://creativecommons.org/publicdomain/zero/1.0/ */\n\nSpecialPowers.addPermission(\"voicemail\", true, document);\n\nlet voicemail = window.navigator.mozVoicemail;\nok(voicemail instanceof MozVoicemail);\nis(voicemail.status, null);\n\nfunction sendIndicatorPDU(pdu, listener, nextTest) {\n let smsCommand = \"sms pdu \" + pdu;\n let commandCompleted = false;\n let sawEvent = false;\n\n voicemail.addEventListener(\"statuschanged\", function statusChanged(event) {\n voicemail.removeEventListener(\"statuschanged\", statusChanged);\n\n try {\n listener(event);\n } catch (e) {\n ok(false, String(e));\n }\n\n sawEvent = true;\n if (commandCompleted) {\n nextTest();\n }\n });\n\n log(\"-> \" + smsCommand);\n runEmulatorCmd(smsCommand, function(result) {\n log(\"<- \" + result);\n is(resu 08:31:31 INFO - 08-14 15:21:12.182 45 45 I Gecko : 1376493672181 Marionette DEBUG Got request: executeWithCallback, data: {"specialPowers":false,"scriptTimeout":null,"newSandbox":true,"args":[],"value":"/* Any copyright is dedicated to the Public Domain.\n * http://creativecommons.org/publicdomain/zero/1.0/ */\n\nSpecialPowers.addPermission(\"voicemail\", true, document);\n\nlet voicemail = window.navigator.mozVoicemail;\nok(voicemail instanceof MozVoicemail);\nis(voicemail.status, null);\n\nfunction sendIndicatorPDU(pdu, listener, nextTest) {\n let smsCommand = \"sms pdu \" + pdu;\n let commandCompleted = false;\n let sawEvent = false;\n\n voicemail.addEventListener(\"statuschanged\", function statusChanged(event) {\n voicemail.removeEventListener(\"statuschanged\", statusChanged);\n\n try {\n listener(event);\n } catch (e) {\n ok(false, String(e));\n }\n\n sawEvent = true;\n if (commandCompleted) {\n nextTest();\n }\n });\n\n log(\"-> \" + smsCommand);\n runEmulatorCmd(smsCommand, function(result) {\n log(\"<- 08:31:31 INFO - 08-14 15:21:12.332 45 45 I Gecko : MARIONETTE TEST RESULT:TEST-PASS | test_voicemail_statuschanged.py TestVoicemailStatusChanged.testStatusChanged | undefined - true was true, expected true 08:31:31 INFO - 08-14 15:21:12.332 45 45 I Gecko : MARIONETTE TEST RESULT:TEST-PASS | test_voicemail_statuschanged.py TestVoicemailStatusChanged.testStatusChanged | undefined - null should equal null 08:31:31 INFO - 08-14 15:21:12.352 45 45 I Gecko : MARIONETTE LOG: INFO: -> sms pdu 00000B915121551532F45FF0000000000000000F3190BB7C07D9DFE971B91D4EB301 08:31:31 INFO - 08-14 15:21:12.382 45 45 I Gecko : 1376493672381 Marionette INFO sendToClient: {"emulator_cmd":"sms pdu 00000B915121551532F45FF0000000000000000F3190BB7C07D9DFE971B91D4EB301","id":149}, -1, {ad090e32-4b69-4c5b-9f5b-07d05f5b6636} 08:31:31 INFO - 08-14 15:21:12.402 45 45 I Gecko : 1376493672402 Marionette TRACE Got: {"to": "0", "type": "emulatorCmdResult", "id": 149, "result": ["OK"]} 08:31:31 INFO - 08-14 15:21:12.432 45 45 I Gecko : MARIONETTE LOG: INFO: <- OK 08:31:31 INFO - 08-14 15:21:12.432 45 45 I Gecko : MARIONETTE TEST RESULT:TEST-PASS | test_voicemail_statuschanged.py TestVoicemailStatusChanged.testStatusChanged | undefined - OK should equal OK 08:31:31 INFO - 08-14 15:21:12.462 45 45 I Gecko : MARIONETTE TEST RESULT:TEST-UNEXPECTED-FAIL | test_voicemail_statuschanged.py TestVoicemailStatusChanged.testStatusChanged | ReferenceError: MozVoicemailStatus is not defined - false was false, expected true 08:31:31 INFO - 08-14 15:21:12.462 45 45 I Gecko : MARIONETTE LOG: INFO: -> sms pdu 00000B915121551532F500C8000000000000000F3190BB7C07D9DFE971B91D4EB301 08:31:31 INFO - 08-14 15:21:12.482 45 45 I Gecko : 1376493672479 Marionette INFO sendToClient: {"emulator_cmd":"sms pdu 00000B915121551532F500C8000000000000000F3190BB7C07D9DFE971B91D4EB301","id":150}, -1, {ad090e32-4b69-4c5b-9f5b-07d05f5b6636} 08:31:31 INFO - 08-14 15:21:12.512 45 45 I Gecko : 1376493672511 Marionette TRACE Got: {"to": "0", "type": "emulatorCmdResult", "id": 150, "result": ["OK"]} 08:31:31 INFO - 08-14 15:21:12.522 45 45 I Gecko : MARIONETTE TEST RESULT:TEST-UNEXPECTED-FAIL | test_voicemail_statuschanged.py TestVoicemailStatusChanged.testStatusChanged | ReferenceError: MozVoicemailStatus is not defined - false was false, expected true 08:31:31 INFO - 08-14 15:21:12.532 45 45 I Gecko : MARIONETTE LOG: INFO: <- OK 08:31:31 INFO - 08-14 15:21:12.532 45 45 I Gecko : MARIONETTE TEST RESULT:TEST-PASS | test_voicemail_statuschanged.py TestVoicemailStatusChanged.testStatusChanged | undefined - OK should equal OK 08:31:31 INFO - 08-14 15:21:12.532 45 45 I Gecko : MARIONETTE LOG: INFO: -> sms pdu 00000B915121551532F500C0000000000000000F3190BB7C07D9DFE971B91D4EB301 08:31:31 INFO - 08-14 15:21:12.552 45 45 I Gecko : 1376493672548 Marionette INFO sendToClient: {"emulator_cmd":"sms pdu 00000B915121551532F500C0000000000000000F3190BB7C07D9DFE971B91D4EB301","id":151}, -1, {ad090e32-4b69-4c5b-9f5b-07d05f5b6636} 08:31:31 INFO - 08-14 15:21:12.572 45 45 I Gecko : 1376493672568 Marionette TRACE Got: {"to": "0", "type": "emulatorCmdResult", "id": 151, "result": ["OK"]} 08:31:31 INFO - 08-14 15:21:12.582 45 45 I Gecko : MARIONETTE LOG: INFO: <- OK 08:31:31 INFO - 08-14 15:21:12.592 45 45 I Gecko : MARIONETTE TEST RESULT:TEST-PASS | test_voicemail_statuschanged.py TestVoicemailStatusChanged.testStatusChanged | undefined - OK should equal OK 08:31:31 INFO - 08-14 15:21:12.592 45 45 I Gecko : MARIONETTE TEST RESULT:TEST-UNEXPECTED-FAIL | test_voicemail_statuschanged.py TestVoicemailStatusChanged.testStatusChanged | ReferenceError: MozVoicemailStatus is not defined - false was false, expected true 08:31:31 INFO - 08-14 15:21:12.592 45 45 I Gecko : MARIONETTE LOG: INFO: -> sms pdu 00400B915121551532F600C800000000000000160401020003CC40EEF21D647FA7C7E57638CD9E03 08:31:31 INFO - 08-14 15:21:12.612 45 45 I Gecko : 1376493672605 Marionette INFO sendToClient: {"emulator_cmd":"sms pdu 00400B915121551532F600C800000000000000160401020003CC40EEF21D647FA7C7E57638CD9E03","id":152}, -1, {ad090e32-4b69-4c5b-9f5b-07d05f5b6636} 08:31:31 INFO - 08-14 15:21:12.632 45 45 I Gecko : 1376493672636 Marionette TRACE Got: {"to": "0", "type": "emulatorCmdResult", "id": 152, "result": ["OK"]} 08:31:31 INFO - 08-14 15:21:12.653 45 45 I Gecko : MARIONETTE TEST RESULT:TEST-UNEXPECTED-FAIL | test_voicemail_statuschanged.py TestVoicemailStatusChanged.testStatusChanged | ReferenceError: MozVoicemailStatus is not defined - false was false, expected true 08:31:31 INFO - 08-14 15:21:12.653 45 45 I Gecko : MARIONETTE LOG: INFO: <- OK 08:31:31 INFO - 08-14 15:21:12.663 45 45 I Gecko : MARIONETTE TEST RESULT:TEST-PASS | test_voicemail_statuschanged.py TestVoicemailStatusChanged.testStatusChanged | undefined - OK should equal OK 08:31:31 INFO - 08-14 15:21:12.663 45 45 I Gecko : MARIONETTE LOG: INFO: -> sms pdu 00400B915121551532F600C8000000000000001A040102000038DFA0BA5B5E0E9341F6777A5C6E87D3EC39 08:31:31 INFO - 08-14 15:21:12.673 45 45 I Gecko : 1376493672671 Marionette INFO sendToClient: {"emulator_cmd":"sms pdu 00400B915121551532F600C8000000000000001A040102000038DFA0BA5B5E0E9341F6777A5C6E87D3EC39","id":153}, -1, {ad090e32-4b69-4c5b-9f5b-07d05f5b6636} 08:31:31 INFO - 08-14 15:21:12.703 45 45 I Gecko : 1376493672698 Marionette TRACE Got: {"to": "0", "type": "emulatorCmdResult", "id": 153, "result": ["OK"]} 08:31:31 INFO - 08-14 15:21:12.713 45 45 I Gecko : MARIONETTE TEST RESULT:TEST-UNEXPECTED-FAIL | test_voicemail_statuschanged.py TestVoicemailStatusChanged.testStatusChanged | ReferenceError: MozVoicemailStatus is not defined - false was false, expected true 08:31:31 INFO - 08-14 15:21:12.723 45 45 I Gecko : MARIONETTE LOG: INFO: <- OK 08:31:31 INFO - 08-14 15:21:12.723 45 45 I Gecko : MARIONETTE TEST RESULT:TEST-PASS | test_voicemail_statuschanged.py TestVoicemailStatusChanged.testStatusChanged | undefined - OK should equal OK 08:31:31 INFO - 08-14 15:21:12.753 45 45 I Gecko : 1376493672753 Marionette INFO sendToClient: {"from":"0","value":{"passed":7,"failed":5,"failures":[{"name":"ReferenceError: MozVoicemailStatus is not defined","diag":"false was false, expected true"},{"name":"ReferenceError: MozVoicemailStatus is not defined","diag":"false was false, expected true"},{"name":"ReferenceError: MozVoicemailStatus is not defined","diag":"false was false, expected true"},{"name":"ReferenceError: MozVoicemailStatus is not defined","diag":"false was false, expected true"},{"name":"ReferenceError: MozVoicemailStatus is not defined","diag":"false was false, expected true"}]}}, {ad090e32-4b69-4c5b-9f5b-07d05f5b6636}, {ad090e32-4b69-4c5b-9f5b-07d05f5b6636} 08:31:31 INFO - 08-14 15:21:12.772 45 45 I Gecko : 1376493672772 Marionette TRACE Got: {"to": "0", "session": "6-b2g", "type": "setContext", "value": "content"} 08:31:31 INFO - 08-14 15:21:12.782 45 45 I Gecko : 1376493672782 Marionette DEBUG Got request: setContext, data: {"to":"0","session":"6-b2g","type":"setContext","value":"content"}, id: {e207a58b-3cc5-4db7-b74d-6558cffb6f92} 08:31:31 INFO - 08-14 15:21:12.792 45 45 I Gecko : 1376493672790 Marionette INFO sendToClient: {"from":"0","ok":true}, {e207a58b-3cc5-4db7-b74d-6558cffb6f92}, {e207a58b-3cc5-4db7-b74d-6558cffb6f92} 08:31:31 INFO - 08-14 15:21:12.812 45 45 I Gecko : 1376493672816 Marionette TRACE Got: {"specialPowers": false, "scriptTimeout": null, "newSandbox": true, "args": [], "value": "log('TEST-END: /home/cltbld/talos-slave/test/build/tests/marionette/tests/dom/voicemail/test/marionette/test_voicemail_statuschanged.py:testStatusChanged')", "filename": "marionette_test.py", "to": "0", "session": "6-b2g", "line": 309, "type": "executeScript"} 08:31:31 INFO - 08-14 15:21:12.832 45 45 I Gecko : 1376493672826 Marionette DEBUG Got request: execute, data: {"specialPowers":false,"scriptTimeout":null,"newSandbox":true,"args":[],"value":"log('TEST-END: /home/cltbld/talos-slave/test/build/tests/marionette/tests/dom/voicemail/test/marionette/test_voicemail_statuschanged.py:testStatusChanged')","filename":"marionette_test.py","to":"0","session":"6-b2g","line":309,"type":"executeScript"}, id: {5dd1d87e-7a7d-4660-8405-b5c970a59c17} 08:31:31 INFO - 08-14 15:21:12.912 45 45 I Gecko : MARIONETTE LOG: INFO: TEST-END: /home/cltbld/talos-slave/test/build/tests/marionette/tests/dom/voicemail/test/marionette/test_voicemail_statuschanged.py:testStatusChanged
This is due to bug 807095; I didn't realize any tests actually used this combination.
Depends on: 807095
And FYI, this only shows up intermittently on TBPL because we only dump the logcat in case some other test fails, in which case the parser catches this bug as well.
(In reply to Jonathan Griffin (:jgriffin) from comment #1) > This is due to bug 807095; I didn't realize any tests actually used this > combination. Great, so we can use this bug for tracking the above occurrence without issue. Overall, this situation seems bad. How big of a deal is bug 807095 to implement?
Assignee: nobody → vyang
It's not trivial to implement bug 807095; I'll take a look at it in the next couple of days. It doesn't cause any extra reds/oranges on TBPL; it only manifests when another failure causes a red or orange. But I agree it needs to be fixed pretty ASAP.
It seems MozVoicemailStatus is never included in nsDOMClassInfo.cpp, and even we fill this up, it will be removed in bug 888593, voicemail webidl. I'll disable the line first and place a TODO to figure out what to do here.
Attached patch patchSplinter Review
Attachment #790640 - Flags: review?(jgriffin)
Comment on attachment 790640 [details] [diff] [review] patch Review of attachment 790640 [details] [diff] [review]: ----------------------------------------------------------------- Thanks Vicamo.
Attachment #790640 - Flags: review?(jgriffin) → review+
https://hg.mozilla.org/mozilla-central/rev/abcb6dffe0e0 Confirmed that failing Mn runs no longer show these errors. Thanks!
Status: NEW → RESOLVED
Closed: 11 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla26
Sorry, I think we can leave this open so that we may remember to remove those TODO lines.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Depending on bug 888593 instead to see what can we do after moving to WebIDL.
Depends on: 888593
No longer depends on: 807095
No problem. I'm at least going to remove the dependency on bug 892958, though.
No longer blocks: 892958
Assignee: vyang → nobody
Component: DOM: Events → DOM: Device Interfaces
No longer depends on: 888593
Depends on: 906404
Component: DOM: Device Interfaces → RIL
Product: Core → Firefox OS
Target Milestone: mozilla26 → ---
Put it in backlog.
blocking-b2g: --- → backlog
To be resolved in bug 833229.
Status: REOPENED → RESOLVED
Closed: 11 years ago10 years ago
Resolution: --- → DUPLICATE
blocking-b2g: backlog → ---
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: