Investigating tp6m-6 raptor test for raptor-tp6m-bbc-geckoview
Categories
(Testing :: Raptor, enhancement, P1)
Tracking
(firefox68 fixed)
| Tracking | Status | |
|---|---|---|
| firefox68 | --- | fixed |
People
(Reporter: alexandrui, Assigned: alexandrui)
References
Details
Attachments
(3 files)
This test is failing for Android 8.0 Pixel2 opt: https://treeherder.mozilla.org/#/jobs?repo=try&revision=4661634472cedab54112b0389024fa43622d830f&selectedJob=231224968
| Assignee | ||
Updated•7 years ago
|
| Assignee | ||
Updated•7 years ago
|
Updated•7 years ago
|
Comment 1•7 years ago
|
||
| Assignee | ||
Comment 2•7 years ago
|
||
I tried running this on Pixel2 with different parameters changed (timeout, startup delay, TTFI, run_at) but still couldn't get rid of the TIMEOUT fail.
Every time the test fails there is a js error:
Error: permission denied to access object
onload https://static.bbc.co.uk/bbcdotcom/...
I used the --debug-mode to see if window.performance.timing.* is available when this error is received, and it is! (screenshot attached)
I searched for permission denied to access object and this pointed me to something that might have to do with nss certificates?
https://searchfox.org/mozilla-central/search?q=Permission+denied+to+access+object&case=false®exp=false&path=
| Assignee | ||
Comment 3•7 years ago
|
||
Comment 4•7 years ago
|
||
Do you see the same JavaScript error when the test passes? :acreskey have you seen this before when running tests?
| Assignee | ||
Comment 5•7 years ago
|
||
davehunt, I don't see this error when the tests passes. If you want the log of any test in the spreadsheet (https://docs.google.com/spreadsheets/d/1NcKPjWAl7roU04o8j7tZBCM2-_-hRl2vlPWi2P_Lbos/edit#gid=0) I saved all of them.
Comment 6•7 years ago
|
||
davehunt, I haven't seen this error before.
Possibly window.performance is undefined when we store this in perfData?
https://searchfox.org/mozilla-central/source/testing/raptor/webext/raptor/measure.js#6
We could test this by instead of storing window.performance in perfData we could verify that it's defined and use it directly in measure.js.
Updated•7 years ago
|
| Assignee | ||
Comment 7•7 years ago
|
||
:acreskey, I replaced perfData with a function perfData returning window.performance but I am getting the same result with a startup delay of 120s and page timeout of 90s.
Comment 8•7 years ago
|
||
Hmm...
Alexandru, do you know if it's window or window.performance that's not defined at this point?
As a test we may have to hold off on the measuring until the undefined object becomes defined.
In Bug 1533059 I'm proposing that the raptor web extension isn't injecting itself at a stable time. But note that we haven't found a solution that solves all pages there either.
| Assignee | ||
Comment 9•7 years ago
|
||
I am analyzing this thing, I am trying to find out at which point becomes window or window.performance defined. Or rather to find a dynamic logic that will wait for it to become defined no matter what point in time it is.
I will look into Bug 1533059, thanks.
| Assignee | ||
Comment 10•7 years ago
•
|
||
Bad news. When the test fails, for some reason the execution never gets into the overloading of window.onload and apparently it's not blocked by the undefined state of window.performance.
Ignore the undefined, put it by mistake before the assignment.
Comment 11•7 years ago
|
||
(In reply to Alexandru Ionescu from comment #10)
Created attachment 9051934 [details]
Screenshot from 2019-03-19 10-52-45.pngBad news. When the test fails, for some reason the execution never gets into the overloading of
window.onloadand apparently it's not blocked by the undefined state ofwindow.performance.
Ignore theundefined, put it by mistake before the assignment.
Is this a race condition between Raptor and the website for defining window.onload? If the website gets there first, Raptor preserves the onload and defines it's own, but if Raptor get there first the website would be replacing Raptor's. Can you experiment with :acreskey's patch in https://hg.mozilla.org/try/rev/880f845a9c3a1a7d4adb664e06b3bcbfb35e9dba to see if using the load event listener instead of the onload helps?
Updated•7 years ago
|
| Assignee | ||
Comment 12•7 years ago
|
||
Fixed after adding document_end and event listener:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=2d500a6f51ebbc4dd65d87d7dec86e2c19c2f43e
Comment 13•7 years ago
|
||
Comment 14•7 years ago
|
||
Comment 15•7 years ago
|
||
Comment 16•7 years ago
|
||
| bugherder | ||
Description
•