WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
156172
Re-enable event dispatch assertions during render tree construction
https://bugs.webkit.org/show_bug.cgi?id=156172
Summary
Re-enable event dispatch assertions during render tree construction
Antti Koivisto
Reported
2016-04-04 10:36:34 PDT
Had to disable assertion against event dispatch in RenderTreeUpdater::updateRenderTree() because these
https://build.webkit.org/results/Apple%20iOS%209%20Simulator%20Debug%20WK2%20(Tests)/r199003%20(747)/results.html
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 JavaScriptCore 0x000000010afb3067 WTFCrash + 39 (Assertions.cpp:322) 1 JavaScriptCore 0x000000010afb3089 WTFCrashWithSecurityImplication + 9 2 com.apple.WebCore 0x000000010d4812d9 WebCore::EventDispatcher::dispatchEvent(WebCore::Node*, WebCore::Event&) + 73 (EventDispatcher.cpp:153) 3 com.apple.WebCore 0x000000010e49e10d WebCore::Node::dispatchEvent(WebCore::Event&) + 29 (Node.cpp:2138) 4 com.apple.WebCore 0x000000010d28833d WebCore::Document::setReadyState(WebCore::Document::ReadyState) + 349 (Document.cpp:1229) 5 com.apple.WebCore 0x000000010d64a385 WebCore::FrameLoader::checkCompleted() + 261 (FrameLoader.cpp:797) 6 com.apple.WebCore 0x000000010d64a455 WebCore::FrameLoader::loadDone() + 21 (FrameLoader.cpp:742) 7 com.apple.WebCore 0x000000010ce7b5a9 WebCore::CachedResourceLoader::loadDone(WebCore::CachedResource*, bool) + 121 (CachedResourceLoader.cpp:991) 8 com.apple.WebCore 0x000000010ec57f53 WebCore::SubresourceLoader::notifyDone() + 307 (SubresourceLoader.cpp:511) 9 com.apple.WebCore 0x000000010ec58416 WebCore::SubresourceLoader::didCancel(WebCore::ResourceError const&) + 70 (SubresourceLoader.cpp:498) 10 com.apple.WebCore 0x000000010e96816a WebCore::ResourceLoader::cancel(WebCore::ResourceError const&) + 442 (ResourceLoader.cpp:589) 11 com.apple.WebCore 0x000000010e96655d WebCore::ResourceLoader::cancel() + 45 (ResourceLoader.cpp:543) 12 com.apple.WebCore 0x000000010ec56972 WebCore::SubresourceLoader::willSendRequestInternal(WebCore::ResourceRequest&, WebCore::ResourceResponse const&) + 1234 (SubresourceLoader.cpp:213) 13 com.apple.WebCore 0x000000010e966416 WebCore::ResourceLoader::init(WebCore::ResourceRequest const&) + 982 (ResourceLoader.cpp:155) 14 com.apple.WebCore 0x000000010ec56227 WebCore::SubresourceLoader::init(WebCore::ResourceRequest const&) + 39 (SubresourceLoader.cpp:144) 15 com.apple.WebCore 0x000000010ec561af WebCore::SubresourceLoader::create(WebCore::Frame*, WebCore::CachedResource*, WebCore::ResourceRequest const&, WebCore::ResourceLoaderOptions const&) + 223 (SubresourceLoader.cpp:112) 16 com.apple.WebKit 0x00000001044f45be WebKit::WebLoaderStrategy::loadResource(WebCore::Frame*, WebCore::CachedResource*, WebCore::ResourceRequest const&, WebCore::ResourceLoaderOptions const&) + 78 (WebLoaderStrategy.cpp:77) 17 com.apple.WebCore 0x000000010ce68300 WebCore::CachedResource::load(WebCore::CachedResourceLoader&, WebCore::ResourceLoaderOptions const&) + 1808 (CachedResource.cpp:281) 18 com.apple.WebCore 0x000000010ce5af4c WebCore::CachedImage::load(WebCore::CachedResourceLoader&, WebCore::ResourceLoaderOptions const&) + 92 (CachedImage.cpp:113) 19 com.apple.WebCore 0x000000010ce789c7 WebCore::CachedResourceLoader::requestResource(WebCore::CachedResource::Type, WebCore::CachedResourceRequest&) + 3239 (CachedResourceLoader.cpp:625) 20 com.apple.WebCore 0x000000010ce777d9 WebCore::CachedResourceLoader::requestImage(WebCore::CachedResourceRequest&) + 393 (CachedResourceLoader.cpp:190) 21 com.apple.WebCore 0x000000010d0b82c3 WebCore::CSSImageValue::cachedImage(WebCore::CachedResourceLoader&, WebCore::ResourceLoaderOptions const&) + 371 (CSSImageValue.cpp:88) 22 com.apple.WebCore 0x000000010ec156da WebCore::StyleResolver::loadPendingImage(WebCore::StylePendingImage const&, WebCore::ResourceLoaderOptions const&) + 122 (StyleResolver.cpp:2061) 23 com.apple.WebCore 0x000000010ec1590e WebCore::StyleResolver::loadPendingImage(WebCore::StylePendingImage const&) + 190 (StyleResolver.cpp:2083) 24 com.apple.WebCore 0x000000010ec15ece WebCore::StyleResolver::loadPendingImages() + 1134 (StyleResolver.cpp:2133) 25 com.apple.WebCore 0x000000010ec0fdf7 WebCore::StyleResolver::loadPendingResources() + 183 (StyleResolver.cpp:2224) 26 com.apple.WebCore 0x000000010ec0e119 WebCore::StyleResolver::applyMatchedProperties(WebCore::StyleResolver::MatchResult const&, WebCore::Element const&, WebCore::StyleResolver::ShouldUseMatchedPropertiesCache) + 1625 (StyleResolver.cpp:1362) 27 com.apple.WebCore 0x000000010ec108c8 WebCore::StyleResolver::pseudoStyleForElement(WebCore::Element&, WebCore::PseudoStyleRequest const&, WebCore::RenderStyle&) + 888 (StyleResolver.cpp:594) 28 com.apple.WebCore 0x000000010e6b3fb9 WebCore::RenderElement::getUncachedPseudoStyle(WebCore::PseudoStyleRequest const&, WebCore::RenderStyle*, WebCore::RenderStyle*) const + 489 (RenderElement.cpp:1586) 29 com.apple.WebCore 0x000000010e6b3d39 WebCore::RenderElement::getCachedPseudoStyle(WebCore::PseudoId, WebCore::RenderStyle*) const + 185 (RenderElement.cpp:1558) 30 com.apple.WebCore 0x000000010dfd1ceb WebCore::needsPseudoElement(WebCore::Element&, WebCore::PseudoId) + 139 (RenderTreeUpdater.cpp:439) 31 com.apple.WebCore 0x000000010dfd0c47 WebCore::RenderTreeUpdater::updateBeforeOrAfterPseudoElement(WebCore::Element&, WebCore::PseudoId) + 199 (RenderTreeUpdater.cpp:452) 32 com.apple.WebCore 0x000000010dfd0b5d WebCore::RenderTreeUpdater::pushParent(WebCore::Element&, WebCore::Style::Change) + 125 (RenderTreeUpdater.cpp:169) 33 com.apple.WebCore 0x000000010dfd0367 WebCore::RenderTreeUpdater::updateRenderTree(WebCore::ContainerNode&) + 1079 (RenderTreeUpdater.cpp:145) 34 com.apple.WebCore 0x000000010dfcfdea WebCore::RenderTreeUpdater::commit(std::__1::unique_ptr<WebCore::Style::Update const, std::__1::default_delete<WebCore::Style::Update const> >) + 794 (RenderTreeUpdater.cpp:87) 35 com.apple.WebCore 0x000000010d28c58d WebCore::Document::recalcStyle(WebCore::Style::Change) + 1565 (Document.cpp:1943) 36 com.apple.WebCore 0x000000010d281561 WebCore::Document::updateStyleIfNeeded() + 305 (Document.cpp:1990) 37 com.apple.WebCore 0x000000010d29bf45 WebCore::Document::finishedParsing() + 453 (Document.cpp:5089) 38 com.apple.WebCore 0x000000010d796288 WebCore::HTMLConstructionSite::finishedParsing() + 24 (HTMLConstructionSite.cpp:413) 39 com.apple.WebCore 0x000000010d8f0cb3 WebCore::HTMLTreeBuilder::finished() + 195 (HTMLTreeBuilder.cpp:2971) 40 com.apple.WebCore 0x000000010d7c64a4 WebCore::HTMLDocumentParser::end() + 196 (HTMLDocumentParser.cpp:406) 41 com.apple.WebCore 0x000000010d7c4414 WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd() + 260 (HTMLDocumentParser.cpp:415) 42 com.apple.WebCore 0x000000010d7c41b2 WebCore::HTMLDocumentParser::prepareToStopParsing() + 274 (HTMLDocumentParser.cpp:135) 43 com.apple.WebCore 0x000000010d7c64ef WebCore::HTMLDocumentParser::attemptToEnd() + 63 (HTMLDocumentParser.cpp:427) 44 com.apple.WebCore 0x000000010d7c6548 WebCore::HTMLDocumentParser::finish() + 72 (HTMLDocumentParser.cpp:455) 45 com.apple.WebCore 0x000000010d34a312 WebCore::DocumentWriter::end() + 338 (DocumentWriter.cpp:257) 46 com.apple.WebCore 0x000000010d3038be WebCore::DocumentLoader::finishedLoading(double) + 398 (DocumentLoader.cpp:437) 47 com.apple.WebCore 0x000000010d3036a5 WebCore::DocumentLoader::notifyFinished(WebCore::CachedResource*) + 389 (DocumentLoader.cpp:384) 48 com.apple.WebCore 0x000000010ce684d2 WebCore::CachedResource::checkNotify() + 130 (CachedResource.cpp:296) 49 com.apple.WebCore 0x000000010ce685e1 WebCore::CachedResource::finishLoading(WebCore::SharedBuffer*) + 49 (CachedResource.cpp:314) 50 com.apple.WebCore 0x000000010ce639ea WebCore::CachedRawResource::finishLoading(WebCore::SharedBuffer*) + 218 (CachedRawResource.cpp:104) 51 com.apple.WebCore 0x000000010ec57ad4 WebCore::SubresourceLoader::didFinishLoading(double) + 532 (SubresourceLoader.cpp:430) 52 com.apple.WebKit 0x00000001044ee093 WebKit::WebResourceLoader::didFinishResourceLoad(double) + 243 (WebResourceLoader.cpp:160) 53 com.apple.WebKit 0x00000001044f3a63 void IPC::callMemberFunctionImpl<WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(double), std::__1::tuple<double>, 0ul>(WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(double), std::__1::tuple<double>&&, std::index_sequence<0ul>) + 163 (HandleMessage.h:17) 54 com.apple.WebKit 0x00000001044f39b8 void IPC::callMemberFunction<WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(double), std::__1::tuple<double>, std::make_index_sequence<1ul> >(std::__1::tuple<double>&&, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(double)) + 88 (HandleMessage.h:23) 55 com.apple.WebKit 0x00000001044f2ad2 void IPC::handleMessage<Messages::WebResourceLoader::DidFinishResourceLoad, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(double)>(IPC::MessageDecoder&, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(double)) + 226 (HandleMessage.h:93) 56 com.apple.WebKit 0x00000001044f224c WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&, IPC::MessageDecoder&) + 636 (WebResourceLoaderMessageReceiver.cpp:66) 57 com.apple.WebKit 0x0000000103fe0a80 WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&) + 160 (NetworkProcessConnection.cpp:60) 58 com.apple.WebKit 0x0000000103dd4de3 IPC::Connection::dispatchMessage(IPC::MessageDecoder&) + 51 (Connection.cpp:896) 59 com.apple.WebKit 0x0000000103dcc0c1 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::MessageDecoder, std::__1::default_delete<IPC::MessageDecoder> >) + 785 (Connection.cpp:928) 60 com.apple.WebKit 0x0000000103dd53df IPC::Connection::dispatchOneMessage() + 1519 (Connection.cpp:957) 61 com.apple.WebKit 0x0000000103de4cad IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::MessageDecoder, std::__1::default_delete<IPC::MessageDecoder> >)::$_10::operator()() const + 29 (Connection.cpp:890) 62 com.apple.WebKit 0x0000000103de4c7d void std::__1::__invoke_void_return_wrapper<void>::__call<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::MessageDecoder, std::__1::default_delete<IPC::MessageDecoder> >)::$_10&>(IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::MessageDecoder, std::__1::default_delete<IPC::MessageDecoder> >)::$_10&&&) + 45 (__functional_base:441) 63 com.apple.WebKit 0x0000000103de4acc std::__1::__function::__func<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::MessageDecoder, std::__1::default_delete<IPC::MessageDecoder> >)::$_10, std::__1::allocator<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::MessageDecoder, std::__1::default_delete<IPC::MessageDecoder> >)::$_10>, void ()>::operator()() + 44 (functional:1407) 64 JavaScriptCore 0x000000010a9d634a std::__1::function<void ()>::operator()() const + 26 (functional:1793) 65 JavaScriptCore 0x000000010b001872 WTF::RunLoop::performWork() + 306 (RunLoop.cpp:106) 66 JavaScriptCore 0x000000010b002094 WTF::RunLoop::performWork(void*) + 36 (RunLoopCF.cpp:38) 67 com.apple.CoreFoundation 0x00000001068ac0a1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 68 com.apple.CoreFoundation 0x00000001068a1fcc __CFRunLoopDoSources0 + 556 69 com.apple.CoreFoundation 0x00000001068a1483 __CFRunLoopRun + 867 70 com.apple.CoreFoundation 0x00000001068a0e98 CFRunLoopRunSpecific + 488 71 com.apple.Foundation 0x0000000103913891 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 267 72 com.apple.Foundation 0x00000001039a6221 -[NSRunLoop(NSRunLoop) run] + 74 73 libxpc.dylib 0x0000000107d84534 _xpc_objc_main + 400 74 libxpc.dylib 0x0000000107d868ee xpc_main + 189 75 com.apple.WebKit.WebContent.Development 0x00000001038420df main + 895 (XPCServiceMain.mm:114) 76 libdyld.dylib 0x0000000107ac292d start + 1
Attachments
Add attachment
proposed patch, testcase, etc.
Antti Koivisto
Comment 1
2016-04-04 10:41:02 PDT
Disabled the assertion again in
https://trac.webkit.org/r199008
Antti Koivisto
Comment 2
2020-03-04 03:53:52 PST
This requires getting rid of the synchronous cancellation of resource loads.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug