TEST-UNEXPECTED-FAIL | addon-sdk/tests/test-content-worker-parent.test:check worker API with page history | Test timed out (after: port.emit should throw when the page is hidden in history)

RESOLVED FIXED in Firefox 36

Status

Add-on SDK
General
P1
normal
RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: erikvold, Assigned: zombie)

Tracking

({intermittent-failure})

unspecified
mozilla36
intermittent-failure
Dependency tree / graph

Firefox Tracking Flags

(firefox34 unaffected, firefox35 unaffected, firefox36 fixed, firefox-esr31 unaffected)

Details

(URL)

Attachments

(1 attachment)

TEST-START | addon-sdk/tests/test-content-worker-parent.test:check window attribute in toplevel documents
TEST-PASS | addon-sdk/tests/test-content-worker-parent.test:check window attribute in toplevel documents | window.top == window
TEST-PASS | addon-sdk/tests/test-content-worker-parent.test:check window attribute in toplevel documents | window.frameElement is null
TEST-PASS | addon-sdk/tests/test-content-worker-parent.test:check window attribute in toplevel documents | window.parent == window
TEST-END | addon-sdk/tests/test-content-worker-parent.test:check window attribute in toplevel documents
TEST-START | addon-sdk/tests/test-content-worker-parent.test:check worker API with page history
TEST-PASS | addon-sdk/tests/test-content-worker-parent.test:check worker API with page history | postMessage should throw when the page is hidden in history
TEST-PASS | addon-sdk/tests/test-content-worker-parent.test:check worker API with page history | port.emit should throw when the page is hidden in history
TEST-UNEXPECTED-FAIL | addon-sdk/tests/test-content-worker-parent.test:check worker API with page history | Test timed out (after: port.emit should throw when the page is hidden in history)
TEST-INFO | Traceback (most recent call last):
  File "resource://extensions.modules.8b726581-1fbe-484c-9508-aaf77bd1333e-at-jetpack.commonjs.path/sdk/timers.js", line 40, in notify
    callback.apply(null, args);
  File "resource://extensions.modules.8b726581-1fbe-484c-9508-aaf77bd1333e-at-jetpack.commonjs.path/sdk/deprecated/unit-test.js", line 472, in tiredOfWaiting
    self.console.testMessage(false, false, self.test.name,
  File "resource://extensions.modules.8b726581-1fbe-484c-9508-aaf77bd1333e-at-jetpack.commonjs.path/sdk/test/harness.js", line 546, in testMessage
    this.trace();
TEST-UNEXPECTED-FAIL | addon-sdk/tests/test-content-worker-parent.test:check worker API with page history | Should not be any unexpected windows open
TEST-INFO | Traceback (most recent call last):
  File "resource://gre/modules/Promise-backend.js", line 744, in this.PromiseWalker.walkerLoop
    this.handlers.shift().process();
  File "resource://gre/modules/Promise-backend.js", line 865, in Handler.prototype.process
    nextValue = this.onResolve.call(undefined, nextValue);
  File "resource://extensions.modules.8b726581-1fbe-484c-9508-aaf77bd1333e-at-jetpack.commonjs.path/sdk/deprecated/unit-test.js", line 322, in done/<
    this.fail("Should not be any unexpected windows open");
  File "resource://extensions.modules.8b726581-1fbe-484c-9508-aaf77bd1333e-at-jetpack.commonjs.path/sdk/deprecated/unit-test.js", line 97, in fail
    this.console.testMessage(false, false, this.test.name, message);
  File "resource://extensions.modules.8b726581-1fbe-484c-9508-aaf77bd1333e-at-jetpack.commonjs.path/sdk/test/harness.js", line 546, in testMessage
    this.trace();
TEST-INFO | Windows open:
TEST-INFO | chrome://browser/content/browser.xul - about:blank
TEST-INFO | data:application/vnd.mozilla.xul+xml;charset=utf-8,%3C%3Fxml%20version%3D%221.0%22%3F%3E%3Cwindow%20xmlns%3D%22http%3A%2F%2Fwww.mozilla.org%2Fkeymaster%2Fgatekeeper%2Fthere.is.only.xul%22%3E%3Cscript%3Evar%20documentValue%3Dtrue%3B%3C%2Fscript%3E%3C%2Fwindow%3E
TEST-END | addon-sdk/tests/test-content-worker-parent.test:check worker API with page history
TEST-START | addon-sdk/tests/test-content-worker-parent.test:clearInterval
TEST-PASS | addon-sdk/tests/test-content-worker-parent.test:clearInterval | interval cancelled
TEST-END | addon-sdk/tests/test-content-worker-parent.test:clearInterval
TEST-START | addon-sdk/tests/test-content-worker-parent.test:clearTimeout
TEST-PASS | addon-sdk/tests/test-content-worker-parent.test:clearTimeout | timer cancelled
TEST-END | addon-sdk/tests/test-content-worker-parent.test:clearTimeout
TEST-START | addon-sdk/tests/test-content-worker-parent.test:conentScriptFile as URL instance
TEST-PASS | addon-sdk/tests/test-content-worker-parent.test:conentScriptFile as URL instance | received a wrong message from contentScriptFile
TEST-END | addon-sdk/tests/test-content-worker-parent.test:conentScriptFile as URL instance
TEST-START | addon-sdk/tests/test-content-worker-parent.test:console method log functions properly
console.log: addon-sdk: function Function() {
    [native code]
}
https://tbpl.mozilla.org/php/getParsedLog.php?id=51060761&tree=Jetpack&full=1#error0
Blocks: 1083327
Keywords: intermittent-failure
(Assignee)

Updated

3 years ago
Assignee: nobody → tomica+amo
Blocks: 1058698
Status: NEW → ASSIGNED
OS: Linux → All
Priority: -- → P1
(Assignee)

Comment 2

3 years ago
Created attachment 8511842 [details] [review]
Link to Github pull-request: https://github.com/mozilla/addon-sdk/pull/1686

well, i learned my lesson the hard way.

i used a weakly-held observer method on purpose, because i was explicitly holding Worker references in the tab scope. but i missed the subtle point that .bind() creates a separate object (a bound function) that can get GCed independently.

and so of course, this mostly works (during tests), unless some celestial alignment triggers a GC in the middle of one. and of course i'm arrogant, so suspect the test is bad, and this is hard to track down, so i lose the weekend on this.

i bet i'll never make that mistake again.. :\
Attachment #8511842 - Flags: review?(dtownsend+bugmail)
Comment on attachment 8511842 [details] [review]
Link to Github pull-request: https://github.com/mozilla/addon-sdk/pull/1686

If you don't then you're a wiser man than me
Attachment #8511842 - Flags: review?(dtownsend+bugmail) → review+

Comment 4

3 years ago
Commits pushed to master at https://github.com/mozilla/addon-sdk

https://github.com/mozilla/addon-sdk/commit/2fb607565d917687eca6e79648154eca0601b243
bug 1089237 - keep strong reference to bound observer method

https://github.com/mozilla/addon-sdk/commit/0b88728c8ca03414360e351aed078fcf34805d50
Merge pull request #1686 from zombie/1089237-test-worker-history

bug 1089237 - keep strong reference to bound observer method, r=@Mossop
(Assignee)

Updated

3 years ago
Status: ASSIGNED → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → FIXED
status-firefox34: --- → unaffected
status-firefox35: --- → unaffected
status-firefox36: --- → fixed
status-firefox-esr31: --- → unaffected
Target Milestone: --- → mozilla36
You need to log in before you can comment on or make changes to this bug.