Bug 180981

Summary: Refactor MessagePortChannel family classes for an easier multi-process split
Product: WebKit Reporter: Brady Eidson <beidson>
Component: WebCore Misc.Assignee: Brady Eidson <beidson>
Status: RESOLVED FIXED    
Severity: Normal CC: aestes, cdumez, commit-queue, dbates, esprehn+autocc, ews-watchlist, kangil.han, rniwa, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Preliminary for an EWS run
ews-watchlist: commit-queue-
Archive of layout-test-results from ews103 for mac-elcapitan
none
Archive of layout-test-results from ews104 for mac-elcapitan-wk2
none
Archive of layout-test-results from ews112 for mac-elcapitan
none
Archive of layout-test-results from ews121 for ios-simulator-wk2
none
EWS run
none
EWS run
none
Patch
aestes: review+, aestes: commit-queue-
Patch for landing none

Description Brady Eidson 2017-12-19 10:58:19 PST
Refactor MessagePortChannel family classes for an easier multi-process split
Comment 1 Brady Eidson 2017-12-20 09:39:55 PST
Created attachment 329927 [details]
Preliminary for an EWS run
Comment 2 Brady Eidson 2017-12-20 09:40:18 PST
(Might rely on the patch over in https://bugs.webkit.org/show_bug.cgi?id=94458 landed first)
Comment 3 EWS Watchlist 2017-12-20 09:42:51 PST
Attachment 329927 [details] did not pass style-queue:


ERROR: Source/WebCore/dom/InProcessMessagePortChannel.h:93:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 1 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 4 EWS Watchlist 2017-12-20 10:41:44 PST
Comment on attachment 329927 [details]
Preliminary for an EWS run

Attachment 329927 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/5775857

New failing tests:
fast/events/message-channel-gc-3.html
Comment 5 EWS Watchlist 2017-12-20 10:41:45 PST
Created attachment 329931 [details]
Archive of layout-test-results from ews103 for mac-elcapitan

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews103  Port: mac-elcapitan  Platform: Mac OS X 10.11.6
Comment 6 EWS Watchlist 2017-12-20 10:54:34 PST
Comment on attachment 329927 [details]
Preliminary for an EWS run

Attachment 329927 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/5775873

New failing tests:
fast/events/message-channel-gc-3.html
Comment 7 EWS Watchlist 2017-12-20 10:54:36 PST
Created attachment 329935 [details]
Archive of layout-test-results from ews104 for mac-elcapitan-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews104  Port: mac-elcapitan-wk2  Platform: Mac OS X 10.11.6
Comment 8 EWS Watchlist 2017-12-20 11:02:35 PST
Comment on attachment 329927 [details]
Preliminary for an EWS run

Attachment 329927 [details] did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/5775888

New failing tests:
fast/events/message-channel-gc-3.html
Comment 9 EWS Watchlist 2017-12-20 11:02:36 PST
Created attachment 329936 [details]
Archive of layout-test-results from ews112 for mac-elcapitan

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews112  Port: mac-elcapitan  Platform: Mac OS X 10.11.6
Comment 10 EWS Watchlist 2017-12-20 11:03:29 PST
Comment on attachment 329927 [details]
Preliminary for an EWS run

Attachment 329927 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/5775850

New failing tests:
fast/events/message-channel-gc-3.html
Comment 11 EWS Watchlist 2017-12-20 11:03:30 PST
Created attachment 329937 [details]
Archive of layout-test-results from ews121 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews121  Port: ios-simulator-wk2  Platform: Mac OS X 10.12.6
Comment 12 Brady Eidson 2017-12-20 14:54:08 PST
fast/events/message-channel-gc-3.html fails.

It creates a MessageChannel, sends a message from one port to the other, then makes sure the MessageChannel is GC'ed before the message is delivered.

In debugging I can see that when the MessageChannel goes away, it takes its MessagePorts with it (even though it should not!)

So with my patch, nothing is protecting the ports, but something used to be.
Comment 13 Brady Eidson 2017-12-20 21:42:38 PST
Created attachment 330006 [details]
EWS run
Comment 14 Brady Eidson 2017-12-20 22:02:18 PST
Created attachment 330007 [details]
EWS run
Comment 15 Brady Eidson 2017-12-20 22:40:06 PST
Created attachment 330010 [details]
Patch
Comment 16 Andy Estes 2017-12-21 08:52:28 PST
Comment on attachment 330010 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=330010&action=review

> Source/WebCore/dom/InProcessMessagePortChannel.cpp:25
> + */
> +#include "config.h"

Missing a newline
Comment 17 Brady Eidson 2017-12-21 09:52:23 PST
Created attachment 330034 [details]
Patch for landing
Comment 18 WebKit Commit Bot 2017-12-21 17:17:49 PST
Comment on attachment 330034 [details]
Patch for landing

Clearing flags on attachment: 330034

Committed r226252: <https://trac.webkit.org/changeset/226252>
Comment 19 Radar WebKit Bug Importer 2018-01-02 12:58:50 PST
<rdar://problem/36260877>