Closed Bug 1315887 Opened 4 years ago Closed 2 years ago
_location Bar External Load .js | Test timed out -
47 bytes, text/x-phabricator-request
|Details | Review|
3 years ago
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INCOMPLETE
https://hg.mozilla.org/integration/mozilla-inbound/rev/8133cfb7904cb6ffda4ad3af0fa23000742bdc3a Bug 1315887: Temporarilly disable browser_ext_locationBarExternalLoad for surge in intermittents. r=me
Unfortunately, it looks like this test is a mess. I can't reproduce this issue locally without rr chaos mode, but when I can, we wind up never finishing the tab switch to the newly-created tab. We wind up waiting indefinitely to receive its layers, and the tab remains blank. (Well, the tab is supposed to remain blank, since the test loads about:blank. But I changed it to load a data: URL instead, and that had the same problem.) Presumably this started happening after the removal of shims because the event shims send sync RPC messages to propagate events from the content window to the parent <browser>, which affects timings of a lot of things. But since those shims are only ever enabled for tests these days, it means that the timing issues may have been masked in test runs, but still show up in the wild. I'm going to look into this some more to try to figure out what exactly is going on.
Assignee: nobody → kmaglione+bmo
This is the only remaining skip-if = true test in urlbar, it would be nice to figure it out
Unassigning kmaglione. Mconley, are you a good candidate for this?
Assignee: kmaglione+bmo → nobody
I looked at this yesterday using rr. I too was able to reproduce this using rr chaos mode. I think I see what's going wrong. Here: https://searchfox.org/mozilla-central/rev/adcc169dcf58c2e45ba65c4ed5661d666fc3ac74/browser/base/content/test/urlbar/browser_locationBarExternalLoad.js#48-50 We're calling loadFunc(), which might send messages to the content process to load a data: URI (in the same content process). Then, we use BrowserTestUtils.waitForContentEvent to send a message to add an event listener in the content process for pageshow. That's race-y, because the loadFunc() messages might cause the content process to finish loading the data URI and fire pageshow before the pageshow event listener gets sent. The fastest solution here, I think, is to make sure the pageshow event listener is set before we call loadFunc(). I've got a try push cooking with that solution here: https://treeherder.mozilla.org/#/jobs?repo=try&revision=c31a23c151ed27365d064105bd715afa84cc248d
Assignee: nobody → mconley
Pushed by firstname.lastname@example.org: https://hg.mozilla.org/integration/autoland/rev/1b3f44ff852b Re-enable browser_locationBarExternalLoad.js by making it less race-y. r=mak
Whoops - should have removed the leave-open.
You need to log in before you can comment on or make changes to this bug.