RESOLVED FIXED 179957
[WPE] Web process crashes on startup (ASSERTION FAILED: !RunLoop::isMain() in WebKit::ThreadedCompositor::frameComplete)
https://bugs.webkit.org/show_bug.cgi?id=179957
Summary [WPE] Web process crashes on startup (ASSERTION FAILED: !RunLoop::isMain() in...
Michael Catanzaro
Reported 2017-11-22 12:49:30 PST
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.
Attachments
Michael Catanzaro
Comment 1 2017-11-22 13:00:23 PST
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.
Michael Catanzaro
Comment 2 2017-12-08 12:05:55 PST
This is fixed in the backend, thanks to Carlos Garcia.
Note You need to log in before you can comment on or make changes to this bug.