Bug 181941 - RELEASE_ASSERT(registration) hit in SWServer::installContextData(const ServiceWorkerContextData&)
Summary: RELEASE_ASSERT(registration) hit in SWServer::installContextData(const Servic...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Service Workers (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Chris Dumez
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2018-01-22 12:52 PST by Chris Dumez
Modified: 2018-01-22 13:27 PST (History)
6 users (show)

See Also:


Attachments
Patch (2.49 KB, patch)
2018-01-22 12:58 PST, Chris Dumez
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Dumez 2018-01-22 12:52:02 PST
RELEASE_ASSERT(registration) is sometimes hit in SWServer::installContextData(const ServiceWorkerContextData&) after clearing Website data:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x0000000121703464 WTFCrash + 36 (Assertions.cpp:272)
1   com.apple.WebCore             	0x00000001159de82e WebCore::SWServer::installContextData(WebCore::ServiceWorkerContextData const&) + 206 (SWServer.cpp:503)
2   com.apple.WebCore             	0x00000001159deb52 WebCore::SWServer::serverToContextConnectionCreated() + 242 (SWServer.cpp:479)
3   com.apple.WebKit              	0x00000001084f4765 WebKit::StorageToWebProcessConnection::workerContextProcessConnectionCreated() + 133
4   com.apple.WebKit              	0x00000001084c8060 WebKit::StorageProcess::createStorageToWebProcessConnection(bool) + 528 (StorageProcess.cpp:261)
5   com.apple.WebKit              	0x00000001084e7982 void IPC::callMemberFunctionImpl<WebKit::StorageProcess, void (WebKit::StorageProcess::*)(bool), std::__1::tuple<bool>, 0ul>(WebKit::StorageProcess*, void (WebKit::StorageProcess::*)(bool), std::__1::tuple<bool>&&, std::__1::integer_sequence<unsigned long, 0ul>) + 162 (HandleMessage.h:41)
6   com.apple.WebKit              	0x00000001084e78d0 void IPC::callMemberFunction<WebKit::StorageProcess, void (WebKit::StorageProcess::*)(bool), std::__1::tuple<bool>, std::__1::integer_sequence<unsigned long, 0ul> >(std::__1::tuple<bool>&&, WebKit::StorageProcess*, void (WebKit::StorageProcess::*)(bool)) + 96 (HandleMessage.h:47)
7   com.apple.WebKit              	0x00000001084e5ffc void IPC::handleMessage<Messages::StorageProcess::CreateStorageToWebProcessConnection, WebKit::StorageProcess, void (WebKit::StorageProcess::*)(bool)>(IPC::Decoder&, WebKit::StorageProcess*, void (WebKit::StorageProcess::*)(bool)) + 220 (HandleMessage.h:127)
8   com.apple.WebKit              	0x00000001084e56fd WebKit::StorageProcess::didReceiveStorageProcessMessage(IPC::Connection&, IPC::Decoder&) + 237 (StorageProcessMessageReceiver.cpp:76)
9   com.apple.WebKit              	0x00000001084c7052 WebKit::StorageProcess::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 146 (StorageProcess.cpp:138)
10  com.apple.WebKit              	0x0000000107f6b0c3 IPC::Connection::dispatchMessage(IPC::Decoder&) + 51 (Connection.cpp:903)
11  com.apple.WebKit              	0x0000000107f606a8 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) + 712
12  com.apple.WebKit              	0x0000000107f6001e IPC::Connection::SyncMessageState::dispatchMessages(IPC::Connection*) + 846 (Connection.cpp:178)
13  com.apple.WebKit              	0x0000000107f60a08 IPC::Connection::SyncMessageState::dispatchMessageAndResetDidScheduleDispatchMessagesForConnection(IPC::Connection&) + 216 (Connection.cpp:198)
14  com.apple.WebKit              	0x0000000107f70afc IPC::Connection::SyncMessageState::processIncomingMessage(IPC::Connection&, std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >&)::$_1::operator()() + 44 (Connection.cpp:144)
15  com.apple.WebKit              	0x0000000107f70a39 WTF::Function<void ()>::CallableWrapper<IPC::Connection::SyncMessageState::processIncomingMessage(IPC::Connection&, std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >&)::$_1>::call() + 25 (Function.h:101)
16  com.apple.JavaScriptCore      	0x000000012171f5ab WTF::Function<void ()>::operator()() const + 139 (Function.h:56)
17  com.apple.JavaScriptCore      	0x0000000121764483 WTF::RunLoop::performWork() + 211 (RunLoop.cpp:107)
18  com.apple.JavaScriptCore      	0x0000000121764d24 WTF::RunLoop::performWork(void*) + 36 (RunLoopCF.cpp:38)
19  com.apple.CoreFoundation      	0x00007fff427d0711 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
20  com.apple.CoreFoundation      	0x00007fff4288839c __CFRunLoopDoSource0 + 108
21  com.apple.CoreFoundation      	0x00007fff427b3700 __CFRunLoopDoSources0 + 208
22  com.apple.CoreFoundation      	0x00007fff427b2b7d __CFRunLoopRun + 1293
23  com.apple.CoreFoundation      	0x00007fff427b23d7 CFRunLoopRunSpecific + 487
24  com.apple.Foundation          	0x00007fff4489db76 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 277
25  com.apple.Foundation          	0x00007fff4489da4e -[NSRunLoop(NSRunLoop) run] + 76
26  libxpc.dylib                  	0x00007fff6a50a403 _xpc_objc_main + 536
27  libxpc.dylib                  	0x00007fff6a509082 xpc_main + 417
28  com.apple.WebKit.Storage      	0x0000000107e2113b main + 1195 (XPCServiceMain.mm:148)
29  libdyld.dylib                 	0x00007fff6a23d115 start + 1
Comment 1 Radar WebKit Bug Importer 2018-01-22 12:53:06 PST
<rdar://problem/36744892>
Comment 2 Chris Dumez 2018-01-22 12:58:41 PST
Created attachment 331952 [details]
Patch
Comment 3 WebKit Commit Bot 2018-01-22 13:27:22 PST
Comment on attachment 331952 [details]
Patch

Clearing flags on attachment: 331952

Committed r227353: <https://trac.webkit.org/changeset/227353>
Comment 4 WebKit Commit Bot 2018-01-22 13:27:24 PST
All reviewed patches have been landed.  Closing bug.