RESOLVED FIXED 168963
NetworkProcess aborts in WebKit::NetworkLoad::didCompleteWithError at Source/WebKit2/NetworkProcess/NetworkLoad.cpp:423
https://bugs.webkit.org/show_bug.cgi?id=168963
Summary NetworkProcess aborts in WebKit::NetworkLoad::didCompleteWithError at Source/...
Andres Gomez Garcia
Reported 2017-02-28 01:56:28 PST
Created attachment 302925 [details] BT from gdb for the NetworkProcess I'm using WebKitGtk+ with my own JHBuild setting: https://github.com/tanty/jhbuild-epiphany/tree/master Epiphany 3.22.5 and WebKit 2.15.90. However, the rest of the dependencies are all provided from Debian Testing. The compilation was done with CMake args: '-DPORT=GTK -DCMAKE_BUILD_TYPE=Release -DENABLE_MINIBROWSER=ON -DCMAKE_C_FLAGS_RELEASE="-O0 -g -DNDEBUG -DG_DISABLE_CAST_CHECKS" -DCMAKE_CXX_FLAGS_RELEASE="-O0 -g -DNDEBUG -DG_DISABLE_CAST_CHECKS"' After visiting several pages, eventually, the NetworkProcess aborts. This bug is not reproducible in a predictable way.
Attachments
BT from gdb for the NetworkProcess (102.47 KB, text/plain)
2017-02-28 01:56 PST, Andres Gomez Garcia
no flags
Patch (2.37 KB, patch)
2017-02-28 02:56 PST, Carlos Garcia Campos
koivisto: review-
Updated patch (2.44 KB, patch)
2017-02-28 23:27 PST, Carlos Garcia Campos
koivisto: review+
Andres Gomez Garcia
Comment 1 2017-02-28 01:57:03 PST
(In reply to comment #0) > Epiphany 3.22.5 Epiphany 3.22.6
Carlos Garcia Campos
Comment 2 2017-02-28 02:55:13 PST
I don't think this is specific to GTK+
Carlos Garcia Campos
Comment 3 2017-02-28 02:56:47 PST
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.
Andres Gomez Garcia
Comment 4 2017-02-28 04:13:24 PST
This is *very* easy to reproduce ... :(
Carlos Garcia Campos
Comment 5 2017-02-28 08:16:50 PST
(In reply to comment #4) > This is *very* easy to reproduce ... :( Could you try the patch then? It has never happened to me.
Chris Dumez
Comment 6 2017-02-28 11:02:12 PST
Antti, can you please take a look, you added this code recently.
Antti Koivisto
Comment 7 2017-02-28 23:16:43 PST
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.
Carlos Garcia Campos
Comment 8 2017-02-28 23:27:17 PST
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.
Carlos Garcia Campos
Comment 9 2017-02-28 23:36:17 PST
Note You need to log in before you can comment on or make changes to this bug.