Open Bug 1750737 Opened 3 years ago Updated 3 years ago

Firefox frequently updates X11 window properties to the same value

Categories

(Core :: Widget: Gtk, defect)

Firefox 96
x86_64
Linux
defect

Tracking

()

UNCONFIRMED

People

(Reporter: batpul, Unassigned)

References

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0

Steps to reproduce:

Use firefox and change focus to other applications.

Actual results:

The following output of xprop -spy shows that firefox is constantly updating X11 properties to the same value all the time. This needlessly causes context switches in the X11 server, the window manager, and the compositing manager:

_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_STATE(ATOM) = _NET_WM_STATE_FOCUSED
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
Initial state is Normal State.
bitmap id # to use for icon: 0xb00030
bitmap id # of mask for icon: 0xb00037
window id # of group leader: 0xb00001
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
Initial state is Normal State.
bitmap id # to use for icon: 0xb00030
bitmap id # of mask for icon: 0xb00037
window id # of group leader: 0xb00001
_NET_WM_STATE(ATOM) =
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1628, 1135

Expected results:

Set the property value just once. If it doesn't change, then don't update it.

(I'm assuming you ticked the "security problem" checkbox by mistake, but do let me know if there is a security aspect to this that I'm missing...)

Group: firefox-core-security
Component: Untriaged → Widget: Gtk
Product: Firefox → Core

Thanks for the report! Please open about:support, click on "Copy text to clipboard" and paste it here.
Which distribution and desktop environment are you using? Does the same behavior occur with X11 compositor enabled and disabled?
Does this problem still occur with https://nightly.mozilla.org?

Please try to find a regression range, if possible, you get a pushlog url at the end:
$ pip3 install --user --upgrade mozregression
$ ~/.local/bin/mozregression --good 2020-01-01 --bad 2021-01-17

Attached file Fedora 31

Any Firefox which uses a 32-bit visual has this problem.

Also confirmed for:

Name Firefox
Version 96.0.1
Build ID 20220113185450

bug 1617002 comment 28 touched opaque region. Could it be related?

  • always update the opaque region if the toplevel window allocation
    changes - this fixes opaque regions on X11 with WR and OGL renderers,
    as GTK resets the opaque region in this case. The previous solution
    was modeled similar to what's done on Windows - we have to follow GTK
    though.
OS: Unspecified → Linux
Hardware: Unspecified → x86_64
See Also: → 1617002
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: