Closed Bug 1721938 Opened 5 months ago Closed 3 months ago

Intermittent devtools/client/inspector/rules/test/browser_rules_cycle-angle.js | Test timed out -

Categories

(DevTools :: Inspector: Rules, defect, P5)

defect

Tracking

(firefox93 fixed)

RESOLVED FIXED
93 Branch
Tracking Status
firefox93 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: jdescottes)

References

(Depends on 1 open bug)

Details

(Keywords: intermittent-failure, Whiteboard: [stockwell unknown])

Attachments

(1 file)

Filed by: cbrindusan [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=346091438&repo=mozilla-central
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/T8G9GvSgTg-8aqjdpoT5PA/runs/0/artifacts/public/logs/live_backing.log


[task 2021-07-22T23:52:25.008Z] 23:52:25     INFO - TEST-START | devtools/client/inspector/rules/test/browser_rules_cycle-angle.js
[task 2021-07-22T23:52:25.551Z] 23:52:25     INFO - GECKO(4258) | must wait for focus
[task 2021-07-22T23:52:25.576Z] 23:52:25     INFO - GECKO(4258) | console.log: "[DISPATCH] action type:" "CLEAR_FLEXBOX"
[task 2021-07-22T23:52:25.581Z] 23:52:25     INFO - GECKO(4258) | console.log: "[DISPATCH] action type:" "UPDATE_GRIDS"
[task 2021-07-22T23:52:25.603Z] 23:52:25     INFO - GECKO(4258) | console.log: "[DISPATCH] action type:" "UPDATE_OFFSET_PARENT"
[task 2021-07-22T23:52:25.608Z] 23:52:25     INFO - GECKO(4258) | console.log: "[DISPATCH] action type:" "UPDATE_LAYOUT"
[task 2021-07-22T23:52:25.738Z] 23:52:25     INFO - GECKO(4258) | console.log: "[DISPATCH] action type:" "CLEAR_FLEXBOX"
[task 2021-07-22T23:52:25.743Z] 23:52:25     INFO - GECKO(4258) | console.log: "[DISPATCH] action type:" "UPDATE_OFFSET_PARENT"
[task 2021-07-22T23:52:25.746Z] 23:52:25     INFO - GECKO(4258) | console.log: "[DISPATCH] action type:" "UPDATE_LAYOUT"
[task 2021-07-22T23:53:10.075Z] 23:53:10     INFO - TEST-INFO | started process screentopng
[task 2021-07-22T23:53:10.647Z] 23:53:10     INFO - TEST-INFO | screentopng: exit 0
[task 2021-07-22T23:53:10.648Z] 23:53:10     INFO - Buffered messages logged at 23:52:25
[task 2021-07-22T23:53:10.649Z] 23:53:10     INFO - Entering test bound 
[task 2021-07-22T23:53:10.649Z] 23:53:10     INFO - Adding a new tab with URL: data:text/html;charset=utf-8,%0A%20%20%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%20%20%20%20body%20%7B%0A%20%20%20%20%20%20filter%3A%20hue-rotate(1turn)%3B%0A%20%20%20%20%7D%0A%20%20%20%20div%20%7B%0A%20%20%20%20%20%20filter%3A%20hue-rotate(180deg)%3B%0A%20%20%20%20%7D%0A%20%20%3C%2Fstyle%3E%0A%20%20%3Cbody%3E%3Cdiv%3ETest%3C%2Fdiv%3Ecycling%20angle%20units%20in%20the%20rule%20view!%3C%2Fbody%3E%0A
[task 2021-07-22T23:53:10.650Z] 23:53:10     INFO - Tab added and finished loading
[task 2021-07-22T23:53:10.650Z] 23:53:10     INFO - Opening the inspector
[task 2021-07-22T23:53:10.651Z] 23:53:10     INFO - Opening the toolbox
[task 2021-07-22T23:53:10.651Z] 23:53:10     INFO - Toolbox opened and focused
[task 2021-07-22T23:53:10.651Z] 23:53:10     INFO - TEST-PASS | devtools/client/inspector/rules/test/browser_rules_cycle-angle.js | Angle displayed as a turn value. - 
[task 2021-07-22T23:53:10.652Z] 23:53:10     INFO - Buffered messages finished
[task 2021-07-22T23:53:10.652Z] 23:53:10     INFO - TEST-UNEXPECTED-FAIL | devtools/client/inspector/rules/test/browser_rules_cycle-angle.js | Test timed out - 

Update:

There have been 30 failures within the last 7 days:

  • 4 failures on Linux 18.04 x64 WebRender opt
  • 26 failures on Linux 18.04 x64 WebRender Shippable opt

Recent failure log: https://treeherder.mozilla.org/logviewer?job_id=349095838&repo=autoland&lineNumber=23371

[task 2021-08-20T23:56:30.080Z] 23:56:30     INFO - TEST-PASS | devtools/client/inspector/rules/test/browser_rules_cycle-angle.js | Angle displayed as a turn value. - 
[task 2021-08-20T23:56:30.082Z] 23:56:30     INFO - Buffered messages finished
[task 2021-08-20T23:56:30.083Z] 23:56:30     INFO - TEST-UNEXPECTED-FAIL | devtools/client/inspector/rules/test/browser_rules_cycle-angle.js | Test timed out - 
[task 2021-08-20T23:56:30.083Z] 23:56:30     INFO - Removing tab.
[task 2021-08-20T23:56:30.084Z] 23:56:30     INFO - Waiting for event: 'TabClose' on [object XULElement].
[task 2021-08-20T23:56:30.084Z] 23:56:30     INFO - Got event: 'TabClose' on [object XULElement].
[task 2021-08-20T23:56:30.085Z] 23:56:30     INFO - Tab removed and finished closing
[task 2021-08-20T23:56:30.085Z] 23:56:30     INFO - TEST-PASS | devtools/client/inspector/rules/test/browser_rules_cycle-angle.js | The main process DevToolsServer has no pending connection when the test ends - 
[task 2021-08-20T23:56:30.086Z] 23:56:30     INFO - GECKO(4376) | MEMORY STAT | vsize 3910MB | residentFast 596MB | heapAllocated 292MB

Julian, could you help us assign this to someone?
Thank you.

Flags: needinfo?(jdescottes)
Whiteboard: [stockwell needswork:owner]

Keeping the ni? I am investigating. This is another linux-webrender only issue, but I have no clue where this one comes from.

It seems we fail to simulate a click on a DOM element of the DevTools Rules view, even though the element can be found in the tree.
I don't know if there's another event we need to wait for before it's safe to to trigger events. We might have to ask folks who know more about the WebRender implementation, because it seems to make basic tests really fragile.

See Also: → 1717627

Looks like we should move DevTools test suite to software webrender for linux. It will be consistent with what is currently used for browser chrome mochitests.

Depends on: 1727309
Flags: needinfo?(jdescottes)

Also linking to Bug 1727749, because I think this is another variant of the same issue.
I will still provide a workaround in the meantime, just to reduce the intermittent pollution.

Assignee: nobody → jdescottes
Status: NEW → ASSIGNED
See Also: → 1727749

Update:
There have been 32 failures within the last 7 days:
• 4 failures on Linux 18.04 x64 WebRender opt
• 28 failures on Linux 18.04 x64 WebRender Shippable opt
Recent failure log: https://treeherder.mozilla.org/logviewer?job_id=349778534&repo=autoland&lineNumber=23369

Pushed by jdescottes@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e54cafe891a7
[devtools] wait before clicking on angle swatch in browser_rules_cycle-angle.js r=Honza

Backed out for causing failures on browser_rules_cycle-angle.js

[task 2021-08-31T16:27:37.366Z] 16:27:37     INFO - TEST-PASS | devtools/client/inspector/rules/test/browser_rules_cycle-angle.js | Angle displayed as a degree value. - 
[task 2021-08-31T16:27:37.366Z] 16:27:37     INFO - Waiting 0.1 seconds.
[task 2021-08-31T16:27:37.367Z] 16:27:37     INFO - Console message: [JavaScript Error: "TypeError: can't access property "disabled", styleSheet is null" {file: "resource://devtools/server/actors/resources/stylesheets.js" line: 71}]
[task 2021-08-31T16:27:37.368Z] 16:27:37     INFO - Buffered messages logged at 16:26:30
[task 2021-08-31T16:27:37.368Z] 16:27:37     INFO - Console message: [JavaScript Warning: "telemetry.state_file_read_errors - Unknown scalar."]
[task 2021-08-31T16:27:37.369Z] 16:27:37     INFO - Console message: [JavaScript Warning: "telemetry.generated_new_client_id - Unknown scalar."]
[task 2021-08-31T16:27:37.369Z] 16:27:37     INFO - Buffered messages finished
[task 2021-08-31T16:27:37.370Z] 16:27:37     INFO - TEST-UNEXPECTED-FAIL | devtools/client/inspector/rules/test/browser_rules_cycle-angle.js | Test timed out - 
[task 2021-08-31T16:27:37.398Z] 16:27:37     INFO - Removing tab.
Flags: needinfo?(jdescottes)

Interesting, the following patch seemed to work for me on try: https://hg.mozilla.org/try/rev/c78462bf060a3577621856b32bfdea89d261289c

The only difference between the two is that in the patch that was backed out, I wait after fetching the DOM elements and before clicking, whereas in my earlier attempt, I wait before fetching the elements.

This could indicate that we are getting stale DOM elements, which are about to be replaced by other ones thanks to a react re-render.

Flags: needinfo?(jdescottes)
Pushed by jdescottes@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/84c4b219e929
[devtools] wait before clicking on angle swatch in browser_rules_cycle-angle.js r=Honza
Status: ASSIGNED → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → 93 Branch

(In reply to Julian Descottes [:jdescottes] from comment #15)

Interesting, the following patch seemed to work for me on try: https://hg.mozilla.org/try/rev/c78462bf060a3577621856b32bfdea89d261289c

The only difference between the two is that in the patch that was backed out, I wait after fetching the DOM elements and before clicking, whereas in my earlier attempt, I wait before fetching the elements.

This could indicate that we are getting stale DOM elements, which are about to be replaced by other ones thanks to a react re-render.

For the record I tried to create a patch leveraging this, ie waiting until the elements are replaced by new versions, but it didn't really help. I imagine the elements are replaced several times before we get a stable version on which you can click. We might want to spend some more time and investigate how many re-renders happen when this test fails.

You need to log in before you can comment on or make changes to this bug.