RESOLVED FIXED 160193
ASSERTION FAILED: !m_frame->page()->defersLoading() || InspectorInstrumentation::isDebuggerPaused(m_frame)
https://bugs.webkit.org/show_bug.cgi?id=160193
Summary ASSERTION FAILED: !m_frame->page()->defersLoading() || InspectorInstrumentati...
Carlos Garcia Campos
Reported 2016-07-26 05:05:36 PDT
This is happening in the GTK+ Debug bot when running test loader/load-defer.html (note that the assert is inside an !USE(CF) block). The test is creating an iframe with load deferred, then in a timeout it disables the deferred load and checks that the load actually happens. What happens is that the initial empty document is what calls DocumentLoader::finishedLoading() when load is still deferred. The onload handler is not called because load events are disabled for the initial empty document in SubframeLoader::loadSubframe(), but DocumentLoader::finishedLoading() is called unconditionally from maybeLoadEmpty(). I think it's fine to call DocumentLoader::finishedLoading() for the initial empty document even when load is deferred, so we can simply update the assert to handle that case.
Attachments
Patch (2.36 KB, patch)
2016-07-26 05:09 PDT, Carlos Garcia Campos
mcatanzaro: review+
Carlos Garcia Campos
Comment 1 2016-07-26 05:05:50 PDT
STDERR: ASSERTION FAILED: !m_frame->page()->defersLoading() || InspectorInstrumentation::isDebuggerPaused(m_frame) STDERR: ../../Source/WebCore/loader/DocumentLoader.cpp(401) : void WebCore::DocumentLoader::finishedLoading(double) STDERR: 1 0x7f73c3136c2f /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x1e) [0x7f73c3136c2f] STDERR: 2 0x7f73ca8dd34d /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::DocumentLoader::finishedLoading(double)+0x79) [0x7f73ca8dd34d] STDERR: 3 0x7f73ca8e25d4 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::DocumentLoader::maybeLoadEmpty()+0x35a) [0x7f73ca8e25d4] STDERR: 4 0x7f73ca8e27aa /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::DocumentLoader::startLoadingMainResource()+0x100) [0x7f73ca8e27aa] STDERR: 5 0x7f73ca8ffed7 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::FrameLoader::init()+0x12d) [0x7f73ca8ffed7] STDERR: 6 0x7f73c9a56466 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::Frame::init()+0x1e) [0x7f73c9a56466] STDERR: 7 0x7f73c9a5348b /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebKit::WebFrame::createSubframe(WebKit::WebPage*, WTF::String const&, WebCore::HTMLFrameOwnerElement*)+0x1f7) [0x7f73c9a5348b] STDERR: 8 0x7f73c9a251e7 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebKit::WebFrameLoaderClient::createFrame(WebCore::URL const&, WTF::String const&, WebCore::HTMLFrameOwnerElement*, WTF::String const&, bool, int, int)+0x53) [0x7f73c9a251e7] STDERR: 9 0x7f73ca94aa20 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::SubframeLoader::loadSubframe(WebCore::HTMLFrameOwnerElement&, WebCore::URL const&, WTF::String const&, WTF::String const&)+0x1cc) [0x7f73ca94aa20] STDERR: 10 0x7f73ca94a77a /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::SubframeLoader::loadOrRedirectSubframe(WebCore::HTMLFrameOwnerElement&, WebCore::URL const&, WTF::AtomicString const&, WebCore::LockHistory, WebCore::LockBackForwardList)+0x18a) [0x7f73ca94a77a] STDERR: 11 0x7f73ca949312 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::SubframeLoader::requestFrame(WebCore::HTMLFrameOwnerElement&, WTF::String const&, WTF::AtomicString const&, WebCore::LockHistory, WebCore::LockBackForwardList)+0x194) [0x7f73ca949312] STDERR: 12 0x7f73ca66cd4d /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::HTMLFrameElementBase::openURL(WebCore::LockHistory, WebCore::LockBackForwardList)+0xf9) [0x7f73ca66cd4d] STDERR: 13 0x7f73ca66d106 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::HTMLFrameElementBase::setNameAndOpenURL()+0x7a) [0x7f73ca66d106] STDERR: 14 0x7f73ca66d1d3 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::HTMLFrameElementBase::finishedInsertingSubtree()+0x89) [0x7f73ca66d1d3] STDERR: 15 0x7f73ca3a2224 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::ContainerNode::notifyChildInserted(WebCore::Node&, WebCore::ContainerNode::ChildChangeSource)+0x17a) [0x7f73ca3a2224] STDERR: 16 0x7f73ca3a45c5 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::ContainerNode::updateTreeAfterInsertion(WebCore::Node&)+0x61) [0x7f73ca3a45c5] STDERR: 17 0x7f73ca3a375a /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::ContainerNode::appendChild(WebCore::Node&, int&)+0x29c) [0x7f73ca3a375a] STDERR: 18 0x7f73ca48d38e /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::Node::appendChild(WebCore::Node&, int&)+0x5a) [0x7f73ca48d38e] STDERR: 19 0x7f73ca0f1098 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::JSNode::appendChild(JSC::ExecState&)+0xa8) [0x7f73ca0f1098] STDERR: 20 0x7f73cb6ce227 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::jsNodePrototypeFunctionAppendChild(JSC::ExecState*)+0x141) [0x7f73cb6ce227] STDERR: 21 0x7f73721fe028 [0x7f73721fe028]
Carlos Garcia Campos
Comment 2 2016-07-26 05:09:04 PDT
Carlos Garcia Campos
Comment 3 2016-07-26 09:30:27 PDT
Note You need to log in before you can comment on or make changes to this bug.