WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
181222
ASSERTION FAILED: registration in WebCore::SWServerWorker::skipWaiting()
https://bugs.webkit.org/show_bug.cgi?id=181222
Summary
ASSERTION FAILED: registration in WebCore::SWServerWorker::skipWaiting()
Ryan Haddad
Reported
2018-01-02 14:52:11 PST
The following assertion failure was seen with layoutTest http/tests/workers/service/cors-image-fetch.html
https://build.webkit.org/results/Apple%20High%20Sierra%20Debug%20WK2%20(Tests)/r226330%20(1411)/results.html
ASSERTION FAILED: registration /Volumes/Data/slave/highsierra-debug/build/Source/WebCore/workers/service/server/SWServerWorker.cpp(134) : void WebCore::SWServerWorker::skipWaiting() 1 0x11aa88ecd WTFCrash 2 0x10eefd722 WebCore::SWServerWorker::skipWaiting() 3 0x10eefd6a5 WebCore::SWServerToContextConnection::skipWaiting(WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, unsigned long long) 4 0x105d0c404 void IPC::callMemberFunctionImpl<WebKit::WebSWServerToContextConnection, void (WebCore::SWServerToContextConnection::*)(WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, unsigned long long), std::__1::tuple<WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, unsigned long long>, 0ul, 1ul>(WebKit::WebSWServerToContextConnection*, void (WebCore::SWServerToContextConnection::*)(WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, unsigned long long), std::__1::tuple<WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, unsigned long long>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>) 5 0x105d0c1a0 void IPC::callMemberFunction<WebKit::WebSWServerToContextConnection, void (WebCore::SWServerToContextConnection::*)(WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, unsigned long long), std::__1::tuple<WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, unsigned long long>, std::__1::integer_sequence<unsigned long, 0ul, 1ul> >(std::__1::tuple<WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, unsigned long long>&&, WebKit::WebSWServerToContextConnection*, void (WebCore::SWServerToContextConnection::*)(WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, unsigned long long)) 6 0x105d0aa0f void IPC::handleMessage<Messages::WebSWServerToContextConnection::SkipWaiting, WebKit::WebSWServerToContextConnection, void (WebCore::SWServerToContextConnection::*)(WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, unsigned long long)>(IPC::Decoder&, WebKit::WebSWServerToContextConnection*, void (WebCore::SWServerToContextConnection::*)(WTF::ObjectIdentifier<WebCore::ServiceWorkerIdentifierType>, unsigned long long)) 7 0x105d09fd2 WebKit::WebSWServerToContextConnection::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 8 0x1055a4484 WebKit::StorageToWebProcessConnection::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 9 0x10501dbc3 IPC::Connection::dispatchMessage(IPC::Decoder&) 10 0x105013248 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) 11 0x10501e1ca IPC::Connection::dispatchOneMessage() 12 0x10503673d IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14::operator()() 13 0x105036699 WTF::Function<void ()>::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14>::call() 14 0x11aaa501b WTF::Function<void ()>::operator()() const 15 0x11aae9e73 WTF::RunLoop::performWork() 16 0x11aaea714 WTF::RunLoop::performWork(void*) 17 0x7fff30bfb711 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 18 0x7fff30cb339c __CFRunLoopDoSource0 19 0x7fff30bde700 __CFRunLoopDoSources0 20 0x7fff30bddb7d __CFRunLoopRun 21 0x7fff30bdd3d7 CFRunLoopRunSpecific 22 0x7fff32cd7b76 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] 23 0x7fff32cd7a4e -[NSRunLoop(NSRunLoop) run] 24 0x7fff5879f403 _xpc_objc_main 25 0x7fff5879e082 xpc_main 26 0x104ed812b main 27 0x7fff584d2115 start
Attachments
Patch
(2.90 KB, patch)
2018-01-11 12:17 PST
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Patch
(2.98 KB, patch)
2018-01-11 12:51 PST
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2018-01-05 19:20:42 PST
<
rdar://problem/36332686
>
Ryan Haddad
Comment 2
2018-01-10 17:45:39 PST
Skipped test in
https://trac.webkit.org/r226749
Alexey Proskuryakov
Comment 3
2018-01-11 09:11:51 PST
rdar://problem/36206497
Ryan Haddad
Comment 4
2018-01-11 11:06:44 PST
(In reply to Ryan Haddad from
comment #2
)
> Skipped test in
https://trac.webkit.org/r226749
This crash is still seen with http/tests/workers/service/postmessage-after-sw-process-crash.https.html:
https://build.webkit.org/results/Apple%20High%20Sierra%20Debug%20WK2%20(Tests)/r226697%20(1530)/results.html
So I either skipped the wrong test, or this affects multiple tests. Chris, do you have any idea what is going on here?
Chris Dumez
Comment 5
2018-01-11 12:09:58 PST
(In reply to Ryan Haddad from
comment #4
)
> (In reply to Ryan Haddad from
comment #2
) > > Skipped test in
https://trac.webkit.org/r226749
> > This crash is still seen with > http/tests/workers/service/postmessage-after-sw-process-crash.https.html: >
https://build.webkit.org/results/
> Apple%20High%20Sierra%20Debug%20WK2%20(Tests)/r226697%20(1530)/results.html > > So I either skipped the wrong test, or this affects multiple tests. > > Chris, do you have any idea what is going on here?
This is next on my TODO list. I'll figure it out shortly. No worries.
Chris Dumez
Comment 6
2018-01-11 12:17:17 PST
Created
attachment 331092
[details]
Patch
youenn fablet
Comment 7
2018-01-11 12:44:40 PST
Comment on
attachment 331092
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=331092&action=review
> Source/WebCore/ChangeLog:11 > + period without having a registration, while it is terminating.
Would there be an easy way to know that it is either terminating or it has a registration?
Chris Dumez
Comment 8
2018-01-11 12:46:10 PST
Comment on
attachment 331092
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=331092&action=review
>> Source/WebCore/ChangeLog:11 >> + period without having a registration, while it is terminating. > > Would there be an easy way to know that it is either terminating or it has a registration?
In the case where there is no registration, I can ASSERT(isTerminating()); Would you like me to do so?
youenn fablet
Comment 9
2018-01-11 12:48:23 PST
(In reply to Chris Dumez from
comment #8
)
> Comment on
attachment 331092
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=331092&action=review
> > >> Source/WebCore/ChangeLog:11 > >> + period without having a registration, while it is terminating. > > > > Would there be an easy way to know that it is either terminating or it has a registration? > > In the case where there is no registration, I can ASSERT(isTerminating()); > > Would you like me to do so?
Seems cheap and would validate our model is correct. I would go for it.
Chris Dumez
Comment 10
2018-01-11 12:51:22 PST
Created
attachment 331099
[details]
Patch
WebKit Commit Bot
Comment 11
2018-01-11 15:41:35 PST
Comment on
attachment 331099
[details]
Patch Clearing flags on attachment: 331099 Committed
r226813
: <
https://trac.webkit.org/changeset/226813
>
WebKit Commit Bot
Comment 12
2018-01-11 15:41:37 PST
All reviewed patches have been landed. Closing bug.
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