Closed Bug 1675402 Opened 4 years ago Closed 3 years ago

[wayland] Crash on circular subsurface creation

Categories

(Core :: Widget: Gtk, defect, P3)

defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: rmader, Unassigned)

References

(Blocks 1 open bug, )

Details

Under very rare circumstances it appears that Firefox tries to make a surface a subsurface of itself - something like wl_subcompositor_get_subsurface(subcompositor, surface, surface). Right now this crashes GS, thus we are unlikely to get crash reports for it. I made a fix for Mutter to prevent that - once that lands I expect more crash reports here. Hopefully I'll be able to catch a backtrace of it soon now.

Observerd two times over the last week on Fedora 32, FF 82.

Mutter crash stack:

...
#391 0x00007f59ae6643d3 in meta_wayland_surface_notify_subsurface_state_changed (surface=0x398d6c0 [MetaWaylandSurface])
    at ../src/wayland/meta-wayland-surface.c:1852
#392 0x00007f59ae65f86b in meta_wayland_subsurface_notify_subsurface_state_changed (surface_role=0x3c7e900 [MetaWaylandSubsurface])
    at ../src/wayland/meta-wayland-subsurface.c:290
#393 0x00007f59ae6643a8 in meta_wayland_surface_role_notify_subsurface_state_changed (surface_role=0x3c7e900 [MetaWaylandSubsurface])
    at ../src/wayland/meta-wayland-surface.c:1845
#394 0x00007f59ae6643d3 in meta_wayland_surface_notify_subsurface_state_changed (surface=0x398d6c0 [MetaWaylandSurface])
    at ../src/wayland/meta-wayland-surface.c:1852
#395 0x00007f59ae65f86b in meta_wayland_subsurface_notify_subsurface_state_changed (surface_role=0x3c7e900 [MetaWaylandSubsurface])
    at ../src/wayland/meta-wayland-subsurface.c:290
#396 0x00007f59ae6643a8 in meta_wayland_surface_role_notify_subsurface_state_changed (surface_role=0x3c7e900 [MetaWaylandSubsurface])
...

and more until the stack is filled up.

See also https://gitlab.gnome.org/GNOME/mutter/-/issues/1521 and https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1550

Future error message for search engines:

wl_subcompositor@6: error 0: Circular relationship between wl_surface@12 and parent surface wl_surface@10

Martin, any thoughts on this?

Severity: -- → S3
Flags: needinfo?(stransky)

I'll look at it when we get the firefox bt.

Component: Graphics → Widget: Gtk
Flags: needinfo?(stransky)
Priority: -- → P3

This is super hard to track down. Just got a crash on Fedora 33 / FF 83, but all reports I could find were:

Nov 28 12:24:09 thinkpad-t460p gnome-shell[45748]: WL: unknown object (198), message get_subsurface(noo)
Nov 28 12:24:09 thinkpad-t460p gnome-shell[45748]: WL: error in client communication (pid 99620)
Nov 28 12:24:09 thinkpad-t460p firefox[99620]: Error 22 (Invalid argument) dispatching to Wayland display.

Haven't seen this in a while (FF84), thus closing.

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.