TestWebKitAPI.WebKit.RequestRectForFoundTextRange Is a constant API failure on iOS ToT and since 255600@main. HISTORY: https://results.webkit.org/?suite=api-tests&test=TestWebKitAPI.WebKit.RequestRectForFoundTextRange DIFF: ASSERTION FAILED: threadLikeAssertion.isCurrent() /Volumes/Data/worker//build/OpenSource/WebKitBuild/Debug-iphonesimulator/usr/local/include/wtf/ThreadAssertions.h(158) : void WTF::assertIsCurrent(const WTF::ThreadLikeAssertion &) 1 0x5322ae989 WTFCrash 2 0x5571d087b WTFCrashWithInfo(int, char const*, char const*, int) 3 0x5571eb6a3 WTF::assertIsCurrent(WTF::ThreadLikeAssertion const&) 4 0x558d8c0e7 WTF::CompletionHandler<void (WebCore::FloatRect)>::operator()(WebCore::FloatRect) 5 0x55968997d WebKit::WebFoundTextRangeController::requestRectForFoundTextRange(WebKit::WebFoundTextRange const&, WTF::CompletionHandler<void (WebCore::FloatRect)>&&) 6 0x5598c5ab2 WebKit::WebPage::requestRectForFoundTextRange(WebKit::WebFoundTextRange const&, WTF::CompletionHandler<void (WebCore::FloatRect)>&&) 7 0x559a1914c void IPC::callMemberFunctionImpl<WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebFoundTextRange const&, WTF::CompletionHandler<void (WebCore::FloatRect)>&&), void (WebCore::FloatRect), std::__1::tuple<WebKit::WebFoundTextRange>, 0ul>(WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::WebFoundTextRange const&, WTF::CompletionHandler<void (WebCore::FloatRect)>&&), WTF::CompletionHandler<void (WebCore::FloatRect)>&&, std::__1::tuple<WebKit::WebFoundTextRange>&&, std::__1::integer_sequence<unsigned long, 0ul>) 8 0x559a19042 void IPC::callMemberFunction<WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebFoundTextRange const&, WTF::CompletionHandler<void (WebCore::FloatRect)>&&), void (WebCore::FloatRect), std::__1::tuple<WebKit::WebFoundTextRange>, std::__1::integer_sequence<unsigned long, 0ul> >(std::__1::tuple<WebKit::WebFoundTextRange>&&, WTF::CompletionHandler<void (WebCore::FloatRect)>&&, WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::WebFoundTextRange const&, WTF::CompletionHandler<void (WebCore::FloatRect)>&&)) 9 0x559949ded void IPC::handleMessageAsync<Messages::WebPage::RequestRectForFoundTextRange, WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebFoundTextRange const&, WTF::CompletionHandler<void (WebCore::FloatRect)>&&)>(IPC::Connection&, IPC::Decoder&, WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::WebFoundTextRange const&, WTF::CompletionHandler<void (WebCore::FloatRect)>&&)) 10 0x559936352 WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection&, IPC::Decoder&) 11 0x5598c761b WebKit::WebPage::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 12 0x559f585d3 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) 13 0x5590a27f1 WebKit::WebProcess::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 14 0x559f2bf6b IPC::Connection::dispatchMessage(IPC::Decoder&) 15 0x559f2c555 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) 16 0x559f2c84d IPC::Connection::dispatchOneIncomingMessage() 17 0x559f4b175 IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_16::operator()() 18 0x559f4b089 WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_16, void>::call() 19 0x5322dace2 WTF::Function<void ()>::operator()() const 20 0x53236ee82 WTF::RunLoop::performWork() 21 0x532372f5e WTF::RunLoop::performWork(void*) 22 0x5291f6ebd __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 23 0x5291f6dfc __CFRunLoopDoSource0 24 0x5291f65f9 __CFRunLoopDoSources0 25 0x5291f0db3 __CFRunLoopRun 26 0x5291f0637 CFRunLoopRunSpecific 27 0x52b90c9fc -[NSRunLoop(NSRunLoop) runMode:beforeDate:] 28 0x52b90cc1a -[NSRunLoop(NSRunLoop) run] 29 0x52a097e3f _xpc_objc_main 30 0x52a099de1 xpc_main 31 0x557f1672a WebKit::XPCServiceMain(int, char const**) LEAK: 1 WebProcessPool /Volumes/Data/worker//build/OpenSource/Tools/TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:699 Value of: CGRectEqualToRect(rect, CGRectMake(252, 146, 44, 19)) Actual: false Expected: true /Volumes/Data/worker//build/OpenSource/Tools/TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:708 Value of: CGRectEqualToRect(rect, CGRectMake(229, 646, 72, 19)) Actual: false Expected: true /Volumes/Data/worker//build/OpenSource/Tools/TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:716 Value of: CGRectEqualToRect(rect, CGRectMake(229, 104, 72, 19)) Actual: false Expected: true LEAK: 1 WebPageProxy
<rdar://problem/101266728>
This issue can be bisected to 255600@main using command: run-api-tests --debug --iterations=2 --ios-simulator TestWebKitAPI.WebKit.RequestRectForFoundTextRange
Issue is only happening on Debug.
Not obvious to me how this change could cause this assertion failure, but if this what bisection shows, I guess that has to be correct.
Wow, I wonder what it is! I’d hate to have to roll it out, but I also have no idea where to begin to track it down. Doesn’t fail on Mac?
Correct, only iOS simulator according to bots.
Pull request: https://github.com/WebKit/WebKit/pull/5606
Committed 255832@main (9c64727f1f36): <https://commits.webkit.org/255832@main> Reviewed commits have been landed. Closing PR #5606 and removing active labels.