Closed
Bug 1489955
Opened 6 years ago
Closed 6 years ago
Sporadic hangs in WebDriver:SetWindowRect
Categories
(Remote Protocol :: Marionette, defect, P2)
Tracking
(firefox65 fixed, firefox66 fixed)
RESOLVED
FIXED
mozilla66
People
(Reporter: whimboo, Assigned: whimboo)
References
(Depends on 1 open bug)
Details
(Keywords: hang)
In cases like bug 1489628 the command hangs and doesn't return. As result Firefox gets killed after the 360s without a reply from Marionette.
> 11:26:42 INFO - 1536344802211 Marionette TRACE 97 -> [0,5,"WebDriver:GetWindowRect",{}]
> 11:26:42 INFO - 1536344802213 Marionette TRACE 97 <- [1,5,null,{"x":4,"y":4,"width":1366,"height":768,"state":"maximized"}]
> 11:26:42 INFO - 1536344802216 Marionette TRACE 97 -> [0,6,"WebDriver:ExecuteScript",{"scriptTimeout":null,"newSandbox":true,"args":[],"filename":"tests/testing/marionette/harness ... width: window.screen.availWidth,\n height: window.screen.availHeight,\n }","sandbox":null,"line":22}]
> 11:26:42 INFO - 1536344802233 Marionette TRACE 97 <- [1,6,null,{"value":{"width":1366,"height":768}}]
> 11:26:42 INFO - 1536344802237 Marionette TRACE 97 -> [0,7,"WebDriver:SetWindowRect",{"y":null,"x":null,"width":1356,"height":758}]
Note this only happens for tests running on MacOS so far.
Updated•6 years ago
|
Priority: -- → P5
Assignee | ||
Comment 1•6 years ago
|
||
Should be fixed by Andreas' patch on bug 1492499.
Assignee: nobody → ato
Severity: normal → critical
Status: NEW → RESOLVED
Closed: 6 years ago
status-firefox65:
--- → fixed
Keywords: hang
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
Assignee | ||
Comment 2•6 years ago
|
||
This is not completely fixed yet. I will mark a test failure as blocking in a moment.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: mozilla65 → ---
Updated•6 years ago
|
Assignee: ato → nobody
Assignee | ||
Comment 3•6 years ago
|
||
The problem as reported on this bug has been increased since the window manipulation changes have been landed. More and more high frequent intermittent failures appear as tracked by bugs on the dependency list.
Andreas, will you have the time to look at the underlying problem? If not please tell us, so someone else can dive into it. Thanks.
Flags: needinfo?(ato)
Priority: P5 → P2
Comment 4•6 years ago
|
||
I wont have time to look at this within a reasonable timeframe. I
will add some notes and observations about investigating this that
can be useful.
Most of the new intermittents we have seen following
https://bugzilla.mozilla.org/show_bug.cgi?id=1492499 are related
to Mn tests and test_window_rect.py specifically. Why are we not
seeing the same amount of failures with WPT WebDriver tests?
One theory I have is that test_window_rect.py is occassionally,
though for what reason I dont know, started in the wrong state. In
WPT we have much stronger guarantees that the browser is in a
reasonable and safe state before running tests. The first step
would be to make sure test_window_rect.py is in the right test
before running the tests.
My window manipulation changes did not change any code related to
repositioning the window (window.moveTo), but it did attempt to
make WebDriver:SetWindowRect indempotent. It is worth reviewing
if this check is correct.
Many of the failures are related to calling WebDriver:SetWindowRect
after the window recovers from a different window state e.g. from
being minimised, maximised, or fullscreen. That means exitFullscreen
and/or restoreWindow could be wrong. I somewhat suspect we are not
always receiving the expected events (for various reasons) and
instead relying on the TimedPromises to time out.
The arbitrary 1.5 second timeout of TimedPromise would explain why
we are only seeing these problems intermittently.
I hope this helps!
Flags: needinfo?(ato)
Assignee | ||
Comment 5•6 years ago
|
||
Setting needinfo for myself because I will have to take a look at this. First thing I might want to do is to add some more debug/trace logging so we get some more information about performance and reliability of the individual window manipulation commands.
Flags: needinfo?(hskupin)
Assignee | ||
Comment 6•6 years ago
|
||
(In reply to Henrik Skupin (:whimboo) from comment #5)
First thing I might want to do is to add some more debug/trace logging so we
get some more information about performance and reliability of the
individual window manipulation commands.
This will actually be done via bug 1510940. So we have to wait for it to land.
Flags: needinfo?(hskupin)
Assignee | ||
Comment 7•6 years ago
|
||
With bug 1478358 landed the "WebDriver:SetWindowRect" command no longer uses a timed promise to wait for a resize event. As such I cannot think of any hangs anymore. I also can no longer see this failure classified via Treeherder. So it should hopefully be fixed.
Assignee: nobody → hskupin
Status: REOPENED → RESOLVED
Closed: 6 years ago → 6 years ago
status-firefox66:
--- → fixed
Depends on: 1478358
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
Updated•2 years ago
|
Product: Testing → Remote Protocol
You need to log in
before you can comment on or make changes to this bug.
Description
•