Bug 125515
Summary: | [WK2] [SOUP] Asserts in DocumentLoader::dataReceived() if the network process is enabled | ||
---|---|---|---|
Product: | WebKit | Reporter: | Alberto Garcia <berto> |
Component: | WebKit2 | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | cgarcia |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | |||
Bug Blocks: | 108832 |
Alberto Garcia
Here's the backtrace:
ASSERTION FAILED: !m_response.isNull()
../../Source/WebCore/loader/DocumentLoader.cpp(819) : virtual void WebCore::DocumentLoader::dataReceived(WebCore::CachedResource*, const char*, int)
1 0x7fef70de3014 /home/berto/devel/WebKit/build/.libs/libjavascriptcoregtk-3.0.so.0(WTFCrash+0x1e) [0x7fef70de3014]
2 0x7fef6be911af /home/berto/devel/WebKit/build/.libs/libwebkit2gtk-3.0.so.25(_ZN7WebCore14DocumentLoader12dataReceivedEPNS_14CachedResourceEPKci+0xe9) [0x7fef6be911af]
3 0x7fef6be6ff87 /home/berto/devel/WebKit/build/.libs/libwebkit2gtk-3.0.so.25(_ZN7WebCore17CachedRawResource28notifyClientsDataWasReceivedEPKcj+0x79) [0x7fef6be6ff87]
4 0x7fef6be6fd1c /home/berto/devel/WebKit/build/.libs/libwebkit2gtk-3.0.so.25(_ZN7WebCore17CachedRawResource13addDataBufferEPNS_14ResourceBufferE+0xce) [0x7fef6be6fd1c]
5 0x7fef6bef4c79 /home/berto/devel/WebKit/build/.libs/libwebkit2gtk-3.0.so.25(_ZN7WebCore17SubresourceLoader22didReceiveDataOrBufferEPKciN3WTF10PassRefPtrINS_12SharedBufferEEExNS_15DataPayloadTypeE+0x1f1) [0x7fef6bef4c79]
6 0x7fef6bef4a17 /home/berto/devel/WebKit/build/.libs/libwebkit2gtk-3.0.so.25(_ZN7WebCore17SubresourceLoader14didReceiveDataEPKcixNS_15DataPayloadTypeE+0x51) [0x7fef6bef4a17]
7 0x7fef6b5a9ba6 /home/berto/devel/WebKit/build/.libs/libwebkit2gtk-3.0.so.25(_ZN6WebKit17WebResourceLoader14didReceiveDataERKN7CoreIPC13DataReferenceEl+0xea) [0x7fef6b5a9ba6]
[...]
The problem is that DocumentLoader::responseReceived() is never
reached.
We do handle->client()->didReceiveResponse() in ResourceHandleSoup,
but that's a no-op since NetworkResourceLoader does not implement that
method.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Alberto Garcia
Actually NetworkResourceLoader used to implement that but it was
renamed to didReceiveResponseAsync() in r147952.
Either way, we also assert in ResourceHandle::continueDidReceiveResponse()
via AsynchronousNetworkLoaderClient::didReceiveResponse().
Carlos Garcia Campos
Patch in bug https://bugs.webkit.org/show_bug.cgi?id=126006 probably fixes these asserts too.
Alberto Garcia
Fixed after bug 126006