Bug 221741 - REGRESSION (r272702): ASSERTION FAILED: Completion handler should always be called under WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea()
Summary: REGRESSION (r272702): ASSERTION FAILED: Completion handler should always be c...
Status: RESOLVED CONFIGURATION CHANGED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: Other
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2021-02-10 21:04 PST by Ryan Haddad
Modified: 2021-02-10 21:24 PST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ryan Haddad 2021-02-10 21:04:09 PST
Seeing layout tests exit early on Catalina debug WK2 with the following assertion failure:

ASSERTION FAILED: Completion handler should always be called
!m_function
/Volumes/Data/slave/catalina-debug/build/WebKitBuild/Debug/usr/local/include/wtf/CompletionHandler.h(58) : WTF::CompletionHandler<void ()>::~CompletionHandler()
1   0x31b140aa9 WTFCrash
2   0x2e8146647 WTF::CompletionHandler<void ()>::~CompletionHandler()
3   0x2e8143cb5 WTF::CompletionHandler<void ()>::~CompletionHandler()
4   0x2e8d8c7ff WTF::VectorDestructor<true, WTF::CompletionHandler<void ()> >::destruct(WTF::CompletionHandler<void ()>*, WTF::CompletionHandler<void ()>*)
5   0x2e8d8c76d WTF::VectorTypeOperations<WTF::CompletionHandler<void ()> >::destruct(WTF::CompletionHandler<void ()>*, WTF::CompletionHandler<void ()>*)
6   0x2e8d8c730 WTF::Vector<WTF::CompletionHandler<void ()>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>::~Vector()
7   0x2e8d412c5 WTF::Vector<WTF::CompletionHandler<void ()>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>::~Vector()
8   0x2e989c983 WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea()
9   0x2e989cb75 WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea()
10  0x2e989cb9c WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea()
11  0x2e9f8b05f std::__1::default_delete<WebKit::DrawingArea>::operator()(WebKit::DrawingArea*) const
12  0x2e9f8afdf std::__1::unique_ptr<WebKit::DrawingArea, std::__1::default_delete<WebKit::DrawingArea> >::reset(WebKit::DrawingArea*)
13  0x2e9f57117 std::__1::unique_ptr<WebKit::DrawingArea, std::__1::default_delete<WebKit::DrawingArea> >::operator=(std::nullptr_t)
14  0x2e9f569cf WebKit::WebPage::close()
15  0x2e9fe8d84 void IPC::callMemberFunctionImpl<WebKit::WebPage, void (WebKit::WebPage::*)(), std::__1::tuple<> >(WebKit::WebPage*, void (WebKit::WebPage::*)(), std::__1::tuple<>&&, std::__1::integer_sequence<unsigned long>)
16  0x2e9fe8ce0 void IPC::callMemberFunction<WebKit::WebPage, void (WebKit::WebPage::*)(), std::__1::tuple<>, std::__1::integer_sequence<unsigned long> >(std::__1::tuple<>&&, WebKit::WebPage*, void (WebKit::WebPage::*)())
17  0x2e9fcc7e6 void IPC::handleMessage<Messages::WebPage::Close, WebKit::WebPage, void (WebKit::WebPage::*)()>(IPC::Decoder&, WebKit::WebPage*, void (WebKit::WebPage::*)())
18  0x2e9fc3a8a WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection&, IPC::Decoder&)
19  0x2e9f66cfe WebKit::WebPage::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
20  0x2e84d6b21 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&)
21  0x2e997f0d7 WebKit::WebProcess::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
22  0x2e807a104 IPC::Connection::dispatchMessage(IPC::Decoder&)
23  0x2e807b1e0 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)
24  0x2e807b870 IPC::Connection::dispatchOneIncomingMessage()
25  0x2e809c878 IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_8::operator()()
26  0x2e809c78e WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_8, void>::call()
27  0x31b16c002 WTF::Function<void ()>::operator()() const
28  0x31b1ed305 WTF::RunLoop::performWork()
29  0x31b1f1af1 WTF::RunLoop::performWork(void*)
30  0x7fff2e618d52 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
31  0x7fff2e618cf1 __CFRunLoopDoSource0
LEAK: 1 WebPageProxy

https://build.webkit.org/results/Apple-Catalina-Debug-WK2-Tests/r272703%20(78)/results.html
Comment 1 Radar WebKit Bug Importer 2021-02-10 21:04:32 PST
<rdar://problem/74220237>
Comment 2 Ryan Haddad 2021-02-10 21:09:18 PST
Not limited to Catalina, this in-progress Big Sur run is also exited layout tests early: https://build.webkit.org/#/builders/23/builds/77

I'll just revert the change for now.
Comment 3 Ryan Haddad 2021-02-10 21:24:19 PST
Reverted r272702 for reason:

Caused assertion failure on macOS debug WK2 bots

Committed r272705: <https://trac.webkit.org/changeset/272705>