Bug 107970 - New NetworkProcess can ASSERT after old NetworkProcess crashes
Summary: New NetworkProcess can ASSERT after old NetworkProcess crashes
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Brady Eidson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-25 11:42 PST by Brady Eidson
Modified: 2013-01-25 11:47 PST (History)
0 users

See Also:


Attachments
Patch v1 (1.46 KB, patch)
2013-01-25 11:43 PST, Brady Eidson
ap: 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 2013-01-25 11:42:14 PST
New NetworkProcess can ASSERT after old NetworkProcess crashes

Steps:
1 - Go to a site with HTTP auth, so Safari drops down the auth sheet
2 - `killall -9 NetworkProcess` in a terminal
3 - The WebProcess responds to the news that the NetworkProcess crashed by failing all of its outstanding ResourceLoaders
4 - In that process, it tells the new NetworkProcess to remove a load identifier for a failed loader
5 - The new NetworkProcess has no record of that new load identifier so it ASSERTs in:

void NetworkResourceLoadScheduler::removeLoader(SchedulableLoader* loader)
{
    ASSERT(loader);
    ...
}
Comment 1 Brady Eidson 2013-01-25 11:43:53 PST
Created attachment 184783 [details]
Patch v1
Comment 2 Brady Eidson 2013-01-25 11:47:02 PST
http://trac.webkit.org/changeset/140852