WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED DUPLICATE of
bug 211169
211233
[Debug] ServiceWorkers causing lots of crashes on Twitter
https://bugs.webkit.org/show_bug.cgi?id=211233
Summary
[Debug] ServiceWorkers causing lots of crashes on Twitter
Charlie Turner
Reported
2020-04-30 07:35:33 PDT
At load I'm hitting this in the NetworkProcess, ASSERTION FAILED: initialized() DerivedSources/ForwardingHeaders/wtf/Optional.h(534) : T &&WTF::Optional<unsigned short>::operator*() && [T = unsigned short] 1 0x7f6a92781c59 WTFCrash 2 0x7f6aa3507499 WTF::Optional<unsigned short>::operator*() && 3 0x7f6aa34d8376 /home/cht/igalia/webkit-build-WebKit-gtk-cturner_eme-wpt-enablement-Debug/lib/libwebkit2gtk-4.0.so.37(+0xf76e376) [0x7f6aa34d8376] 4 0x7f6aa34d7fa9 WebCore::SWServer::startScriptFetch(WebCore::ServiceWorkerJobData const&, bool) 5 0x7f6aa34dee0e WebCore::SWServerJobQueue::runUpdateJob(WebCore::ServiceWorkerJobData const&) 6 0x7f6aa34dd92a WebCore::SWServerJobQueue::runNextJobSynchronously() 7 0x7f6aa3543987 void std::__invoke_impl<void, void (WebCore::SWServerJobQueue::*&)(), WebCore::SWServerJobQueue*&>(std::__invoke_memfun_deref, void (WebCore::SWServerJobQueue::*&)(), WebCore::SWServerJobQueue*&) 8 0x7f6aa35438b2 std::__invoke_result<void (WebCore::SWServerJobQueue::*&)(), WebCore::SWServerJobQueue*&>::type std::__invoke<void (WebCore::SWServerJobQueue::*&)(), WebCore::SWServerJobQueue*&>(void (WebCore::SWServerJobQueue::*&)(), WebCore::SWServerJobQueue*&) 9 0x7f6aa3543876 void std::_Bind<void (WebCore::SWServerJobQueue::*(WebCore::SWServerJobQueue*))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) EventDispatcher::dispatchEvent load on node SCRIPT 10 0x7f6aa3543826 void std::_Bind<void (WebCore::SWServerJobQueue::*(WebCore::SWServerJobQueue*))()>::operator()<, void>() 11 0x7f6aa354373e WTF::Detail::CallableWrapper<std::_Bind<void (WebCore::SWServerJobQueue::*(WebCore::SWServerJobQueue*))()>, void>::call() 12 0x7f6a9e7ded82 WTF::Function<void ()>::operator()() const 13 0x7f6a9ef9364e WebCore::Timer::fired() 14 0x7f6aa2816d34 WebCore::ThreadTimers::sharedTimerFiredInternal() 15 0x7f6aa28186e1 /home/cht/igalia/webkit-build/lib/libwebkit2gtk-4.0.so.37(+0xeaae6e1) [0x7f6aa28186e1] 16 0x7f6aa28186ae /home/cht/igalia/webkit-build/lib/libwebkit2gtk-4.0.so.37(+0xeaae6ae) [0x7f6aa28186ae] 17 0x7f6a9e7ded82 WTF::Function<void ()>::operator()() const 18 0x7f6aa27ea0bb WebCore::MainThreadSharedTimer::fired() 19 0x7f6aa27f1bcb WTF::RunLoop::Timer<WebCore::MainThreadSharedTimer>::fired() 20 0x7f6a9284bf7b /home/cht/igalia/webkit-build/lib/libjavascriptcoregtk-4.0.so.18(+0x3ac1f7b) [0x7f6a9284bf7b] 21 0x7f6a9284bf35 /home/cht/igalia/webkit-build/lib/libjavascriptcoregtk-4.0.so.18(+0x3ac1f35) [0x7f6a9284bf35] 22 0x7f6a9284be51 /home/cht/igalia/webkit-build/lib/libjavascriptcoregtk-4.0.so.18(+0x3ac1e51) [0x7f6a9284be51] 23 0x7f6a9284bdf5 /home/cht/igalia/webkit-build/lib/libjavascriptcoregtk-4.0.so.18(+0x3ac1df5) [0x7f6a9284bdf5] 24 0x7f6a8b3f9dd8 g_main_context_dispatch 25 0x7f6a8b3fa1c8 /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x4e1c8) [0x7f6a8b3fa1c8] 26 0x7f6a8b3fa4c2 g_main_loop_run 27 0x7f6a9284b5a8 WTF::RunLoop::run() 28 0x7f6a9f321b3b int WebKit::AuxiliaryProcessMain<WebKit::NetworkProcess, WebKit::NetworkProcessMainSoup>(int, char**) 29 0x7f6a9f30fb5b WebKit::NetworkProcessMain(int, char**) 30 0x400f27 /home/cht/igalia/webkit-build/bin/WebKitNetworkProcess() [0x400f27] 31 0x7f6a8993309b __libc_start_main It's not recommended of me to continue after the NetworkProcess has died, but some more assertions follow in the Web process after more interaction, ASSERTION FAILED: url.host() == serviceWorkerURL.host() /home/cht/igalia/sources/WebKit/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp(197) : bool WebKit::isValidFetch(const WebCore::ResourceRequest &, const WebCore::FetchOptions &, const WTF::URL &, const WTF::String &) 1 0x7fca5b60bc59 WTFCrash 2 0x7fca6766951b /home/cht/igalia/webkit-build/lib/libwebkit2gtk-4.0.so.37(+0xaa7551b) [0x7fca6766951b] 3 0x7fca68c1f3dc /home/cht/igalia/webkit-build/lib/libwebkit2gtk-4.0.so.37(+0xc02b3dc) [0x7fca68c1f3dc] 4 0x7fca68c1ec70 WebKit::WebSWContextManagerConnection::startFetch(WTF::ObjectIdentifier<WebCore::ProcessIdentifierType>, WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, WTF::ObjectIdentifier<WebCore::FetchIdentifierType>, WebCore::ResourceRequest&&, WebCore::FetchOptions&&, IPC::FormDataReference&&, WTF::String&&) 5 0x7fca67ccfabe void IPC::callMemberFunctionImpl<WebKit::WebSWContextManagerConnection, void (WebKit::WebSWContextManagerConnection::*)(WTF::ObjectIdentifier<WebCore::ProcessIdentifierType>, WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, WTF::ObjectIdentifier<WebCore::FetchIdentifierType>, WebCore::ResourceRequest&&, WebCore::FetchOptions&&, IPC::FormDataReference&&, WTF::String&&), std::tuple<WTF::ObjectIdentifier<WebCore::ProcessIdentifierType>, WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, WTF::ObjectIdentifier<WebCore::FetchIdentifierType>, WebCore::ResourceRequest, WebCore::FetchOptions, IPC::FormDataReference, WTF::String>, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(WebKit::WebSWContextManagerConnection*, void (WebKit::WebSWContextManagerConnection::*)(WTF::ObjectIdentifier<WebCore::ProcessIdentifierType>, WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, WTF::ObjectIdentifier<WebCore::FetchIdentifierType>, WebCore::ResourceRequest&&, WebCore::FetchOptions&&, IPC::FormDataReference&&, WTF::String&&), std::tuple<WTF::ObjectIdentifier<WebCore::ProcessIdentifierType>, WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, WTF::ObjectIdentifier<WebCore::FetchIdentifierType>, WebCore::ResourceRequest, WebCore::FetchOptions, IPC::FormDataReference, WTF::String>&&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) 6 0x7fca67cc7040 void IPC::callMemberFunction<WebKit::WebSWContextManagerConnection, void (WebKit::WebSWContextManagerConnection::*)(WTF::ObjectIdentifier<WebCore::ProcessIdentifierType>, WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, WTF::ObjectIdentifier<WebCore::FetchIdentifierType>, WebCore::ResourceRequest&&, WebCore::FetchOptions&&, IPC::FormDataReference&&, WTF::String&&), std::tuple<WTF::ObjectIdentifier<WebCore::ProcessIdentifierType>, WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, WTF::ObjectIdentifier<WebCore::FetchIdentifierType>, WebCore::ResourceRequest, WebCore::FetchOptions, IPC::FormDataReference, WTF::String>, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul> >(std::tuple<WTF::ObjectIdentifier<WebCore::ProcessIdentifierType>, WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, WTF::ObjectIdentifier<WebCore::FetchIdentifierType>, WebCore::ResourceRequest, WebCore::FetchOptions, IPC::FormDataReference, WTF::String>&&, WebKit::WebSWContextManagerConnection*, void (WebKit::WebSWContextManagerConnection::*)(WTF::ObjectIdentifier<WebCore::ProcessIdentifierType>, WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, WTF::ObjectIdentifier<WebCore::FetchIdentifierType>, WebCore::ResourceRequest&&, WebCore::FetchOptions&&, IPC::FormDataReference&&, WTF::String&&)) 7 0x7fca67cc10ce void IPC::handleMessage<Messages::WebSWContextManagerConnection::StartFetch, WebKit::WebSWContextManagerConnection, void (WebKit::WebSWContextManagerConnection::*)(WTF::ObjectIdentifier<WebCore::ProcessIdentifierType>, WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, WTF::ObjectIdentifier<WebCore::FetchIdentifierType>, WebCore::ResourceRequest&&, WebCore::FetchOptions&&, IPC::FormDataReference&&, WTF::String&&)>(IPC::Decoder&, WebKit::WebSWContextManagerConnection*, void (WebKit::WebSWContextManagerConnection::*)(WTF::ObjectIdentifier<WebCore::ProcessIdentifierType>, WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, WTF::ObjectIdentifier<WebCore::FetchIdentifierType>, WebCore::ResourceRequest&&, WebCore::FetchOptions&&, IPC::FormDataReference&&, WTF::String&&)) 8 0x7fca67cc07dd WebKit::WebSWContextManagerConnection::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 9 0x7fca68b2f70e WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 10 0x7fca681bc549 IPC::Connection::dispatchMessage(IPC::Decoder&) 11 0x7fca681bcb02 IPC::Connection::dispatchMessage(std::unique_ptr<IPC::Decoder, std::default_delete<IPC::Decoder> >) 12 0x7fca681bd0a0 IPC::Connection::dispatchOneIncomingMessage() 13 0x7fca681c0ade /home/cht/igalia/webkit-build/lib/libwebkit2gtk-4.0.so.37(+0xb5ccade) [0x7fca681c0ade] 14 0x7fca681c0a6e /home/cht/igalia/webkit-build/lib/libwebkit2gtk-4.0.so.37(+0xb5cca6e) [0x7fca681c0a6e] 15 0x7fca67668d82 WTF::Function<void ()>::operator()() const 16 0x7fca5b6428e8 WTF::RunLoop::performWork() 17 0x7fca5b6d5e9c /home/cht/igalia/webkit-build/lib/libjavascriptcoregtk-4.0.so.18(+0x3ac1e9c) [0x7fca5b6d5e9c] 18 0x7fca5b6d5e75 /home/cht/igalia/webkit-build/lib/libjavascriptcoregtk-4.0.so.18(+0x3ac1e75) [0x7fca5b6d5e75] 19 0x7fca5b6d5e51 /home/cht/igalia/webkit-build/lib/libjavascriptcoregtk-4.0.so.18(+0x3ac1e51) [0x7fca5b6d5e51] 20 0x7fca5b6d5df5 /home/cht/igalia/webkit-build/lib/libjavascriptcoregtk-4.0.so.18(+0x3ac1df5) [0x7fca5b6d5df5] 21 0x7fca54283dd8 g_main_context_dispatch 22 0x7fca542841c8 /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x4e1c8) [0x7fca542841c8] 23 0x7fca542844c2 g_main_loop_run 24 0x7fca5b6d55a8 WTF::RunLoop::run() 25 0x7fca68d9eda8 int WebKit::AuxiliaryProcessMain<WebKit::WebProcess, WebKit::WebProcessMainGtk>(int, char**) 26 0x7fca68d9bcab WebKit::WebProcessMain(int, char**) 27 0x400f86 /home/cht/igalia/webkit-build/bin/WebKitWebProcess() [0x400f86] 28 0x7fca527bd09b __libc_start_main 29 0x400e8a /home/cht/igalia/webkit-build/bin/WebKitWebProcess() [0x400e8a] And, ASSERTION FAILED: !m_serviceWorkerInformation /home/cht/igalia/sources/WebKit/Source/WebKit/UIProcess/WebProcessProxy.cpp(1759) : void WebKit::WebProcessProxy::enableServiceWorkers(const Optional<WebKit::UserContentControllerIdentifier> &) 1 0x7f2e8ce2fc59 WTFCrash 2 0x7f2e98e5351b /home/cht/igalia/webkit-build/lib/libwebkit2gtk-4.0.so.37(+0xaa7551b) [0x7f2e98e5351b] 3 0x7f2e99c13616 WebKit::WebProcessProxy::enableServiceWorkers(WTF::Optional<WTF::ObjectIdentifier<WebKit::UserContentControllerIdentifierType> > const&) 4 0x7f2e99c130c0 WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess(WebKit::NetworkProcessProxy&, WebCore::RegistrableDomain&&, PAL::SessionID, WTF::CompletionHandler<void ()>&&) 5 0x7f2e99f927f4 WebKit::NetworkProcessProxy::establishWorkerContextConnectionToNetworkProcess(WebCore::RegistrableDomain&&, PAL::SessionID, WTF::CompletionHandler<void ()>&&) 6 0x7f2e99393a91 void IPC::callMemberFunctionImpl<WebKit::NetworkProcessProxy, void (WebKit::NetworkProcessProxy::*)(WebCore::RegistrableDomain&&, PAL::SessionID, WTF::CompletionHandler<void ()>&&), void (), std::tuple<WebCore::RegistrableDomain, PAL::SessionID>, 0ul, 1ul>(WebKit::NetworkProcessProxy*, void (WebKit::NetworkProcessProxy::*)(WebCore::RegistrableDomain&&, PAL::SessionID, WTF::CompletionHandler<void ()>&&), WTF::CompletionHandler<void ()>&&, std::tuple<WebCore::RegistrableDomain, PAL::SessionID>&&, std::integer_sequence<unsigned long, 0ul, 1ul>) 7 0x7f2e99392615 void IPC::callMemberFunction<WebKit::NetworkProcessProxy, void (WebKit::NetworkProcessProxy::*)(WebCore::RegistrableDomain&&, PAL::SessionID, WTF::CompletionHandler<void ()>&&), void (), std::tuple<WebCore::RegistrableDomain, PAL::SessionID>, std::integer_sequence<unsigned long, 0ul, 1ul> >(std::tuple<WebCore::RegistrableDomain, PAL::SessionID>&&, WTF::CompletionHandler<void ()>&&, WebKit::NetworkProcessProxy*, void (WebKit::NetworkProcessProxy::*)(WebCore::RegistrableDomain&&, PAL::SessionID, WTF::CompletionHandler<void ()>&&)) 8 0x7f2e99370619 void IPC::handleMessageAsync<Messages::NetworkProcessProxy::EstablishWorkerContextConnectionToNetworkProcess, WebKit::NetworkProcessProxy, void (WebKit::NetworkProcessProxy::*)(WebCore::RegistrableDomain&&, PAL::SessionID, WTF::CompletionHandler<void ()>&&)>(IPC::Connection&, IPC::Decoder&, WebKit::NetworkProcessProxy*, void (WebKit::NetworkProcessProxy::*)(WebCore::RegistrableDomain&&, PAL::SessionID, WTF::CompletionHandler<void ()>&&)) 9 0x7f2e9936e3c4 WebKit::NetworkProcessProxy::didReceiveNetworkProcessProxyMessage(IPC::Connection&, IPC::Decoder&) 10 0x7f2e99f8d41c WebKit::NetworkProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 11 0x7f2e999a6549 IPC::Connection::dispatchMessage(IPC::Decoder&) 12 0x7f2e999a6b02 IPC::Connection::dispatchMessage(std::unique_ptr<IPC::Decoder, std::default_delete<IPC::Decoder> >) 13 0x7f2e999a70a0 IPC::Connection::dispatchOneIncomingMessage() 14 0x7f2e999aaade /home/cht/igalia/webkit-build/lib/libwebkit2gtk-4.0.so.37(+0xb5ccade) [0x7f2e999aaade] 15 0x7f2e999aaa6e /home/cht/igalia/webkit-build/lib/libwebkit2gtk-4.0.so.37(+0xb5cca6e) [0x7f2e999aaa6e] 16 0x7f2e98e52d82 WTF::Function<void ()>::operator()() const 17 0x7f2e8ce668e8 WTF::RunLoop::performWork() 18 0x7f2e8cef9e9c /home/cht/igalia/webkit-build/lib/libjavascriptcoregtk-4.0.so.18(+0x3ac1e9c) [0x7f2e8cef9e9c] 19 0x7f2e8cef9e75 /home/cht/igalia/webkit-build/lib/libjavascriptcoregtk-4.0.so.18(+0x3ac1e75) [0x7f2e8cef9e75] 20 0x7f2e8cef9e51 /home/cht/igalia/webkit-build/lib/libjavascriptcoregtk-4.0.so.18(+0x3ac1e51) [0x7f2e8cef9e51] 21 0x7f2e8cef9df5 /home/cht/igalia/webkit-build/lib/libjavascriptcoregtk-4.0.so.18(+0x3ac1df5) [0x7f2e8cef9df5] 22 0x7f2ea46afdd8 g_main_context_dispatch 23 0x7f2ea46b01c8 /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x4e1c8) [0x7f2ea46b01c8] 24 0x7f2ea46b04c2 g_main_loop_run 25 0x7f2e84bb6b15 gtk_main
Attachments
Add attachment
proposed patch, testcase, etc.
youenn fablet
Comment 1
2020-05-01 10:53:47 PDT
This is probably fixed by
https://bugs.webkit.org/show_bug.cgi?id=211169
.
youenn fablet
Comment 2
2020-05-01 10:54:31 PDT
Marking as duplicate. Charlie, please let me know if you still see this with ToT. *** This bug has been marked as a duplicate of
bug 211169
***
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