RESOLVED FIXED 237757
[WinCairo] DrawingAreaWC::sendUpdateAC should keep a WeakPtr of this for the reply handler
https://bugs.webkit.org/show_bug.cgi?id=237757
Summary [WinCairo] DrawingAreaWC::sendUpdateAC should keep a WeakPtr of this for the ...
Fujii Hironori
Reported 2022-03-10 23:02:14 PST
I'm observing a crash of WinCairo Release r291050 MiniBrowser by browsing some web sites for several minutes. I don't know the exact production steps. > WTF.dll!WTFCrash() Line 322 C++ > WebKit2.dll!WTFCrashWithInfo(int __formal, const char * __formal, const char * __formal, int __formal) Line 741 C++ > WebKit2.dll!WebCore::TimerBase::setNextFireTime(WTF::MonotonicTime newTime) Line 471 C++ > WebKit2.dll!WebCore::TimerBase::start(WTF::Seconds nextFireInterval, WTF::Seconds repeatInterval) Line 282 C++ > [Inline Frame] WebKit2.dll!WebKit::DrawingAreaWC::sendUpdateAC::__l2::<lambda_1>::()::__l2::<lambda_1>::()::__l2::<lambda_1>::operator()(std::optional<WebKit::UpdateInfo>) Line 261 C++ > WebKit2.dll!WTF::Detail::CallableWrapper<```WebKit::DrawingAreaWC::sendUpdateAC'::`2'::<lambda_1>::operator()'::`2'::<lambda_1>::operator()'::`2'::<lambda_1>,void,std::optional<WebKit::UpdateInfo>>::call(std::optional<WebKit::UpdateInfo> <in_0>) Line 53 C++ > [Inline Frame] WebKit2.dll!WTF::Function<void __cdecl(std::optional<WebKit::UpdateInfo>)>::operator()(std::optional<WebKit::UpdateInfo>) Line 82 C++ > [Inline Frame] WebKit2.dll!WTF::CompletionHandler<void __cdecl(std::optional<WebKit::UpdateInfo>)>::operator()(std::optional<WebKit::UpdateInfo>) Line 68 C++ > WebKit2.dll!WTF::Detail::CallableWrapper<WTF::CompletionHandler<void __cdecl(std::optional<WebKit::UpdateInfo>)>,void,std::optional<WebKit::UpdateInfo> &&>::call(std::optional<WebKit::UpdateInfo> && <in_0>) Line 53 C++ > [Inline Frame] WebKit2.dll!WTF::Function<void __cdecl(std::optional<WebKit::UpdateInfo> &&)>::operator()(std::optional<WebKit::UpdateInfo> &&) Line 82 C++ > [Inline Frame] WebKit2.dll!WTF::CompletionHandler<void __cdecl(std::optional<WebKit::UpdateInfo> &&)>::operator()(std::optional<WebKit::UpdateInfo> &&) Line 68 C++ > WebKit2.dll!Messages::RemoteWCLayerTreeHost::Update::callReply(IPC::Decoder & decoder, WTF::CompletionHandler<void __cdecl(std::optional<WebKit::UpdateInfo> &&)> && completionHandler) Line 54 C++ > [Inline Frame] WebKit2.dll!IPC::MessageSender::sendWithAsyncReply::__l2::<lambda_1>::operator()(IPC::Decoder *) Line 100 C++ > WebKit2.dll!WTF::Detail::CallableWrapper<`IPC::MessageSender::sendWithAsyncReply<Messages::RemoteWCLayerTreeHost::Update,WTF::CompletionHandler<void __cdecl(std::optional<WebKit::UpdateInfo>)>>'::`2'::<lambda_1>,void,IPC::Decoder *>::call(IPC::Decoder * <in_0>) Line 53 C++ > [Inline Frame] WebKit2.dll!WTF::Function<void __cdecl(IPC::Decoder *)>::operator()(IPC::Decoder *) Line 82 C++ > [Inline Frame] WebKit2.dll!WTF::CompletionHandler<void __cdecl(IPC::Decoder *)>::operator()(IPC::Decoder *) Line 68 C++ > [Inline Frame] WebKit2.dll!IPC::Connection::dispatchMessage(IPC::Decoder & decoder) Line 1074 C++ > WebKit2.dll!IPC::Connection::dispatchMessage(std::unique_ptr<IPC::Decoder,std::default_delete<IPC::Decoder>> message) Line 1137 C++ > [Inline Frame] WebKit2.dll!IPC::Connection::dispatchOneIncomingMessage() Line 1206 C++ > [Inline Frame] WebKit2.dll!IPC::Connection::enqueueIncomingMessage::__l2::<lambda_1>::operator()() Line 1056 C++ > WebKit2.dll!WTF::Detail::CallableWrapper<`IPC::Connection::enqueueIncomingMessage'::`2'::<lambda_1>,void>::call() Line 53 C++ > [Inline Frame] WTF.dll!WTF::Function<void __cdecl(void)>::operator()() Line 82 C++ > WTF.dll!WTF::RunLoop::performWork() Line 134 C++ > [Inline Frame] WTF.dll!WTF::RunLoop::wndProc(HWND__ *) Line 56 C++ > WTF.dll!WTF::RunLoop::RunLoopWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 39 C++ > [External Code] > WTF.dll!WTF::RunLoop::run() Line 73 C++ > [Inline Frame] WebKit2.dll!WebKit::AuxiliaryProcessMainBase<WebKit::WebProcess,1>::run(int) Line 70 C++ > [Inline Frame] WebKit2.dll!WebKit::AuxiliaryProcessMain(int) Line 96 C++ > WebKit2.dll!WebKit::WebProcessMain(int argc, char * * argv) Line 57 C++ > WebKitWebProcess.exe!main(int argc, char * * argv) Line 35 C++ > [External Code]
Attachments
Patch (2.14 KB, patch)
2022-03-10 23:45 PST, Fujii Hironori
no flags
Fujii Hironori
Comment 1 2022-03-10 23:45:06 PST
EWS
Comment 2 2022-03-11 09:39:33 PST
Committed r291174 (248334@main): <https://commits.webkit.org/248334@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 454448 [details].
Radar WebKit Bug Importer
Comment 3 2022-03-11 09:40:20 PST
Note You need to log in before you can comment on or make changes to this bug.