Firefox crashes when inspecting Whatsapp Web in dark mode on Wayland
Categories
(Core :: Widget: Gtk, defect)
Tracking
()
People
(Reporter: shivodit.gill, Unassigned)
References
Details
Inspecting Whatsapp Web in dark mode when using Firefox on non-GNOME Wayland environments causes it to crash.
Tested on Firefox Stable 96 and Firefox Nightly 97.0a1.
Steps to reproduce:
- Open firefox with MOZ_ENABLE_WAYLAND=1
- Go to Whatsapp Web
- Set Whatsapp theme to dark in Whatsapp settings and reload the tab.
- Select a conversation, and right click in the text box at the bottom, and then select "Inspect (Q)".
- As soon as the DOM and Style inspector opens, repeatedly move mouse up and down on the html code part (having the panel on the left or right side helps for this)
- The browser will soon freeze and crash.
Observed behaviour:
The browser will crash after a few moments on reproducing the above steps.
It should be noted that this bug is reproducable only on non-GNOME Wayland environments. So far I have replicated crashes in KDE Wayland and Sway Wayland. On the other hand, GNOME Wayland, GNOME X11, KDE X11, i3WM (X11) worked as expected and didn't crash.
Another strange thing about this is that Whatsapp Web will NOT crash if you reproduce the above steps, but set the Whatsapp theme to light.
Expected behaviour:
The browser doesn't crash regardless of environment or the Whatsapp Web theme settings.
Error log:
I ran firefox with MOZ_ENABLE_WAYLAND=1 MOZ_LOG="WidgetWayland:5" firefox web.whatsapp.com and repeated the steps above, which resulted in the following output:
$ MOZ_ENABLE_WAYLAND=1 MOZ_LOG="WidgetWayland:5" firefox web.whatsapp.com
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_map [7f7112a74000]
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_map_event [7f7112a74000]
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_size_allocate [7f7112a74000] 10,10 -> 1749 x 985
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_surface_create_locked [7f7112a74000]
[Parent 19010: Main Thread]: D/WidgetWayland gtk wl_surface 7f71107abd30 ID 41
[Parent 19010: Main Thread]: D/WidgetWayland guessing subsurface position 26 23
[Parent 19010: Main Thread]: D/WidgetWayland created frame callback ID 56
[Parent 19010: Main Thread]: D/WidgetWayland created surface 7f7120198380 ID 40
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_move [7f7112a74000] 10,10
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_invalidate [7f7112a74000]
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_size_allocate [7f7112a74000] 10,10 -> 1717 x 953
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_move [7f7112a74000] 10,10
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_invalidate [7f7112a74000]
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_frame_callback_handler [7f7112a74000] frame_callback_handler 7f7120198880 ready_to_draw 0 (set to true) initial_draw callback 1
[Parent 19010: Renderer]: D/WidgetWayland moz_container_wayland_get_egl_window [7f7112a74000] eglwindow 0
[Parent 19010: Renderer]: D/WidgetWayland moz_container_wayland_get_egl_window [7f7112a74000] created eglwindow 7f710e0e9900
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_size_allocate [7f7112a74000] 0,0 -> 968 x 1057
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_move [7f7112a74000] 0,0
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_invalidate [7f7112a74000]
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_size_allocate [7f7112a74000] 0,0 -> 948 x 1037
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_move [7f7112a74000] 0,0
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_invalidate [7f7112a74000]
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_size_allocate [7f70fbee7000] 0,0 -> 246 x 310
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_surface_create_locked [7f70fbee7000]
[Parent 19010: Main Thread]: D/WidgetWayland gtk wl_surface 7f70ffc8aa10 ID 67
[Parent 19010: Main Thread]: D/WidgetWayland created frame callback ID 74
[Parent 19010: Main Thread]: D/WidgetWayland created surface 7f7102b19290 ID 72
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_move [7f70fbee7000] 0,0
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_invalidate [7f70fbee7000]
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_map [7f70fbee7000]
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_map_event [7f70fbee7000]
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_invalidate [7f70fbee7000]
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_frame_callback_handler [7f70fbee7000] frame_callback_handler 7f7102b19970 ready_to_draw 0 (set to true) initial_draw callback 1
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Lock [7f70fbee7000] [0,0] -> [246 x 310] rects 1
[Parent 19010: Renderer]: D/WidgetWayland new MozContainer size [246 x 310]
[Parent 19010: Renderer]: D/WidgetWayland WaylandBufferSHM Created [7f71048427e0] WaylandDisplay [7f7101b295e0]
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Commit [7f70fbee7000] damage rect [0, 0] -> [246 x 310] MozContainer [246 x 310]
[Parent 19010: Renderer]: D/WidgetWayland WaylandBuffer::AttachAndCommit [7f71048427e0] wl_surface 7f7102b19290 ID 72 wl_buffer 7f7104842560 ID 91
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Lock [7f70fbee7000] [0,0] -> [246 x 310] rects 1
[Parent 19010: Renderer]: D/WidgetWayland WaylandBufferSHM Created [7f71049bb7e0] WaylandDisplay [7f7101b295e0]
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Commit [7f70fbee7000] damage rect [0, 0] -> [246 x 310] MozContainer [246 x 310]
[Parent 19010: Renderer]: D/WidgetWayland WaylandBuffer::AttachAndCommit [7f71049bb7e0] wl_surface 7f7102b19290 ID 72 wl_buffer 7f71049bb0b0 ID 93
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Lock [7f70fbee7000] [0,0] -> [246 x 310] rects 1
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Commit [7f70fbee7000] damage rect [0, 0] -> [246 x 310] MozContainer [246 x 310]
[Parent 19010: Renderer]: D/WidgetWayland WaylandBuffer::AttachAndCommit [7f71049bb7e0] wl_surface 7f7102b19290 ID 72 wl_buffer 7f71049bb0b0 ID 93
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Lock [7f70fbee7000] [0,0] -> [246 x 310] rects 1
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Commit [7f70fbee7000] damage rect [0, 0] -> [246 x 310] MozContainer [246 x 310]
[Parent 19010: Renderer]: D/WidgetWayland WaylandBuffer::AttachAndCommit [7f71049bb7e0] wl_surface 7f7102b19290 ID 72 wl_buffer 7f71049bb0b0 ID 93
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_size_allocate [7f70fd12dc00] 0,0 -> 124 x 44
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_surface_create_locked [7f70fd12dc00]
[Parent 19010: Main Thread]: D/WidgetWayland gtk wl_surface 7f70ffd97f10 ID 95
[Parent 19010: Main Thread]: D/WidgetWayland created frame callback ID 97
[Parent 19010: Main Thread]: D/WidgetWayland created surface 7f7102bea9c0 ID 94
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_move [7f70fd12dc00] 0,0
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_invalidate [7f70fd12dc00]
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_map [7f70fd12dc00]
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_map_event [7f70fd12dc00]
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_invalidate [7f70fd12dc00]
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Lock [7f70fbee7000] [0,0] -> [246 x 310] rects 1
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Commit [7f70fbee7000] damage rect [0, 0] -> [246 x 310] MozContainer [246 x 310]
[Parent 19010: Renderer]: D/WidgetWayland WaylandBuffer::AttachAndCommit [7f71049bb7e0] wl_surface 7f7102b19290 ID 72 wl_buffer 7f71049bb0b0 ID 93
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_frame_callback_handler [7f70fd12dc00] frame_callback_handler 7f7102beaf10 ready_to_draw 0 (set to true) initial_draw callback 2
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Lock [7f70fd12dc00] [0,0] -> [124 x 44] rects 1
[Parent 19010: Renderer]: D/WidgetWayland new MozContainer size [124 x 44]
[Parent 19010: Renderer]: D/WidgetWayland WaylandBufferSHM Created [7f7104b8f510] WaylandDisplay [7f7101b295e0]
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Commit [7f70fd12dc00] damage rect [0, 0] -> [124 x 44] MozContainer [124 x 44]
[Parent 19010: Renderer]: D/WidgetWayland WaylandBuffer::AttachAndCommit [7f7104b8f510] wl_surface 7f7102bea9c0 ID 94 wl_buffer 7f7104b8f740 ID 104
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Lock [7f70fd12dc00] [0,0] -> [124 x 44] rects 1
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Commit [7f70fd12dc00] damage rect [0, 0] -> [124 x 44] MozContainer [124 x 44]
[Parent 19010: Renderer]: D/WidgetWayland WaylandBuffer::AttachAndCommit [7f7104b8f510] wl_surface 7f7102bea9c0 ID 94 wl_buffer 7f7104b8f740 ID 104
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_unmap [7f70fd12dc00]
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_unmap_internal [7f70fd12dc00]
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Lock [7f70fbee7000] [0,0] -> [246 x 310] rects 1
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Commit [7f70fbee7000] damage rect [0, 0] -> [246 x 310] MozContainer [246 x 310]
[Parent 19010: Renderer]: D/WidgetWayland WaylandBuffer::AttachAndCommit [7f71049bb7e0] wl_surface 7f7102b19290 ID 72 wl_buffer 7f71049bb0b0 ID 93
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Lock [7f70fbee7000] [0,0] -> [246 x 310] rects 1
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Commit [7f70fbee7000] damage rect [0, 0] -> [246 x 310] MozContainer [246 x 310]
[Parent 19010: Renderer]: D/WidgetWayland WaylandBuffer::AttachAndCommit [7f71048427e0] wl_surface 7f7102b19290 ID 72 wl_buffer 7f7104842560 ID 91
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Lock [7f70fbee7000] [0,0] -> [246 x 310] rects 1
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Commit [7f70fbee7000] damage rect [0, 0] -> [246 x 310] MozContainer [246 x 310]
[Parent 19010: Renderer]: D/WidgetWayland WaylandBuffer::AttachAndCommit [7f71048427e0] wl_surface 7f7102b19290 ID 72 wl_buffer 7f7104842560 ID 91
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Lock [7f70fbee7000] [0,0] -> [246 x 310] rects 1
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Commit [7f70fbee7000] damage rect [0, 0] -> [246 x 310] MozContainer [246 x 310]
[Parent 19010: Renderer]: D/WidgetWayland WaylandBuffer::AttachAndCommit [7f71049bb7e0] wl_surface 7f7102b19290 ID 72 wl_buffer 7f71049bb0b0 ID 93
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Lock [7f70fbee7000] [0,0] -> [246 x 310] rects 1
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Commit [7f70fbee7000] damage rect [0, 0] -> [246 x 310] MozContainer [246 x 310]
[Parent 19010: Renderer]: D/WidgetWayland WaylandBuffer::AttachAndCommit [7f71049bb7e0] wl_surface 7f7102b19290 ID 72 wl_buffer 7f71049bb0b0 ID 93
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Lock [7f70fbee7000] [0,0] -> [246 x 310] rects 1
[Parent 19010: Renderer]: D/WidgetWayland WindowSurfaceWaylandMB::Commit [7f70fbee7000] damage rect [0, 0] -> [246 x 310] MozContainer [246 x 310]
[Parent 19010: Renderer]: D/WidgetWayland WaylandBuffer::AttachAndCommit [7f71049bb7e0] wl_surface 7f7102b19290 ID 72 wl_buffer 7f71049bb0b0 ID 93
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_unmap [7f70fbee7000]
[Parent 19010: Main Thread]: D/WidgetWayland moz_container_wayland_unmap_internal [7f70fbee7000]
Gdk-Message: 23:27:10.694: Lost connection to Wayland compositor.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Comment 1•4 years ago
|
||
That "Lost connection to Wayland compositor." seems like bug 1743144, see there for context.
(In reply to Emilio Cobos Álvarez (:emilio) from comment #1)
That "Lost connection to Wayland compositor." seems like bug 1743144, see there for context.
So after reading the thread, what I'm understanding is: if a Wayland window freezes while mouse inputs are being provided to the compositor, the inputs are stored in a buffer, and when this buffer gets full the Wayland compositor connection is terminated because the window is assumed to be unresponsive?
If this is the case, then I think my issue could be related to bug 1743144, as there is a small freeze while the Developer Tools panel loads up the devtools on the Whatsapp Web website. Moving the mouse during this freeze causes the Firefox window to crash. However, if I stop moving the mouse during the freeze, Firefox successfully recovers and doesn't crash.
Comment 3•4 years ago
|
||
Yes, then this seems exactly bug 1743144, thanks for the extra info!
(In reply to Emilio Cobos Álvarez (:emilio) from comment #3)
Yes, then this seems exactly bug 1743144, thanks for the extra info!
*** This bug has been marked as a duplicate of bug 1743144 ***
Glad to be of help!
Description
•