WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
289282
[WPE] Crash in WKWPE::ViewLegacy::callAfterNextPresentationUpdate
https://bugs.webkit.org/show_bug.cgi?id=289282
Summary
[WPE] Crash in WKWPE::ViewLegacy::callAfterNextPresentationUpdate
Yury Semikhatsky
Reported
2025-03-06 14:48:25 PST
After web process crashes, drawing area may be reset to null in `WebPageProxy::resetState`, and calling `callAfterNextPresentationUpdate` on it will crash the browser with the stack below. We have a test in Playwright that simulates web process crash programmatically (e.g. `library/page-event-crash.spec.ts`), not sure how to reliably reproduce it manually. ``` (lldb) bt * thread #1, name = 'MiniBrowser', stop reason = signal SIGABRT * frame #0: 0x00007eacbae969fc libc.so.6`__GI___pthread_kill [inlined] __pthread_kill_implementation(no_tid=0, signo=6, threadid=139280312850944) at pthread_kill.c:44:76 frame #1: 0x00007eacbae969b0 libc.so.6`__GI___pthread_kill [inlined] __pthread_kill_internal(signo=6, threadid=139280312850944) at pthread_kill.c:78:10 frame #2: 0x00007eacbae969b0 libc.so.6`__GI___pthread_kill(threadid=139280312850944, signo=6) at pthread_kill.c:89:10 frame #3: 0x00007eacbae42476 libc.so.6`__GI_raise(sig=6) at raise.c:26:13 frame #4: 0x00007eacbae287f3 libc.so.6`__GI_abort at abort.c:79:7 frame #5: 0x00007eacc1e09d6a libWPEWebKit-2.0.so.2`WTFCrashWithInfo(int, char const*, char const*, int) + 26 frame #6: 0x00007eacc2521e1f libWPEWebKit-2.0.so.2`WKWPE::ViewLegacy::callAfterNextPresentationUpdate(WTF::CompletionHandler<void ()>&&) + 111 frame #7: 0x00007eacc25b1d47 libWPEWebKit-2.0.so.2`WTF::Detail::CallableWrapper<WebKit::WebPageProxy::callAfterNextPresentationUpdate(WTF::CompletionHandler<void ()>&&)::$_0, void>::call() + 87 frame #8: 0x00007eacc25b1f83 libWPEWebKit-2.0.so.2`_ZN3WTF6Detail15CallableWrapperIZN3IPC10Connection31makeAsyncReplyCompletionHandlerIN8Messages11DrawingArea28DispatchAfterEnsuringDrawingEZZN6WebKit12WebPageProxy31callAfterNextPresentationUpdateEONS_17CompletionHandlerIFvvEEEENK3$_1clINS8_15WebProcessProxyENS_23ObjectIdentifierGenericIN7WebCore18PageIdentifierTypeENS_38ObjectIdentifierMainThreadAccessTraitsImEEmEEEEDaRT_T0_EUlvE_EENSA_IFvPNS2_7DecoderEEEEOSP_NS_19ThreadLikeAssertionEEUlSS_E_vJSS_EED0Ev + 83 frame #9: 0x00007eacc2376308 libWPEWebKit-2.0.so.2`WTF::Detail::CallableWrapper<IPC::Connection::sendMessageWithAsyncReply(WTF::UniqueRef<IPC::Encoder>&&, IPC::ConnectionAsyncReplyHandler, WTF::OptionSet<IPC::SendOption>, std::optional<WTF::Thread::QOS>)::$_0, void>::call() + 24 frame #10: 0x00007eacc3e4a635 libWPEWebKit-2.0.so.2`WTF::RunLoop::performWork() + 549 frame #11: 0x00007eacc3eeaa06 libWPEWebKit-2.0.so.2`WTF::RunLoop::RunLoop()::$_0::__invoke(void*) + 6 frame #12: 0x00007eacc3ee9e0a libWPEWebKit-2.0.so.2`WTF::RunLoop::$_0::__invoke(_GSource*, int (*)(void*), void*) + 74 frame #13: 0x00007eacbb51bc44 libglib-2.0.so.0`g_main_context_dispatch + 372 frame #14: 0x00007eacbb5712b8 libglib-2.0.so.0`___lldb_unnamed_symbol2709 + 488 frame #15: 0x00007eacbb5193e3 libglib-2.0.so.0`g_main_context_iteration + 51 frame #16: 0x00007eacbd506fb5 libgio-2.0.so.0`g_application_run + 421 frame #17: 0x00005c9e61e9d87c MiniBrowser`main + 876 frame #18: 0x00007eacbae29d90 libc.so.6`__libc_start_call_main(main=(MiniBrowser`main), argc=4, argv=0x00007ffdeed63b38) at libc_start_call_main.h:58:16 frame #19: 0x00007eacbae29e40 libc.so.6`__libc_start_main_impl(main=(MiniBrowser`main), argc=4, argv=0x00007ffdeed63b38, init=<unavailable>, fini=<unavailable>, rtld_fini=<unavailable>, stack_end=0x00007ffdeed63b28) at libc-start.c:392:3 frame #20: 0x00005c9e61e9d445 MiniBrowser`_start + 37 ```
Attachments
Add attachment
proposed patch, testcase, etc.
Yury Semikhatsky
Comment 1
2025-03-06 15:54:14 PST
Pull request:
https://github.com/WebKit/WebKit/pull/42048
EWS
Comment 2
2025-03-10 02:11:41 PDT
Committed
291884@main
(d5ef4ceac971): <
https://commits.webkit.org/291884@main
> Reviewed commits have been landed. Closing PR #42048 and removing active labels.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug