browser_device_controls_menus.js keeps vsync enabled forever (on Windows 7)
Categories
(Core :: WebRTC, defect, P3)
Tracking
()
People
(Reporter: florian, Assigned: karlt)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression)
Attachments
(2 files)
As part of working on bug 1742842, I noticed that on try on Windows 7 the browser_device_controls_menus.js test tends to keep vsync enabled. It's intermittent without the profiler (3 failures out of 6 runs at https://treeherder.mozilla.org/jobs?repo=try&tier=1%2C2%2C3&revision=44e4adfeb7b1e03b8656568062adf7c71d98a050&test_paths=browser%2Fbase%2Fcontent%2Ftest%2Fwebrtc&searchStr=Windows7) , and becomes a perma-fail with the profiler enabled: https://treeherder.mozilla.org/jobs?repo=try&revision=600217f27e8509f7623f757543c8e51c19a383d0 (8 failures out of 8 runs)
Here is a profile of the behavior: https://share.firefox.dev/3bcBoCV
I'm not exactly sure what's going on there, but there's a lot of activity on the Renderer and Compositor threads, and there are many MediaTrackGraphStableStateRunnable runnables on the main thread, which makes it seem to me like a webrtc stream is still running.
Comment 1•2 years ago
|
||
There are SendFlushRendering calls on the main thread, from WM_PAINT events. During normal Firefox operation, WM_PAINT events are only sent when changing window focus, or maybe during resizing. So this regular firing of WM_PAINT events makes me think that some kind of screen sharing is still running.
Comment 2•2 years ago
|
||
jib, does this prioritization sound reasonable?
Comment 3•2 years ago
|
||
Updated•2 years ago
|
Comment 4•2 years ago
|
||
The test in question opens a new tab that does screen-capture and then ends (see 1, 2 and 3).
Are tests that open in new tabs expected to do anything more to clean themselves up? I'll try closing the stream.
Reporter | ||
Comment 5•2 years ago
|
||
(In reply to Jan-Ivar Bruaroey [:jib] (needinfo? me) from comment #4)
Are tests that open in new tabs expected to do anything more to clean themselves up?
I don't think so. It should be similar to the user closing a tab in the browser. The only exception would be if the test is keeping references to objects from the closed tab, preventing them from being garbage collected.
Comment 7•2 years ago
|
||
bugherder |
Reporter | ||
Comment 8•2 years ago
|
||
Still failing on current mozilla-central: https://treeherder.mozilla.org/jobs?repo=try&tier=1%2C2%2C3&revision=b0c1c1ca40792de6cb3960f9c087fe4f1c2cb8f3
Updated•2 years ago
|
Reporter | ||
Updated•2 years ago
|
Updated•2 years ago
|
Reporter | ||
Comment 9•2 years ago
|
||
My local Windows 11 build reproduces: https://share.firefox.dev/3PalPLm
There are "timeupdate" DOM Events received by the html:video@2e04ba26100 id="webRTC-previewVideo" element every 260ms, so it seems the preview video is left playing at the end of the test.
Assignee | ||
Comment 10•2 years ago
|
||
Thanks, Florian.
Stopping the streams instead of playing through a video element when the prompt has been dismissed seems to resolve the failures.
https://treeherder.mozilla.org/jobs?repo=try&revision=80e19e54aa376135242c31809fa633df16ca7d8f&test_paths=browser%2Fbase%2Fcontent%2Ftest%2Fwebrtc
Assignee | ||
Comment 11•2 years ago
|
||
Assignee | ||
Comment 12•2 years ago
|
||
Updated•2 years ago
|
Comment 13•2 years ago
|
||
Comment 14•2 years ago
|
||
bugherder |
Comment 15•2 years ago
|
||
Set release status flags based on info from the regressing bug 1511416
Updated•2 years ago
|
Description
•