Closed Bug 1188638 Opened 9 years ago Closed 9 years ago

TPS doesn't GC/CC between test causing noisy test results

Categories

(Testing :: Talos, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: BenWa, Assigned: BenWa)

References

Details

Attachments

(2 files, 2 obsolete files)

No description provided.
Attached patch patch (obsolete) — Splinter Review
Assignee: nobody → bgirard
Attachment #8640171 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #8640721 - Flags: review?(blassey.bugs)
This is doing bug 1184277 for TPS + fixing the load order.
Comment on attachment 8640721 [details] [diff] [review] patch Review of attachment 8640721 [details] [diff] [review]: ----------------------------------------------------------------- ::: talos/page_load_test/tabswitch/bootstrap.js @@ +71,5 @@ > if ((aStateFlags & loadedState) == loadedState && > !aWebProgress.isLoadingDocument && > aWebProgress.DOMWindow == aWebProgress.DOMWindow.top) { > + delete waitingToLoad[aBrowser.currentURI.spec]; > + dump("Loaded: " + aBrowser.currentURI.spec + "\n"); left over logging?
Attachment #8640721 - Flags: review?(blassey.bugs) → review+
I was thinking of leaving it since it's useful. The loading phase can take 10-30 seconds and TPS just prints a bit of garbage (maybe one of the tp5 pages uses dump(str) ) during that time. This logging gives you a sense of the page load completing. It's also useful for debugging. Let me know if you want to remove it, it's not that important.
I don't have a strong opinion, leave it in if you think its useful.
url: https://hg.mozilla.org/build/talos/rev/a6529a84f68cb79e52d0318231f33d4a369583db changeset: a6529a84f68cb79e52d0318231f33d4a369583db user: Benoit Girard <b56girard@gmail.com> date: Wed Jul 29 16:53:34 2015 -0400 description: Bug 1188638 - Make sure all TPS test have loaded and run GC/CC between tests. r=blassey
Asking mconley since he wrote the initial patch I ported over: What are the guarantee when from the parent I call: aBrowser.messageManager.loadFrameScript("chrome://pageloader/content/talos-content.js", false); and a bit later I block on: mm.addMessageListener("Talos:ForceGC:OK", function ...); is it possible that the child begins to load talos-content.js but doesn't have it fully loaded, then it receives the "Talos:ForceGC:OK" message before talos-content.js is ready and has it's listener attached, then having missed the message we finished loading talos-content.js?
Flags: needinfo?(mconley)
(In reply to Benoit Girard (:BenWa) from comment #9) > Asking mconley since he wrote the initial patch I ported over: > > What are the guarantee when from the parent I call: > aBrowser.messageManager.loadFrameScript("chrome://pageloader/content/talos- > content.js", false); > > and a bit later I block on: > mm.addMessageListener("Talos:ForceGC:OK", function ...); > > is it possible that the child begins to load talos-content.js but doesn't > have it fully loaded, then it receives the "Talos:ForceGC:OK" message before > talos-content.js is ready and has it's listener attached, then having missed > the message we finished loading talos-content.js? Messages are guaranteed to arrive in-order, and I believe when we call loadFrameScript, we're essentially just sending a single message down with the contents of the URI that you pass, and then execute it on the content side. So it should not be possible for talos-content.js to be in a half-loaded state by the time it receives the message from the parent to start the GC.
Flags: needinfo?(mconley)
Blocks: 1188543
Attachment #8640721 - Attachment is obsolete: true
Attachment #8647076 - Flags: review+
Comment on attachment 8647076 [details] [diff] [review] patch (rebased) r=blassey Review of attachment 8647076 [details] [diff] [review]: ----------------------------------------------------------------- ::: talos/page_load_test/tabswitch/bootstrap.js @@ +75,5 @@ > + delete waitingToLoad[aBrowser.currentURI.spec]; > + dump("Loaded: " + aBrowser.currentURI.spec + "\n"); > + > + aBrowser.messageManager.loadFrameScript("chrome://pageloader/content/talos-content.js", false); > + if (Object.keys(waitingToLoad).length == 0) { This part here must be causing the hang, the GC part is fine. I don't see the dump so I'm not sure if its not bring collected in the log or we're not loading any tab.
Does the above code (and the context) look right to you (or anyone)? There's something that's causing it to work locally but not using our infrastructure.
Flags: needinfo?(mconley)
Talked to BenWa in person.
Flags: needinfo?(mconley)
ah, some observations by BenWa and some hacking locally and on try yields: let parent = localURI.spec.split(localFile.leafName)[0]; + parent = "http://localhost/page_load_test/"; if I hack this in, my try runs are green: https://treeherder.mozilla.org/#/jobs?repo=try&revision=409d80350c74 We have a webserver variable in talos that we could set as a preference and use to distinguish http://localhost (production), vs http://localhost:15707 (--develop mode). There might be other ways to solve this, but this should help get this patch unblocked.
Attachment #8648145 - Flags: review?(jmaher)
Comment on attachment 8648145 [details] [diff] [review] part 0: Load from the webserver Review of attachment 8648145 [details] [diff] [review]: ----------------------------------------------------------------- good stuff here!
Attachment #8648145 - Flags: review?(jmaher) → review+
url: https://hg.mozilla.org/build/talos/rev/869a812af5d26b00b5965f0b4cb52590fbf4962a changeset: 869a812af5d26b00b5965f0b4cb52590fbf4962a user: Benoit Girard <b56girard@gmail.com> date: Fri Aug 14 16:45:49 2015 -0400 description: Bug 1188638 - TPS should load from the webserver instead of the file scheme. r=jmaher url: https://hg.mozilla.org/build/talos/rev/11b48cfc4512ee44b2228d22c4466d0a79e92936 changeset: 11b48cfc4512ee44b2228d22c4466d0a79e92936 user: Benoit Girard <b56girard@gmail.com> date: Wed Jul 29 16:53:34 2015 -0400 description: Bug 1188638 - Make sure all TPS test have loaded and run GC/CC between tests. r=blassey
this was landed to inbound a few minutes ago- please close this if you feel is is done :)
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: