Bug 100792 - Crash in WebProcess at com.apple.WebCore: WebCore::ResourceLoader::start
Summary: Crash in WebProcess at com.apple.WebCore: WebCore::ResourceLoader::start
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac All
: P2 Normal
Assignee: Brady Eidson
Keywords: InRadar
Depends on:
Reported: 2012-10-30 15:08 PDT by Brady Eidson
Modified: 2012-10-30 15:45 PDT (History)
0 users

See Also:

Patch v1 (2.11 KB, patch)
2012-10-30 15:18 PDT, Brady Eidson
timothy: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Brady Eidson 2012-10-30 15:08:44 PDT
Crash in WebProcess at com.apple.WebCore: WebCore::ResourceLoader::start

This is due to a null deref in WebResourceLoadScheduler::startResourceLoad.

This is probably because the RemoveLoadIdentifier messages from Web -> NetworkProcess is asynchronous.

The WebProcess is tearing down the page (or parts of it) and therefore cleaning up the ResourceLoaders.  It dispatches the message to the NetworkProcess then immediately removes the loader from it's local pending set.  Before the NetworkProcess can handle that message, it is in the middle of starting resource loads so it dispatches back to the WebProcess to start the load...  but it's already remvoed the record of that Loader.

For now, we should make the ASSERT(resourceLoader) be a null check with early return to mitigate this crash.
Comment 1 Brady Eidson 2012-10-30 15:18:53 PDT
Created attachment 171527 [details]
Patch v1
Comment 2 Brady Eidson 2012-10-30 15:45:28 PDT
Was also in radar as <rdar://problem/12596761>
Comment 3 Brady Eidson 2012-10-30 15:45:55 PDT
Fixed in http://trac.webkit.org/changeset/132950