WebProcess crashes handling repeated NetworkProcess crashes
1 - The NetworkProcess crashed once while lots of loads were in progress.
2 - The WebProcess saw this, and started failing out all of the resource loaders, which involved messaging back to the new NetworkProcess in a tight loop.
3 - The new NetworkProcess crashed (ASSERTed) trying to remove a loader that didn't exist. This was fixed in http://trac.webkit.org/changeset/140852 but some other symptom could arise causing similar behavior.
4 - The WebProcess was still trying to fail out these resource loaders in a tight loop, and in the middle of this loop the connection once again became invalid from the crash in step 3.
5 - WebProcess crashed as a result.
In radar as <rdar://problem/13049867>
Created attachment 186464 [details]
Comment on attachment 186464 [details]
View in context: https://bugs.webkit.org/attachment.cgi?id=186464&action=review
> + ASSERT(m_interallyFailedResourceLoaders.isEmpty());
> + HashSet<RefPtr<WebCore::ResourceLoader> > m_interallyFailedResourceLoaders;
> + WebCore::RunLoop::Timer<WebResourceLoadScheduler> m_interallyFailedLoadTimer;
Typos: should be "internally".
(In reply to comment #2)
> (From update of attachment 186464 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=186464&action=review
> > Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.cpp:135
> > + ASSERT(m_interallyFailedResourceLoaders.isEmpty());
That's a very good point. I'll remove the ASSERT.