<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>211233</bug_id>
          
          <creation_ts>2020-04-30 07:35:33 -0700</creation_ts>
          <short_desc>[Debug] ServiceWorkers causing lots of crashes on Twitter</short_desc>
          <delta_ts>2020-05-01 10:54:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Service Workers</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>211169</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Charlie Turner">cturner</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>cdumez</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1647364</commentid>
    <comment_count>0</comment_count>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2020-04-30 07:35:33 -0700</bug_when>
    <thetext>At load I&apos;m hitting this in the NetworkProcess,

ASSERTION FAILED: initialized()
DerivedSources/ForwardingHeaders/wtf/Optional.h(534) : T &amp;&amp;WTF::Optional&lt;unsigned short&gt;::operator*() &amp;&amp; [T = unsigned short]
1   0x7f6a92781c59 WTFCrash
2   0x7f6aa3507499 WTF::Optional&lt;unsigned short&gt;::operator*() &amp;&amp;
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&amp;, bool)
5   0x7f6aa34dee0e WebCore::SWServerJobQueue::runUpdateJob(WebCore::ServiceWorkerJobData const&amp;)
6   0x7f6aa34dd92a WebCore::SWServerJobQueue::runNextJobSynchronously()
7   0x7f6aa3543987 void std::__invoke_impl&lt;void, void (WebCore::SWServerJobQueue::*&amp;)(), WebCore::SWServerJobQueue*&amp;&gt;(std::__invoke_memfun_deref, void (WebCore::SWServerJobQueue::*&amp;)(), WebCore::SWServerJobQueue*&amp;)
8   0x7f6aa35438b2 std::__invoke_result&lt;void (WebCore::SWServerJobQueue::*&amp;)(), WebCore::SWServerJobQueue*&amp;&gt;::type std::__invoke&lt;void (WebCore::SWServerJobQueue::*&amp;)(), WebCore::SWServerJobQueue*&amp;&gt;(void (WebCore::SWServerJobQueue::*&amp;)(), WebCore::SWServerJobQueue*&amp;)
9   0x7f6aa3543876 void std::_Bind&lt;void (WebCore::SWServerJobQueue::*(WebCore::SWServerJobQueue*))()&gt;::__call&lt;void, , 0ul&gt;(std::tuple&lt;&gt;&amp;&amp;, std::_Index_tuple&lt;0ul&gt;)
EventDispatcher::dispatchEvent load on node SCRIPT
10  0x7f6aa3543826 void std::_Bind&lt;void (WebCore::SWServerJobQueue::*(WebCore::SWServerJobQueue*))()&gt;::operator()&lt;, void&gt;()
11  0x7f6aa354373e WTF::Detail::CallableWrapper&lt;std::_Bind&lt;void (WebCore::SWServerJobQueue::*(WebCore::SWServerJobQueue*))()&gt;, void&gt;::call()
12  0x7f6a9e7ded82 WTF::Function&lt;void ()&gt;::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&lt;void ()&gt;::operator()() const
18  0x7f6aa27ea0bb WebCore::MainThreadSharedTimer::fired()
19  0x7f6aa27f1bcb WTF::RunLoop::Timer&lt;WebCore::MainThreadSharedTimer&gt;::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&lt;WebKit::NetworkProcess, WebKit::NetworkProcessMainSoup&gt;(int, char**)
29  0x7f6a9f30fb5b WebKit::NetworkProcessMain(int, char**)
30  0x400f27 /home/cht/igalia/webkit-build/bin/WebKitNetworkProcess() [0x400f27]
31  0x7f6a8993309b __libc_start_main

It&apos;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 &amp;, const WebCore::FetchOptions &amp;, const WTF::URL &amp;, const WTF::String &amp;)
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&lt;WebCore::ProcessIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::ServiceWorkerIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::FetchIdentifierType&gt;, WebCore::ResourceRequest&amp;&amp;, WebCore::FetchOptions&amp;&amp;, IPC::FormDataReference&amp;&amp;, WTF::String&amp;&amp;)
5   0x7fca67ccfabe void IPC::callMemberFunctionImpl&lt;WebKit::WebSWContextManagerConnection, void (WebKit::WebSWContextManagerConnection::*)(WTF::ObjectIdentifier&lt;WebCore::ProcessIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::ServiceWorkerIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::FetchIdentifierType&gt;, WebCore::ResourceRequest&amp;&amp;, WebCore::FetchOptions&amp;&amp;, IPC::FormDataReference&amp;&amp;, WTF::String&amp;&amp;), std::tuple&lt;WTF::ObjectIdentifier&lt;WebCore::ProcessIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::ServiceWorkerIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::FetchIdentifierType&gt;, WebCore::ResourceRequest, WebCore::FetchOptions, IPC::FormDataReference, WTF::String&gt;, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul&gt;(WebKit::WebSWContextManagerConnection*, void (WebKit::WebSWContextManagerConnection::*)(WTF::ObjectIdentifier&lt;WebCore::ProcessIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::ServiceWorkerIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::FetchIdentifierType&gt;, WebCore::ResourceRequest&amp;&amp;, WebCore::FetchOptions&amp;&amp;, IPC::FormDataReference&amp;&amp;, WTF::String&amp;&amp;), std::tuple&lt;WTF::ObjectIdentifier&lt;WebCore::ProcessIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::ServiceWorkerIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::FetchIdentifierType&gt;, WebCore::ResourceRequest, WebCore::FetchOptions, IPC::FormDataReference, WTF::String&gt;&amp;&amp;, std::integer_sequence&lt;unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul&gt;)
6   0x7fca67cc7040 void IPC::callMemberFunction&lt;WebKit::WebSWContextManagerConnection, void (WebKit::WebSWContextManagerConnection::*)(WTF::ObjectIdentifier&lt;WebCore::ProcessIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::ServiceWorkerIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::FetchIdentifierType&gt;, WebCore::ResourceRequest&amp;&amp;, WebCore::FetchOptions&amp;&amp;, IPC::FormDataReference&amp;&amp;, WTF::String&amp;&amp;), std::tuple&lt;WTF::ObjectIdentifier&lt;WebCore::ProcessIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::ServiceWorkerIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::FetchIdentifierType&gt;, WebCore::ResourceRequest, WebCore::FetchOptions, IPC::FormDataReference, WTF::String&gt;, std::integer_sequence&lt;unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul&gt; &gt;(std::tuple&lt;WTF::ObjectIdentifier&lt;WebCore::ProcessIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::ServiceWorkerIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::FetchIdentifierType&gt;, WebCore::ResourceRequest, WebCore::FetchOptions, IPC::FormDataReference, WTF::String&gt;&amp;&amp;, WebKit::WebSWContextManagerConnection*, void (WebKit::WebSWContextManagerConnection::*)(WTF::ObjectIdentifier&lt;WebCore::ProcessIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::ServiceWorkerIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::FetchIdentifierType&gt;, WebCore::ResourceRequest&amp;&amp;, WebCore::FetchOptions&amp;&amp;, IPC::FormDataReference&amp;&amp;, WTF::String&amp;&amp;))
7   0x7fca67cc10ce void IPC::handleMessage&lt;Messages::WebSWContextManagerConnection::StartFetch, WebKit::WebSWContextManagerConnection, void (WebKit::WebSWContextManagerConnection::*)(WTF::ObjectIdentifier&lt;WebCore::ProcessIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::ServiceWorkerIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::FetchIdentifierType&gt;, WebCore::ResourceRequest&amp;&amp;, WebCore::FetchOptions&amp;&amp;, IPC::FormDataReference&amp;&amp;, WTF::String&amp;&amp;)&gt;(IPC::Decoder&amp;, WebKit::WebSWContextManagerConnection*, void (WebKit::WebSWContextManagerConnection::*)(WTF::ObjectIdentifier&lt;WebCore::ProcessIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::ServiceWorkerIdentifierType&gt;, WTF::ObjectIdentifier&lt;WebCore::FetchIdentifierType&gt;, WebCore::ResourceRequest&amp;&amp;, WebCore::FetchOptions&amp;&amp;, IPC::FormDataReference&amp;&amp;, WTF::String&amp;&amp;))
8   0x7fca67cc07dd WebKit::WebSWContextManagerConnection::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;)
9   0x7fca68b2f70e WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;)
10  0x7fca681bc549 IPC::Connection::dispatchMessage(IPC::Decoder&amp;)
11  0x7fca681bcb02 IPC::Connection::dispatchMessage(std::unique_ptr&lt;IPC::Decoder, std::default_delete&lt;IPC::Decoder&gt; &gt;)
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&lt;void ()&gt;::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&lt;WebKit::WebProcess, WebKit::WebProcessMainGtk&gt;(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&lt;WebKit::UserContentControllerIdentifier&gt; &amp;)
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&lt;WTF::ObjectIdentifier&lt;WebKit::UserContentControllerIdentifierType&gt; &gt; const&amp;)
4   0x7f2e99c130c0 WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess(WebKit::NetworkProcessProxy&amp;, WebCore::RegistrableDomain&amp;&amp;, PAL::SessionID, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;)
5   0x7f2e99f927f4 WebKit::NetworkProcessProxy::establishWorkerContextConnectionToNetworkProcess(WebCore::RegistrableDomain&amp;&amp;, PAL::SessionID, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;)
6   0x7f2e99393a91 void IPC::callMemberFunctionImpl&lt;WebKit::NetworkProcessProxy, void (WebKit::NetworkProcessProxy::*)(WebCore::RegistrableDomain&amp;&amp;, PAL::SessionID, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), void (), std::tuple&lt;WebCore::RegistrableDomain, PAL::SessionID&gt;, 0ul, 1ul&gt;(WebKit::NetworkProcessProxy*, void (WebKit::NetworkProcessProxy::*)(WebCore::RegistrableDomain&amp;&amp;, PAL::SessionID, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;, std::tuple&lt;WebCore::RegistrableDomain, PAL::SessionID&gt;&amp;&amp;, std::integer_sequence&lt;unsigned long, 0ul, 1ul&gt;)
7   0x7f2e99392615 void IPC::callMemberFunction&lt;WebKit::NetworkProcessProxy, void (WebKit::NetworkProcessProxy::*)(WebCore::RegistrableDomain&amp;&amp;, PAL::SessionID, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;), void (), std::tuple&lt;WebCore::RegistrableDomain, PAL::SessionID&gt;, std::integer_sequence&lt;unsigned long, 0ul, 1ul&gt; &gt;(std::tuple&lt;WebCore::RegistrableDomain, PAL::SessionID&gt;&amp;&amp;, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;, WebKit::NetworkProcessProxy*, void (WebKit::NetworkProcessProxy::*)(WebCore::RegistrableDomain&amp;&amp;, PAL::SessionID, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;))
8   0x7f2e99370619 void IPC::handleMessageAsync&lt;Messages::NetworkProcessProxy::EstablishWorkerContextConnectionToNetworkProcess, WebKit::NetworkProcessProxy, void (WebKit::NetworkProcessProxy::*)(WebCore::RegistrableDomain&amp;&amp;, PAL::SessionID, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;)&gt;(IPC::Connection&amp;, IPC::Decoder&amp;, WebKit::NetworkProcessProxy*, void (WebKit::NetworkProcessProxy::*)(WebCore::RegistrableDomain&amp;&amp;, PAL::SessionID, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;))
9   0x7f2e9936e3c4 WebKit::NetworkProcessProxy::didReceiveNetworkProcessProxyMessage(IPC::Connection&amp;, IPC::Decoder&amp;)
10  0x7f2e99f8d41c WebKit::NetworkProcessProxy::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;)
11  0x7f2e999a6549 IPC::Connection::dispatchMessage(IPC::Decoder&amp;)
12  0x7f2e999a6b02 IPC::Connection::dispatchMessage(std::unique_ptr&lt;IPC::Decoder, std::default_delete&lt;IPC::Decoder&gt; &gt;)
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&lt;void ()&gt;::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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647919</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-01 10:53:47 -0700</bug_when>
    <thetext>This is probably fixed by https://bugs.webkit.org/show_bug.cgi?id=211169.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647920</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-01 10:54:31 -0700</bug_when>
    <thetext>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 ***</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>