Summary: | NetworkProcess aborts in WebKit::NetworkLoad::didCompleteWithError at Source/WebKit2/NetworkProcess/NetworkLoad.cpp:423 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Andres Gomez Garcia <agomez> | ||||||||
Component: | WebKit2 | Assignee: | Nobody <webkit-unassigned> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | bugs-noreply, cdumez, cgarcia, kling, koivisto | ||||||||
Priority: | P2 | ||||||||||
Version: | WebKit Local Build | ||||||||||
Hardware: | Unspecified | ||||||||||
OS: | Unspecified | ||||||||||
Attachments: |
|
Description
Andres Gomez Garcia
2017-02-28 01:56:28 PST
(In reply to comment #0) > Epiphany 3.22.5 Epiphany 3.22.6 I don't think this is specific to GTK+ Created attachment 302929 [details]
Patch
I haven't been able to reproduce the crash, but looking at the bt, I think this patch should fix it.
This is *very* easy to reproduce ... :( (In reply to comment #4) > This is *very* easy to reproduce ... :( Could you try the patch then? It has never happened to me. Antti, can you please take a look, you added this code recently. Comment on attachment 302929 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=302929&action=review > Source/WebKit2/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:86 > - didComplete(); > - > - // This causes call to didFailLoading(). > - if (load) > + if (load) { > + // This causes call to didFailLoading() that calls didComplete(). > load->continueWillSendRequest({ }); > + } else > + didComplete(); This would break the functionality since didFailLoading will null out the m_response before didComplete. I think the right fix is just to remove the continueWillSendRequest and let the load be deleted. Created attachment 303045 [details]
Updated patch
New patch after talking to Antti on IRC. Previous patch was not correct, because I didn't take into account that didFailLoading deletes the cache entry.
Committed r213206: <http://trac.webkit.org/changeset/213206> |