ChromeUtils.vsyncEnabled() never returning false at the end of browser tests on wayland
Categories
(Core :: Widget: Gtk, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox107 | --- | fixed |
People
(Reporter: manuel, Assigned: stransky)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
All browser tests are failing for me on wayland, while they pass on xorg.
E.g. for these tests (random sample):
$ ./mach test browser/base/content/test/general/browser_double_close_tab.js
$ ./mach test netwerk/test/browser/browser_103_redirect.js
$ ./mach test netwerk/test/browser/browser_103_assets.js
The error message is this:
netwerk/test/browser/browser_103_user_load.js
FAIL waiting for vsync to be disabled - timed out after 50 tries. - false == true - JS frame :: chrome://mochikit/content/browser-test.js :: ensureVsyncDisabled :: line 575
Stack trace:
chrome://mochikit/content/browser-test.js:ensureVsyncDisabled:575
FAIL vsync remained enabled at the end of the test. Is there an animation still running? Consider talking to the performance team for tips to solve this. - false == true - JS frame :: chrome://mochikit/content/browser-test.js :: ensureVsyncDisabled :: line 576
Stack trace:
chrome://mochikit/content/browser-test.js:ensureVsyncDisabled:576
The tests pass on wayland when turning off vsync during startup by changing this line in nsWindow.cpp:
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
index bcbb681978d2c..f3be426d551c2 100644
--- a/widget/gtk/nsWindow.cpp
+++ b/widget/gtk/nsWindow.cpp
@@ -5912,7 +5912,7 @@ nsresult nsWindow::Create(nsIWidget* aParent, nsNativeWidget aNativeParent,
// Initialize the window specific VsyncSource early in order to avoid races
// with BrowserParent::UpdateVsyncParentVsyncDispatcher().
// Only use for toplevel windows for now, see bug 1619246.
- if (GdkIsWaylandDisplay() &&
+ if (false && GdkIsWaylandDisplay() &&
StaticPrefs::widget_wayland_vsync_enabled_AtStartup() &&
mWindowType == eWindowType_toplevel) {
mWaylandVsyncSource = new WaylandVsyncSource();
System: Arch linux, Gnome 42.3, Wayland
Reporter | ||
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
I see the same happening on fedora 36. But I noticed that the tests will run fine after switching to a workspace/screen without any other windows before they start.
Updated•2 years ago
|
Assignee | ||
Comment 3•2 years ago
|
||
./mach mochitest browser/components/search/test/browser/browser_426329.js
browser/components/search/test/browser/browser_426329.js
FAIL waiting for vsync to be disabled - timed out after 50 tries. - false == true - JS frame :: chrome://mochikit/content/browser-test.js :: ensureVsyncDisabled :: line 592
Stack trace:
chrome://mochikit/content/browser-test.js:ensureVsyncDisabled:592
FAIL vsync remained enabled at the end of the test. Is there an animation still running? Consider talking to the performance team for tips to solve this. - false == true - JS frame :: chrome://mochikit/content/browser-test.js :: ensureVsyncDisabled :: line 593
Stack trace:
chrome://mochikit/content/browser-test.js:ensureVsyncDisabled:593
Assignee | ||
Comment 4•2 years ago
|
||
Updated•2 years ago
|
Comment 6•2 years ago
|
||
bugherder |
Comment 7•2 years ago
|
||
Thanks a lot for fixing this! Was this only happening during tests, or was vsync remaining enabled forever for wayland users? (if the latter, this fix might produce significant power savings!)
Assignee | ||
Comment 8•2 years ago
|
||
(In reply to Florian Quèze [:florian] from comment #7)
Thanks a lot for fixing this! Was this only happening during tests, or was vsync remaining enabled forever for wayland users? (if the latter, this fix might produce significant power savings!)
The Vsync was not running, it just removed the error messages.
Description
•