[Webkit-unassigned] [Bug 211233] New: [Debug] ServiceWorkers causing lots of crashes on Twitter

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Apr 30 07:35:33 PDT 2020


https://bugs.webkit.org/show_bug.cgi?id=211233

            Bug ID: 211233
           Summary: [Debug] ServiceWorkers causing lots of crashes on
                    Twitter
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Service Workers
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: cturner at igalia.com

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

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20200430/f5c67c56/attachment-0001.htm>


More information about the webkit-unassigned mailing list