[webkit-reviews] review granted: [Bug 204460] Null check callback in NetworkConnectionToWebProcess::didDeliverMessagePortMessages : [Attachment 384072] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Nov 22 11:59:33 PST 2019
Chris Dumez <cdumez at apple.com> has granted Alex Christensen
<achristensen at apple.com>'s request for review:
Bug 204460: Null check callback in
NetworkConnectionToWebProcess::didDeliverMessagePortMessages
https://bugs.webkit.org/show_bug.cgi?id=204460
Attachment 384072: Patch
https://bugs.webkit.org/attachment.cgi?id=384072&action=review
--- Comment #8 from Chris Dumez <cdumez at apple.com> ---
Comment on attachment 384072
--> https://bugs.webkit.org/attachment.cgi?id=384072
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=384072&action=review
>>>>> Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp:992
>>>>> + if (auto callback =
m_messageBatchDeliveryCompletionHandlers.take(messageBatchIdentifier))
>>>>
>>>> This should not be possible in theory, I think we need to find the root
cause.
>>>>
>>>> m_messageBatchDeliveryCompletionHandlers is only modified here and in
takeAllMessagesForPort(). So either we're getting an unexpected
didDeliverMessagePortMessages or the NetworkConnectionToWebProcess is stale.
>>>
>>> Maybe if the network process crashes in between the
takeAllMessagesForPort() call and the didDeliverMessagePortMessages() one? Then
it'd be a new NetworkConnectionToWebProcess. The WebProcess would send the
DidDeliverMessagePortMessages IPC to the new network process, which does not
know about the takeAllMessagesForPort request.
>>
>> If that's what's doing on, it may be possible to write a test for this.
>
> I think that's what's going on and that was mentioned in
https://bugs.webkit.org/show_bug.cgi?id=201299#c4 , but there doesn't seem to
be a good way to call _terminateNetworkProcess exactly between these two calls.
Then the ChangeLog should state so. Also maybe a comment in the code indicating
why this can happen.
More information about the webkit-reviews
mailing list