Closed Bug 864711 Opened 7 years ago Closed 7 years ago

Intermittent sessionstore/test/browser_pageshow.js | Test timed out

Categories

(Firefox :: Session Restore, defect)

x86
Linux
defect
Not set

Tracking

()

RESOLVED FIXED
Firefox 23

People

(Reporter: emorley, Assigned: ttaubert)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

Rev3 Fedora 12 mozilla-inbound opt test mochitest-browser-chrome on 2013-04-22 23:44:14 PDT for push a6639d6743db

slave: talos-r3-fed-085

https://tbpl.mozilla.org/php/getParsedLog.php?id=22126579&tree=Mozilla-Inbound

{
23:54:25     INFO -  TEST-START | chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_pageshow.js
23:54:25     INFO -  1366700065835	Sync.Status	DEBUG	Status.login: error.login.reason.no_username => error.login.reason.no_username
23:54:25     INFO -  1366700065835	Sync.Status	DEBUG	Status.service: service.client_not_configured => service.client_not_configured
23:54:50     INFO -  1366700090414	Services.DataReporting.Policy	DEBUG	Deletion request is scheduled for the future: Tue Apr 23 2013 23:51:06 GMT-0700 (PDT)
23:54:55  WARNING -  TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_pageshow.js | Test timed out
23:54:57     INFO -  INFO TEST-END | chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_pageshow.js | finished in 30013ms
23:54:57  WARNING -  TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_pageshow.js | Found a tab after previous test timed out: about:robots
23:54:57     INFO -  TEST-INFO | checking window state
23:54:57  WARNING -  TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_pageshow.js | Found a browser window after previous test timed out
23:54:57     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_pageshow.js | must wait for focus
}
The screenshot shows that the second browser window was opened and about:robots is loaded and the selected tab. Now, I can imagine this test failing because about:robots might not have been put into the bfcache for some reason and we'd wait forever for the SessionStore:pageshow message.

I need to figure out the criteria for pages being put into the bfcache. Either we need to make sure about:robots is always in the bfcache or we could just bail out early or keep re-trying.
Summary: Intermittent → Intermittent timeout in browser/components/sessionstore/test/browser_pageshow.js
Summary: Intermittent timeout in browser/components/sessionstore/test/browser_pageshow.js → Intermittent timeout in browser_pageshow.js
(Sorry must have gotten distracted whilst filing out summary)
Summary: Intermittent timeout in browser_pageshow.js → Intermittent sessionstore/test/browser_pageshow.js | Test timed out
https://developer.mozilla.org/en-US/docs/Working_with_BFCache

According to the docs above we can't event guarantee that a page comes out of the bfcache if we saw it's been put in. Sounds like we should listen for "inner-window-destroyed" and just bail out if that happens. The only thing concerning me is that we wouldn't notice when we bail out permanently.
Assignee: nobody → ttaubert
Status: NEW → ASSIGNED
Attachment #740765 - Flags: review?(dteller)
Comment on attachment 740765 [details] [diff] [review]
simplify test page for browser_pageshow.js to ensure it's put into bfcache

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

Looks good, but I don't really understand how that's going to help us.
Attachment #740765 - Flags: review?(dteller)
(In reply to David Rajchenbach Teller [:Yoric] from comment #16)
> Looks good, but I don't really understand how that's going to help us.

The more complex the page the more likely it is that it may not end up in the bfcache or is thrown out before we can retrieve it from there. The test doesn't control about:robots and about:mozilla so it's much safer to have tiny static pages to test this behavior. If we still see intermittent failures we should add an "inner-window-destroyed" observer that bails out in the rare case the page gets thrown out of the bfcache but I think we should try the simpler approach first. Bailing out would also be bad in case some future change makes us bail out permanently - this would effectively disable this test, that's why I'd like to try the easier option first.
Attachment #740765 - Flags: review?(dteller)
Attachment #740765 - Flags: review?(dteller) → review+
https://hg.mozilla.org/mozilla-central/rev/c6aec5b4f47c
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → Firefox 23
You need to log in before you can comment on or make changes to this bug.