Bug 1606751 Comment 17 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

It's really a multi-thread issue (https://bugzilla.mozilla.org/show_bug.cgi?id=1606848#c2), there's a log from it:

[(null) 69489: Main Thread]: D/WidgetWayland moz_gtk_widget_get_wl_surface [0x7fffdc246a60] wl_surface 0x7fffdc052060 ID 44
[(null) 69489: Main Thread]: D/Widget nsWindow::UpdateTopLevelOpaqueRegionWayland()
[2031351.728]  -> wl_compositor@33.create_region(new id wl_region@110)
[2031351.738]  -> wl_region@110.add(26, 23, 960, 1020)
[2031351.747]  -> wl_surface@44.set_opaque_region(wl_region@110)
[2031351.752]  -> wl_region@110.destroy()
[2031351.758]  -> wl_compositor@33.create_region(new id wl_region@108)
[2031351.793]  -> wl_region@108.add(0, 0[(null) 69489: Compositor]: D/WidgetWayland moz_container_get_wl_surface [0x7fffdc2dc830] surface 0x7fffd92f6510 ready_to_draw 1
wl_surface_set_opaque_region id 107 0x7fffc93d51f0
, 960, 1020)
moz_container_set_opaque_region region id 108 0x7fffcc217f60 BEGIN
[2031351.902]  -> wl_region@107.destroy()
moz_container_set_opaque_region region id END, new region is 0x7fffcc217f60
[(null) 69489: Main Thread]: D/Widget END nsWindow::UpdateTopLevelOpaqueRegionWayland() END

-> we're still at moz_gtk_widget_get_wl_surface() / Main Thread and we crash here:
[2031351.943]  -> wl_surface@61.set_opaque_region(
Thread 25 "Compositor" received signal SIGSEGV, Segmentation fault.
It's really a multi-thread issue (https://bugzilla.mozilla.org/show_bug.cgi?id=1606848#c2), there's a log from it:


[(null) 69489: Main Thread]: D/WidgetWayland moz_gtk_widget_get_wl_surface [0x7fffdc246a60] wl_surface 0x7fffdc052060 ID 44

[(null) 69489: Main Thread]: D/Widget nsWindow::UpdateTopLevelOpaqueRegionWayland()
[2031351.728]  -> wl_compositor@33.create_region(new id wl_region@110)
[2031351.738]  -> wl_region@110.add(26, 23, 960, 1020)
[2031351.747]  -> wl_surface@44.set_opaque_region(wl_region@110)
[2031351.752]  -> wl_region@110.destroy()
[2031351.758]  -> wl_compositor@33.create_region(new id wl_region@108)
[2031351.793]  -> wl_region@108.add(0, 0, 960, 1020)

[(null) 69489: Compositor]: D/WidgetWayland moz_container_get_wl_surface [0x7fffdc2dc830] surface 0x7fffd92f6510 ready_to_draw 1
wl_surface_set_opaque_region id 107 0x7fffc93d51f0
moz_container_set_opaque_region region id 108 0x7fffcc217f60 BEGIN
[2031351.902]  -> wl_region@107.destroy()
moz_container_set_opaque_region region id END, new region is 0x7fffcc217f60
[(null) 69489: Main Thread]: D/Widget END nsWindow::UpdateTopLevelOpaqueRegionWayland() END
Compositor]: D/WidgetWayland moz_container_get_wl_surface

-> We're at compositor thread (moz_container_get_wl_surface) while opaque region is updated from main thread (UpdateTopLevelOpaqueRegionWayland()).

[2031351.943]  -> wl_surface@61.set_opaque_region(
Thread 25 "Compositor" received signal SIGSEGV, Segmentation fault.

Back to Bug 1606751 Comment 17