Description of problem: testing wayland firefox Version-Release number of selected component: gnome-shell-3.22.2-2.fc25 Additional info: reporter: libreport-2.8.0 backtrace_rating: 4 cmdline: /usr/bin/gnome-shell crash_function: subsurface_role_get_toplevel executable: /usr/bin/gnome-shell global_pid: 12652 kernel: 4.9.6-200.fc25.x86_64 pkg_fingerprint: 4089 D8F2 FDB1 9C98 pkg_vendor: Fedora Project runlevel: N 5 type: CCpp uid: 500 Truncated backtrace: Thread no. 1 (10 frames) #0 subsurface_role_get_toplevel at wayland/meta-wayland-surface.c:608 #1 actor_surface_commit at wayland/meta-wayland-surface.c:2012 #2 subsurface_role_commit at wayland/meta-wayland-surface.c:593 #3 meta_wayland_surface_role_commit at wayland/meta-wayland-surface.c:1886 #4 apply_pending_state at wayland/meta-wayland-surface.c:798 #5 ffi_call_unix64 at ../src/x86/unix64.S:76 #6 ffi_call at ../src/x86/ffi64.c:525 #7 wl_closure_invoke at src/connection.c:935 #8 wl_client_connection_data at src/wayland-server.c:371 #9 wl_event_loop_dispatch at src/event-loop.c:423
Created attachment 1246293 [details] File: backtrace
Created attachment 1246294 [details] File: cgroup
Created attachment 1246295 [details] File: core_backtrace
Created attachment 1246296 [details] File: dso_list
Created attachment 1246297 [details] File: environ
Created attachment 1246298 [details] File: exploitable
Created attachment 1246299 [details] File: limits
Created attachment 1246300 [details] File: maps
Created attachment 1246301 [details] File: mountinfo
Created attachment 1246303 [details] File: namespaces
Created attachment 1246304 [details] File: open_fds
Created attachment 1246305 [details] File: proc_pid_status
Created attachment 1246306 [details] File: var_log_messages
I happens to me regularly when I test Firefox Wayland build.
*** Bug 1412311 has been marked as a duplicate of this bug. ***
Hello, can we move with this please? It's blocking our Firefox/Wayland effort. Not sure it's Firefox or Mutter/gnome-shell bug but needs to be fixed. Reproduction steps: 1) Install Wayland Firefox from https://firefox-flatpak.mojefedora.cz/ 2) Run it, try to show some popups repeatedly (menu, tooltips...) 3) Crashes whole session
Fixed in the patch on https://bugzilla.gnome.org/show_bug.cgi?id=781391 . The problem was that Firefox committed surface state to a surface of a subsurface which had been destroyed. Mutter did not handle that well, and the patch in the upstream bug fixes that. Now, another issue here is that Firefox uses subsurface's for popups. That is wrong for various reasons: 1) you wont be able to keep the popup window within the monitor region. At best, a popup menu can be kept within the parent window by managing the position itself, but this is not how popup menus usually work. 2) dismissing the popup menu will only work if its the Firefox client itself that does it; for example opening a popup and clicking outside of the window will not dismiss the popup. To fix 1 and 2 and get proper popup menu semantics you must use xdg_popup (currently zxdg_popup_v6) or gtk's popup API. Just a side note; it would have been fixed faster if this issue had been reported upstream.
(In reply to Jonas Ådahl from comment #17) Thanks Jonas, the crashes seems to be fixed now (Fedora 26, gtk3-3.22.15-2.fc26.x86_64) > Fixed in the patch on https://bugzilla.gnome.org/show_bug.cgi?id=781391 . > > The problem was that Firefox committed surface state to a surface of a > subsurface which had been destroyed. Mutter did not handle that well, and > the patch in the upstream bug fixes that. Filed as Bug 1462725 for further investigation. > Now, another issue here is that Firefox uses subsurface's for popups. That > is wrong for various reasons: > > 1) you wont be able to keep the popup window within the monitor region. At > best, a popup menu can be kept within the parent window by managing the > position itself, but this is not how popup menus usually work. I think we cal live with that now. > 2) dismissing the popup menu will only work if its the Firefox client itself > that does it; for example opening a popup and clicking outside of the window > will not dismiss the popup. That's recent popup behavior at Firefox where Firefox handles all popups by itself. It's also a reason why https://bugzilla.gnome.org/show_bug.cgi?id=783957 breaks that. > To fix 1 and 2 and get proper popup menu semantics you must use xdg_popup > (currently zxdg_popup_v6) or gtk's popup API. Unfortunately xdg_popup requires exact pop-up hierarchy which Firefox does not follow. Using xdg_popup means that some sub-menus are now shown (see Bug 1457201) because FF creates all popups as a child of main window. To utilize the xdg_popups we will need rewrite and update FF popup code to create popup hierarchy or at least detect which popups should map together which is not so easy AFAIK. I think we can close it now as the crashes are fixed.