The web process is currently crashing on startup in debug builds: ASSERTION FAILED: !RunLoop::isMain() ../../Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp(378) : void WebKit::ThreadedCompositor::frameComplete() 1 0x7fd40a46fe2a WTFCrash 2 0x7fd4070ca97f WebKit::ThreadedCompositor::frameComplete() 3 0x7fd4071cee38 WebKit::ThreadedCoordinatedLayerTreeHost::frameComplete() 4 0x7fd4071d1397 5 0x7fd4071d13b7 6 0x7fd3f7ee54b9 wpe_renderer_backend_egl_target_dispatch_frame_complete 7 0x7fd3b18f1a36 8 0x7fd3b18f1a70 9 0x7fd3f4a8eff4 ffi_call_unix64 10 0x7fd3f4a8dfe0 ffi_call 11 0x7fd3f5fc09a3 12 0x7fd3f5fbd7f8 13 0x7fd3f5fbe994 wl_display_dispatch_queue_pending 14 0x7fd3b18f153a 15 0x7fd3b18f1591 16 0x7fd3f8344827 g_main_context_dispatch 17 0x7fd3f8344a38 18 0x7fd3f8344d42 g_main_loop_run 19 0x7fd40a4e1ece WTF::RunLoop::run() 20 0x7fd4071d4283 int WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain>(int, char**) 21 0x7fd4071d3f2f WebProcessMainUnix 22 0x400bc2 main 23 0x7fd3f722703a __libc_start_main 24 0x400a9a _start I notice this code has not changed in a long time, which is concerning.
This is with the fdo backend. It's possible that this is a fdo backend bug, because the mesa backend calls wpe_renderer_backend_egl_target_dispatch_frame_complete() inside its wpe_renderer_backend_egl_target_interface::frame_rendered callback, and that's called by AcceleratedSurfaceWPE::didRenderFrame. I'm not sure if that's called on the main RunLoop or not. But the fdo backend calls wpe_renderer_backend_egl_target_dispatch_frame_complete() inside its wl_callback_listener::done callback, which is wrong because that's called on the main RunLoop.
This is fixed in the backend, thanks to Carlos Garcia.