Summary: | Regression(PSON) URL scheme handlers can no longer respond asynchronously | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Chris Dumez <cdumez> | ||||||
Component: | WebKit2 | Assignee: | Chris Dumez <cdumez> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | achristensen, beidson, commit-queue, ggaren, sroberts, webkit-bug-importer | ||||||
Priority: | P2 | Keywords: | InRadar | ||||||
Version: | WebKit Nightly Build | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Attachments: |
|
Description
Chris Dumez
2019-04-30 12:08:55 PDT
Created attachment 368587 [details]
Patch
Comment on attachment 368587 [details] Patch Clearing flags on attachment: 368587 Committed r244802: <https://trac.webkit.org/changeset/244802> All reviewed patches have been landed. Closing bug. After changes in https://trac.webkit.org/changeset/244802 The following API test is crashing on Debug builds TestWebKitAPI.URLSchemeHandler.Leaks2 ASSERTION FAILED: result.isNewEntry /Volumes/Data/slave/highsierra-debug/build/Source/WebKit/UIProcess/WebURLSchemeHandler.cpp(54) : void WebKit::WebURLSchemeHandler::startTask(WebKit::WebPageProxy &, WebKit::WebProcessProxy &, uint64_t, WebCore::ResourceRequest &&, WebKit::SyncLoadCompletionHandler &&) 1 0x1034bede9 WTFCrash 2 0x10899289b WTFCrashWithInfo(int, char const*, char const*, int) 3 0x10957645a WebKit::WebURLSchemeHandler::startTask(WebKit::WebPageProxy&, WebKit::WebProcessProxy&, unsigned long long, WebCore::ResourceRequest&&, WTF::CompletionHandler<void (WebCore::ResourceResponse const&, WebCore::ResourceError const&, IPC::DataReference const&)>&&) 4 0x1094a84a6 WebKit::WebPageProxy::startURLSchemeTaskShared(WTF::Ref<WebKit::WebProcessProxy, WTF::DumbPtrTraits<WebKit::WebProcessProxy> >&&, WebKit::URLSchemeTaskParameters&&) 5 0x1094a8252 WebKit::WebPageProxy::startURLSchemeTask(WebKit::URLSchemeTaskParameters&&) (In reply to Shawn Roberts from comment #5) > After changes in https://trac.webkit.org/changeset/244802 > > The following API test is crashing on Debug builds > > TestWebKitAPI.URLSchemeHandler.Leaks2 > > ASSERTION FAILED: result.isNewEntry > > /Volumes/Data/slave/highsierra-debug/build/Source/WebKit/UIProcess/ > WebURLSchemeHandler.cpp(54) : void > WebKit::WebURLSchemeHandler::startTask(WebKit::WebPageProxy &, > WebKit::WebProcessProxy &, uint64_t, WebCore::ResourceRequest &&, > WebKit::SyncLoadCompletionHandler &&) > 1 0x1034bede9 WTFCrash > 2 0x10899289b WTFCrashWithInfo(int, char const*, char const*, int) > 3 0x10957645a > WebKit::WebURLSchemeHandler::startTask(WebKit::WebPageProxy&, > WebKit::WebProcessProxy&, unsigned long long, WebCore::ResourceRequest&&, > WTF::CompletionHandler<void (WebCore::ResourceResponse const&, > WebCore::ResourceError const&, IPC::DataReference const&)>&&) > 4 0x1094a84a6 > WebKit::WebPageProxy::startURLSchemeTaskShared(WTF::Ref<WebKit:: > WebProcessProxy, WTF::DumbPtrTraits<WebKit::WebProcessProxy> >&&, > WebKit::URLSchemeTaskParameters&&) > 5 0x1094a8252 > WebKit::WebPageProxy::startURLSchemeTask(WebKit::URLSchemeTaskParameters&&) Looking now. ASSERTION FAILED: result.isNewEntry /Volumes/Data/slave/highsierra-debug/build/Source/WebKit/UIProcess/WebURLSchemeHandler.cpp(54) : void WebKit::WebURLSchemeHandler::startTask(WebKit::WebPageProxy &, WebKit::WebProcessProxy &, uint64_t, WebCore::ResourceRequest &&, WebKit::SyncLoadCompletionHandler &&) 1 0x1034bede9 WTFCrash 2 0x10899289b WTFCrashWithInfo(int, char const*, char const*, int) 3 0x10957645a WebKit::WebURLSchemeHandler::startTask(WebKit::WebPageProxy&, WebKit::WebProcessProxy&, unsigned long long, WebCore::ResourceRequest&&, WTF::CompletionHandler<void (WebCore::ResourceResponse const&, WebCore::ResourceError const&, IPC::DataReference const&)>&&) 4 0x1094a84a6 WebKit::WebPageProxy::startURLSchemeTaskShared(WTF::Ref<WebKit::WebProcessProxy, WTF::DumbPtrTraits<WebKit::WebProcessProxy> >&&, WebKit::URLSchemeTaskParameters&&) 5 0x1094a8252 WebKit::WebPageProxy::startURLSchemeTask(WebKit::URLSchemeTaskParameters&&) 6 0x109f7d0aa void IPC::callMemberFunctionImpl<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(WebKit::URLSchemeTaskParameters&&), std::__1::tuple<WebKit::URLSchemeTaskParameters>, 0ul>(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebKit::URLSchemeTaskParameters&&), std::__1::tuple<WebKit::URLSchemeTaskParameters>&&, std::__1::integer_sequence<unsigned long, 0ul>) 7 0x109f7d000 void IPC::callMemberFunction<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(WebKit::URLSchemeTaskParameters&&), std::__1::tuple<WebKit::URLSchemeTaskParameters>, std::__1::integer_sequence<unsigned long, 0ul> >(std::__1::tuple<WebKit::URLSchemeTaskParameters>&&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebKit::URLSchemeTaskParameters&&)) 8 0x109ee9ebe void IPC::handleMessage<Messages::WebPageProxy::StartURLSchemeTask, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(WebKit::URLSchemeTaskParameters&&)>(IPC::Decoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebKit::URLSchemeTaskParameters&&)) 9 0x109eda7ba WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 10 0x108a69aca IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) 11 0x109241954 WebKit::AuxiliaryProcessProxy::dispatchMessage(IPC::Connection&, IPC::Decoder&) 12 0x10956c0da WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 13 0x1089f277c IPC::Connection::dispatchMessage(IPC::Decoder&) 14 0x1089e48a1 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) 15 0x1089efbd1 IPC::Connection::dispatchIncomingMessages() 16 0x108a146a2 IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14::operator()() 17 0x108a145c9 WTF::Function<void ()>::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14>::call() 18 0x1034e95cd WTF::Function<void ()>::operator()() const 19 0x10354bdb3 WTF::RunLoop::performWork() 20 0x10354c744 WTF::RunLoop::performWork(void*) 21 0x7fff514c7011 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 22 0x7fff5157e8ec __CFRunLoopDoSource0 23 0x7fff514a9fc0 __CFRunLoopDoSources0 24 0x7fff514a943d __CFRunLoopRun 25 0x7fff514a8c97 CFRunLoopRunSpecific 26 0x7fff535c0e76 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] 27 0x102333b62 TestWebKitAPI::Util::spinRunLoop(unsigned long long) 28 0x10243adfa runUntilTasksInFlight(unsigned long) 29 0x10243b39c URLSchemeHandler_Leaks2_Test::TestBody() 30 0x1025158be void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) 31 0x1024bc7eb void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) TestWebKitAPI.URLSchemeHandler.Leaks2 Crashed Reopening due to API test failure. Reverted r244802 for reason: Caused an API test failure Committed r244812: <https://trac.webkit.org/changeset/244812> Created attachment 368646 [details]
Patch
Comment on attachment 368646 [details] Patch Clearing flags on attachment: 368646 Committed r244819: <https://trac.webkit.org/changeset/244819> All reviewed patches have been landed. Closing bug. |