Closed Bug 1095717 Opened 10 years ago Closed 10 years ago

browser_newtab_update.js is failing when we run-by-dir on debug builds

Categories

(Firefox :: General, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
Firefox 36

People

(Reporter: jmaher, Assigned: ttaubert)

References

Details

Attachments

(1 file)

In a continuing effort on bug 1057512, we are looking to run tests per directory instead of a a big large chunk.  This future proofs us for splitting into more chunks and it helps prevent tests from affecting other tests!

Here is a try run showing the failures:
https://treeherder.mozilla.org/ui/#/jobs?repo=try&revision=24074e9f7d38&searchQuery=mochitest-browser-chrome-1

10:31:50 INFO - 666 INFO checking window state
10:31:50 INFO - 667 INFO TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/newtab/browser_newtab_update.js | A promise chain failed to handle a rejection: - at resource://app/modules/BrowserNewTabPreloader.jsm:304 - TypeError: this._browser.docShell is undefined
10:31:50 INFO - Stack trace:
10:31:50 INFO - HiddenBrowser.prototype._createBrowser/<@resource://app/modules/BrowserNewTabPreloader.jsm:304:7
10:31:50 INFO - Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:868:23
10:31:50 INFO - this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:747:7
10:31:52 INFO - ###!!! [Parent][OnMaybeDequeueOne] Error: Channel closing: too late to send/recv, messages will be lost
Joel, can you please try whether the two patches attached to bug 1077652 fix the above failures?
Flags: needinfo?(jmaher)
that first push was subjected to server overload, I redid it later in the day:
https://treeherder.mozilla.org/ui/#/jobs?repo=try&revision=88a804df43cc&searchQuery=windows%20browser-chrome-1

It appears that those two patches are not helping :(
(In reply to Joel Maher (:jmaher) from comment #3)
> It appears that those two patches are not helping :(

Ok, I guess we should wait to see whether bug 1077652 as a whole (the new preload mechanism) can fix this. I am currently working on getting this landed asap.
Looking at the failure, how about this? Can you please push this to try on top of your patches? I just had this happen locally when running a single newtab test.
Attachment #8520599 - Flags: feedback?(jmaher)
Comment on attachment 8520599 [details] [diff] [review]
0003-Bug-1095717-Bail-out-when-creating-the-next-preload-.patch

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

this is green on try server:
https://treeherder.mozilla.org/ui/#/jobs?repo=try&revision=12005ab932bf

the fix looks straightforward, I would be excited to see this land.
Attachment #8520599 - Flags: feedback?(jmaher) → feedback+
Comment on attachment 8520599 [details] [diff] [review]
0003-Bug-1095717-Bail-out-when-creating-the-next-preload-.patch

The Promise returned by HostFrame.get() resolves on the next tick so the parent host frame might have been destroyed already at that point. When that is the case we seem to properly append the <browser> child but it doesn't get a frame loader + docShell anymore.

I could have added a wasDestroyed or similar flag to the HostFrame but checking whether there is a docShell seems more straightforward to me.
Attachment #8520599 - Flags: review?(jaws)
Assignee: nobody → ttaubert
Status: NEW → ASSIGNED
Attachment #8520599 - Flags: review?(jaws) → review+
https://hg.mozilla.org/integration/fx-team/rev/6dafe00f178a

The cset says r=jaws instead of r=gavin. Should read my emails more closely, sorry :/
https://hg.mozilla.org/mozilla-central/rev/6dafe00f178a
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 36
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: