[Resource Timing] Gather timing information with reliable responseEnd time
Currently:
- WebContentProcess records pre-network times
- NetworkProcess records network request times
- WebContentProcess records responseEnd after receiving data from the NetworkProcess
However because the double switch, the "responseEnd" recorded in the WebContentProcess doesn't line up with the other times and may end up before the last NetworkProcess time (responseStart).
Ideally we just complete recording of network timestamps in the NetworkProcess.
Suggested:
- WebContentProcess records pre-network times
- NetworkProcess records network request times + responseEnd
This likely means moving NetworkLoadTiming off of ResourceResponse and instead sending it through a separate message, which is something we wanted to do anyways.
It is my understanding that on Cocoa platforms:
-[NSURLSessionTaskDelegate URLSession:task:didFinishCollectingMetrics:]
is always guaranteed to be received before:
-[NSURLSessionTaskDelegate URLSession:task:didCompleteWithError]
Moving to that, will allow Cocoa ports to:
1. Move off of SPI to API (NSURLSessionTaskTransactionMetrics) for network load times
2. Gain the "nextHopProtocol" value needed for Resource Timing Level 2
3. Have a reliable responseEnd timestamp relative to other network timestamps
So that will be my goal for this radar. It is going to require a lot of plumbing.
I haven't quite figured out how I'm going to eliminate ResourceResponses's NetworkLoadTiming object. I'll have to how the ResourceHandle loading path works and ties into WebCore. It will need to be eliminated from many different places, and that task can be separate.
Attachment 301883[details] did not pass style-queue:
ERROR: Source/WebCore/platform/network/cocoa/NetworkLoadMetrics.mm:72: No space between ^ and block definition. [whitespace/brackets] [4]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:104: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:105: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:106: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:108: One space before end of line comments [whitespace/comments] [5]
Total errors found: 5 in 53 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Attachment 301885[details] did not pass style-queue:
ERROR: Source/WebCore/platform/network/cocoa/NetworkLoadMetrics.mm:72: No space between ^ and block definition. [whitespace/brackets] [4]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:104: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:105: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:106: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:108: One space before end of line comments [whitespace/comments] [5]
Total errors found: 5 in 53 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 301889[details]
Archive of layout-test-results from ews100 for mac-elcapitan
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews100 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Created attachment 301890[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 on attachment 301883[details]
[PATCH] For Bots
Attachment 301883[details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/3141674
New failing tests:
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-worker.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-worker.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-worker.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location.html
Created attachment 301892[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.11.6
Created attachment 301896[details]
Archive of layout-test-results from ews105 for mac-elcapitan-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews105 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Comment on attachment 301885[details]
[PATCH] For Bots
Attachment 301885[details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/3141766
New failing tests:
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-worker.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-worker.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-worker.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location.html
Created attachment 301897[details]
Archive of layout-test-results from ews124 for ios-simulator-wk2
The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews124 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Created attachment 301904[details]
Archive of layout-test-results from ews100 for mac-elcapitan
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews100 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Ahh yes. El Capitan won't have protocol information because:
(1) It did not have the NSURLSessionTask didFinishCollectingMetrics delegate
(2) It did not have protocol information in the SPI it uses to get timing data
So I'll need platform specific results on El Capitan.
I don't understand the fetch issues on iOS yet.
Attachment 301984[details] did not pass style-queue:
ERROR: Source/WebCore/platform/network/cocoa/NetworkLoadMetrics.mm:72: No space between ^ and block definition. [whitespace/brackets] [4]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:104: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:105: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:106: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:108: One space before end of line comments [whitespace/comments] [5]
Total errors found: 5 in 54 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Oh great, the test itself is flakey because if the resource is served from the cache it will not have a protocol. That sucks. I can mark it as flakey. Ideally we could address this upstream in web-platform-tests but instead I'll just add my own test for protocol name.
Created attachment 301992[details]
Archive of layout-test-results from ews105 for mac-elcapitan-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews105 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Created attachment 301994[details]
Archive of layout-test-results from ews125 for ios-simulator-wk2
The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews125 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Created attachment 301995[details]
Archive of layout-test-results from ews100 for mac-elcapitan
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews100 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Attachment 302040[details] did not pass style-queue:
ERROR: Source/WebCore/platform/network/cocoa/NetworkLoadMetrics.mm:72: No space between ^ and block definition. [whitespace/brackets] [4]
WARNING: Not running on native Windows.
ERROR: LayoutTests/platform/win/TestExpectations:3787: Path does not exist. [test/expectations] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:104: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:105: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:106: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:108: One space before end of line comments [whitespace/comments] [5]
ERROR: LayoutTests/platform/mac/TestExpectations:1539: Path does not exist. [test/expectations] [5]
ERROR: LayoutTests/platform/gtk/TestExpectations:2812: Path does not exist. [test/expectations] [5]
Total errors found: 8 in 67 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 302045[details]
Archive of layout-test-results from ews125 for ios-simulator-wk2
The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews125 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Comment on attachment 302040[details]
[PATCH] Proposed Fix
View in context: https://bugs.webkit.org/attachment.cgi?id=302040&action=review> Source/WebKit2/NetworkProcess/soup/NetworkDataTaskSoup.h:143
> #if ENABLE(WEB_TIMING)
> - double m_startTime { 0 };
> + WebCore::NetworkLoadMetrics m_networkLoadMetrics;
> + MonotonicTime m_startTime;
> #endif
Hmm, one possible issue with this change on GTK here is that I'm not setting the values on the ResourceResponse which was what it was doing before. That will probably break NavigationTiming. It should probably be setting those values / copying them over before sending didReceiveResponse.
I see the following in the Simulator's Console:
Feb 17 22:50:39 pecoraro com.apple.WebKit.Networking.Development[39610]: NSURLSessionTask finished with error - code: -1007
Feb 17 22:50:39 pecoraro com.apple.WebKit.WebContent.Development[39611]: >>> httpStatusCode() - 301
Feb 17 22:50:39 pecoraro com.apple.WebKit.WebContent.Development[39611]: >>> HTTPHeaderName::Location - ../resources/redirect.py?count=1&max_age=0&redirect_status=301&max_count=20&token=e36b436f-f1f5-447d-a2e1-023f92e87700&location=..%2Fresources%2Fredirect.py&count=17
Feb 17 22:50:39 pecoraro com.apple.WebKit.WebContent.Development[39611]: ASSERTION FAILED: response.httpStatusCode() < 300 || response.httpStatusCode() >= 400 || response.httpStatusCode() == 304 || !response.httpHeaderField(HTTPHeaderName::Location)
It is super interesting that NSURLSessionTask had an error. So I wonder if that is related.
I don't think this failure is related to my changes though. Others have apparently been skipping these tests due to crashes:
$ find-expectations fetch/api/redirect | grep simulator
LayoutTests/platform/ios-simulator-wk1/TestExpectations:1405:imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location.html [ Crash Pass ]
LayoutTests/platform/ios-simulator-wk1/TestExpectations:1874:imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count.html [ Crash Pass ]
But I'll continue to dig.
> Is this happening without my change?
Wow. When I revert my change I'm no longer seeing the asserts. So it clearly must be related to my change. But I don't see how... Hmm
So just having an empty delegate:
> - (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didFinishCollectingMetrics:(NSURLSessionTaskMetrics *)metrics { }
Is enough to cause iOS to hit the ASSERT. This seems like something I may need to work around. Just the existence is changing CFNetwork's behavior somehow. I'll have to work out exactly what changes.
Okay, merely adding this new delegate causes CFNetwork to change how it sends the delegates in this error case.
* If didFinishCollectingMetrics does not exist we only get a didCompleteWithError.
* If didFinishCollectingMetrics does exist, we get a didReceiveResponse, didFinishCollectingMetrics, and didCompleteWithError.
I almost think the 2nd case is expected behavior, but I'm sure. I'll have to discuss this with others. It seems either way we will want to defend against this behavior since that is likely the case in Sierra.
Attachment 302180[details] did not pass style-queue:
ERROR: Source/WebCore/platform/network/cocoa/NetworkLoadMetrics.mm:72: No space between ^ and block definition. [whitespace/brackets] [4]
WARNING: Not running on native Windows.
ERROR: LayoutTests/platform/win/TestExpectations:3787: Path does not exist. [test/expectations] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:104: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:105: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:106: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:108: One space before end of line comments [whitespace/comments] [5]
ERROR: LayoutTests/platform/mac/TestExpectations:1539: Path does not exist. [test/expectations] [5]
ERROR: LayoutTests/platform/gtk/TestExpectations:2828: Path does not exist. [test/expectations] [5]
Total errors found: 8 in 72 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 302199[details]
Archive of layout-test-results from ews106 for mac-elcapitan-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Created attachment 302202[details]
Archive of layout-test-results from ews125 for ios-simulator-wk2
The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews125 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Created attachment 302204[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 on attachment 302199[details]
Archive of layout-test-results from ews106 for mac-elcapitan-wk2
Alex and I talked about this. We're going to include the Timing information in didFinishLoading to cut down on the number of messages.
Attachment 302224[details] did not pass style-queue:
ERROR: LayoutTests/platform/mac/TestExpectations:1539: Path does not exist. [test/expectations] [5]
ERROR: LayoutTests/platform/gtk/TestExpectations:2837: Path does not exist. [test/expectations] [5]
ERROR: Source/WebCore/platform/network/cocoa/NetworkLoadMetrics.mm:72: No space between ^ and block definition. [whitespace/brackets] [4]
WARNING: Not running on native Windows.
ERROR: LayoutTests/platform/win/TestExpectations:3787: Path does not exist. [test/expectations] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:104: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:105: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:106: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:108: One space before end of line comments [whitespace/comments] [5]
Total errors found: 8 in 109 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 302236[details]
[PATCH] For Bots
This should fix the iOS Build, however already my failures are different from the bots so I'll need them to tell me why they are failing (different OS?)
Attachment 302236[details] did not pass style-queue:
ERROR: LayoutTests/platform/mac/TestExpectations:1539: Path does not exist. [test/expectations] [5]
ERROR: LayoutTests/platform/gtk/TestExpectations:2837: Path does not exist. [test/expectations] [5]
ERROR: Source/WebCore/platform/network/cocoa/NetworkLoadMetrics.mm:72: No space between ^ and block definition. [whitespace/brackets] [4]
WARNING: Not running on native Windows.
ERROR: LayoutTests/platform/win/TestExpectations:3787: Path does not exist. [test/expectations] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:104: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:105: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:106: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:108: One space before end of line comments [whitespace/comments] [5]
Total errors found: 8 in 109 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 302236[details]
[PATCH] For Bots
Attachment 302236[details] did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/3164131
New failing tests:
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-worker.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-worker.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-worker.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location.html
Created attachment 302243[details]
Archive of layout-test-results from ews117 for mac-elcapitan
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews117 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Comment on attachment 302236[details]
[PATCH] For Bots
Attachment 302236[details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/3164156
New failing tests:
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-worker.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-worker.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-worker.html
Created attachment 302244[details]
Archive of layout-test-results from ews102 for mac-elcapitan
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews102 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Comment on attachment 302236[details]
[PATCH] For Bots
Attachment 302236[details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/3164178
New failing tests:
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-worker.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-worker.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-worker.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location.html
Created attachment 302245[details]
Archive of layout-test-results from ews106 for mac-elcapitan-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Created attachment 302246[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.11.6
Attachment 302299[details] did not pass style-queue:
ERROR: LayoutTests/platform/mac/TestExpectations:1539: Path does not exist. [test/expectations] [5]
ERROR: LayoutTests/platform/gtk/TestExpectations:2828: Path does not exist. [test/expectations] [5]
ERROR: Source/WebCore/platform/network/cocoa/NetworkLoadMetrics.mm:72: No space between ^ and block definition. [whitespace/brackets] [4]
WARNING: Not running on native Windows.
ERROR: LayoutTests/platform/win/TestExpectations:3787: Path does not exist. [test/expectations] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:104: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:105: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:106: One space before end of line comments [whitespace/comments] [5]
ERROR: Source/WebCore/platform/network/NetworkLoadMetrics.h:108: One space before end of line comments [whitespace/comments] [5]
Total errors found: 8 in 104 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 302299[details]
[PATCH] Proposed Fix
View in context: https://bugs.webkit.org/attachment.cgi?id=302299&action=review> LayoutTests/platform/ios-simulator/TestExpectations:2880
> +imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-worker.html [ Failure ]
What do these failures look like? I think we should add platform expectations to see this and catch further regressions rather than just marking them as failing.
> Source/WebCore/loader/SubresourceLoader.cpp:288
> + // cases of too many redirects from CFNetwork (<rdar://problem/30610988>).
Is there a way we could find out if the didReceiveResponse was after a kCFURLErrorHTTPTooManyRedirects and ignore it to work around this?
> Source/WebCore/platform/network/NetworkLoadMetrics.hSource/WebCore/platform/network/NetworkLoadTiming.h:70
> + requestStart = Seconds(0);
I think it would be nicer if these used initializer lists. m_networkLoadMetrics = { }; would then be used instead of .reset().
> Source/WebCore/platform/network/NetworkLoadMetrics.hSource/WebCore/platform/network/NetworkLoadTiming.h:108
> + Seconds domainLookupStart; // -1 if no DNS.
> + Seconds domainLookupEnd; // -1 if no DNS.
> + Seconds connectStart; // -1 if reused connection.
> + Seconds secureConnectionStart; // -1 if no secure connection.
> + Seconds connectEnd; // -1 if reused connection.
Ideally these would be std::optional<Seconds> instead of the magic value of -1 if there is no value.
Comment on attachment 302299[details]
[PATCH] Proposed Fix
View in context: https://bugs.webkit.org/attachment.cgi?id=302299&action=review>> LayoutTests/platform/ios-simulator/TestExpectations:2880
>> +imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-worker.html [ Failure ]
>
> What do these failures look like? I think we should add platform expectations to see this and catch further regressions rather than just marking them as failing.
A few PASS go to FAIL and expected rejections are not rejections. I spent a very long time trying to get results in the right place (once I add mac expectations then I need to re-add other port expectations, iOS, and mac-elcapitan). I think I should readdress this once CFNetwork looks at the radar. I think we'll need to address this at some point but it is already a weird case caused by too many redirects.
>> Source/WebCore/loader/SubresourceLoader.cpp:288
>> + // cases of too many redirects from CFNetwork (<rdar://problem/30610988>).
>
> Is there a way we could find out if the didReceiveResponse was after a kCFURLErrorHTTPTooManyRedirects and ignore it to work around this?
I looked for a way but did not find a way. This is really the first delegate we get and I didn't see a way to determine there is any at this point (it comes with the later delegate).
Comment on attachment 302299[details]
[PATCH] Proposed Fix
View in context: https://bugs.webkit.org/attachment.cgi?id=302299&action=review> Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp:153
> +#if USE(NETWORK_SESSION)
> + ASSERT(networkLoadMetrics.isComplete());
> +#endif
This ASSERT is what was causing the crashes. It can just be removed. I used this to test the common code path was marking complete as expected. There are other code paths that can reach here that use empty metrics. It is fine to have empty metrics here (we may want to tweak their values later on though).
> Also see failures in release at
> https://build.webkit.org/results/Apple%20Sierra%20Release%20WK1%20(Tests)/
> r212945%20(3950)/results.html
Ahh, yes these are WebKit1. That code path does not have the new code so this will need to be a Failure on WK1. Both fixes are simple so I'm going to Ireland this with the tiny changes.
Thanks for the swift action to keep the bots green Chris!
2017-02-16 22:22 PST, Joseph Pecoraro
2017-02-16 22:46 PST, Joseph Pecoraro
2017-02-16 23:31 PST, Build Bot
2017-02-16 23:33 PST, Build Bot
2017-02-16 23:43 PST, Build Bot
2017-02-16 23:59 PST, Build Bot
2017-02-17 00:07 PST, Build Bot
2017-02-17 02:26 PST, Build Bot
2017-02-17 14:03 PST, Joseph Pecoraro
2017-02-17 14:59 PST, Build Bot
2017-02-17 15:11 PST, Build Bot
2017-02-17 15:12 PST, Build Bot
2017-02-17 19:21 PST, Joseph Pecoraro
2017-02-17 19:39 PST, Joseph Pecoraro
2017-02-17 21:04 PST, Build Bot
2017-02-20 15:22 PST, Joseph Pecoraro
2017-02-20 16:28 PST, Build Bot
2017-02-20 16:47 PST, Build Bot
2017-02-20 16:49 PST, Build Bot
2017-02-20 22:15 PST, Joseph Pecoraro
2017-02-20 23:29 PST, Joseph Pecoraro
2017-02-21 00:39 PST, Build Bot
2017-02-21 00:42 PST, Build Bot
2017-02-21 00:47 PST, Build Bot
2017-02-21 00:56 PST, Build Bot
2017-02-21 13:31 PST, Joseph Pecoraro