http/tests/security/http-0.9/xhr-blocked.html is flaky and causes EWS issues as in Bug 182848. Crash looks like: Thread 0:: Dispatch queue: com.apple.main-thread 0 com.apple.CoreFoundation 0x00007fffc5dc1e5a CFEqual + 74 1 com.apple.WebCore 0x0000000112793a69 WebCore::FontPlatformData::platformIsEqual(WebCore::FontPlatformData const&) const + 25 (FontPlatformDataCocoa.mm:68) 2 com.apple.WebCore 0x00000001134c5420 WTF::HashTableAddResult<WTF::HashTableIterator<WebCore::FontPlatformData, WTF::KeyValuePair<WebCore::FontPlatformData, WTF::RefPtr<WebCore::Font, WTF::DumbPtrTraits<WebCore::Font> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::FontPlatformData, WTF::RefPtr<WebCore::Font, WTF::DumbPtrTraits<WebCore::Font> > > >, WebCore::FontDataCacheKeyHash, WTF::HashMap<WebCore::FontPlatformData, WTF::RefPtr<WebCore::Font, WTF::DumbPtrTraits<WebCore::Font> >, WebCore::FontDataCacheKeyHash, WebCore::FontDataCacheKeyTraits, WTF::HashTraits<WTF::RefPtr<WebCore::Font, WTF::DumbPtrTraits<WebCore::Font> > > >::KeyValuePairTraits, WebCore::FontDataCacheKeyTraits> > WTF::HashMap<WebCore::FontPlatformData, WTF::RefPtr<WebCore::Font, WTF::DumbPtrTraits<WebCore::Font> >, WebCore::FontDataCacheKeyHash, WebCore::FontDataCacheKeyTraits, WTF::HashTraits<WTF::RefPtr<WebCore::Font, WTF::DumbPtrTraits<WebCore::Font> > > >::add<std::nullptr_t>(WebCore::FontPlatformData const&, std::nullptr_t&&) + 464 (FontPlatformData.h:174) 3 com.apple.WebCore 0x00000001134c51c6 WebCore::FontCache::fontForPlatformData(WebCore::FontPlatformData const&) + 102 (FontCache.cpp:342) 4 com.apple.WebCore 0x00000001134c5139 WebCore::FontCache::fontForFamily(WebCore::FontDescription const&, WTF::AtomicString const&, WebCore::FontTaggedSettings<int> const*, WebCore::FontVariantSettings const*, WebCore::FontSelectionSpecifiedCapabilities, bool) + 217 (utility:753) 5 com.apple.WebCore 0x0000000112ebef4e WebCore::CSSFontSelector::fontRangesForFamily(WebCore::FontDescription const&, WTF::AtomicString const&) + 270 (CSSFontSelector.cpp:310) 6 com.apple.WebCore 0x00000001134cd592 WebCore::realizeNextFallback(WebCore::FontCascadeDescription const&, unsigned int&, WebCore::FontSelector*) + 274 (FontCascadeFonts.cpp:150) 7 com.apple.WebCore 0x00000001134cd204 WebCore::FontCascadeFonts::realizeFallbackRangesAt(WebCore::FontCascadeDescription const&, unsigned int) + 324 (Vector.h:815) 8 com.apple.WebCore 0x00000001125102a9 WebCore::FontCascadeFonts::primaryFont(WebCore::FontCascadeDescription const&) + 57 (FontCascadeFonts.h:128) 9 com.apple.WebCore 0x0000000112f295d4 WebCore::StyleResolver::StyleResolver(WebCore::Document&) + 1828 (StyleResolver.cpp:227) 10 com.apple.WebCore 0x000000011383c2e3 WebCore::Style::Scope::resolver() + 99 (memory:2733) 11 com.apple.WebCore 0x00000001138425c8 WebCore::Style::TreeResolver::resolve() + 280 (StyleTreeResolver.cpp:66) 12 com.apple.WebCore 0x0000000112fccdab WebCore::Document::resolveStyle(WebCore::Document::ResolveStyleType) + 747 (memory:2722) 13 com.apple.WebCore 0x0000000112fcd7f6 WebCore::Document::updateStyleIfNeeded() + 278 (Document.cpp:1971) 14 com.apple.WebCore 0x000000011338b415 WebCore::DOMWindow::alert(WTF::String const&) + 101 (memory:2713) 15 com.apple.WebCore 0x00000001127366d6 WebCore::jsDOMWindowInstanceFunctionAlert(JSC::ExecState*) + 342 (JSDOMWindow.cpp:28441) 16 ??? 0x0000282489001185 0 + 44137382416773 17 com.apple.JavaScriptCore 0x000000010f2b043d llint_entry + 29227 (LowLevelInterpreter.asm:798) 18 com.apple.JavaScriptCore 0x000000010f2a902a vmEntryToJavaScript + 304 (LowLevelInterpreter64.asm:259) 19 com.apple.JavaScriptCore 0x000000010f992613 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 147 (JITCode.cpp:82) 20 com.apple.JavaScriptCore 0x000000010f95e291 JSC::Interpreter::executeProgram(JSC::SourceCode const&, JSC::ExecState*, JSC::JSObject*) + 11985 (Interpreter.cpp:969) 21 com.apple.JavaScriptCore 0x000000010fb86717 JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&) + 327 (Completion.cpp:103) 22 com.apple.WebCore 0x0000000112dd43e0 WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&, WebCore::DOMWrapperWorld&, WebCore::ExceptionDetails*) + 320 (JSMainThreadExecState.h:78) 23 com.apple.WebCore 0x00000001130474f4 WebCore::ScriptElement::executeClassicScript(WebCore::ScriptSourceCode const&) + 548 (CurrentScriptIncrementer.h:52) 24 com.apple.WebCore 0x0000000113045bfa WebCore::ScriptElement::prepareScript(WTF::TextPosition const&, WebCore::ScriptElement::LegacyTypeSupport) + 1194 (utility:753) 25 com.apple.WebCore 0x0000000113223729 WebCore::HTMLScriptRunner::runScript(WebCore::ScriptElement&, WTF::TextPosition const&) + 89 (ScriptElement.h:62) 26 com.apple.WebCore 0x0000000113223680 WebCore::HTMLScriptRunner::execute(WTF::Ref<WebCore::ScriptElement, WTF::DumbPtrTraits<WebCore::ScriptElement> >&&, WTF::TextPosition const&) + 48 (HTMLScriptRunner.cpp:154) 27 com.apple.WebCore 0x000000011321870c WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder() + 220 (Ref.h:60) 28 com.apple.WebCore 0x00000001132189fb WebCore::HTMLDocumentParser::pumpTokenizerLoop(WebCore::HTMLDocumentParser::SynchronousMode, bool, WebCore::PumpSession&) + 683 (HTMLDocumentParser.cpp:233) 29 com.apple.WebCore 0x0000000113218434 WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode) + 116 (DocumentParser.h:69) 30 com.apple.WebCore 0x0000000113218f64 WebCore::HTMLDocumentParser::append(WTF::RefPtr<WTF::StringImpl, WTF::DumbPtrTraits<WTF::StringImpl> >&&) + 484 (DocumentParser.h:70) 31 com.apple.WebCore 0x0000000112fc279c WebCore::DecodedDataDocumentParser::flush(WebCore::DocumentWriter&) + 92 (utility:753) 32 com.apple.WebCore 0x00000001132ef5ab WebCore::DocumentWriter::end() + 43 (RefPtr.h:82) 33 com.apple.WebCore 0x00000001132dd763 WebCore::DocumentLoader::finishedLoading() + 451 (DocumentLoader.cpp:430) 34 com.apple.WebCore 0x000000011335a12d WebCore::CachedResource::checkNotify() + 205 (Vector.h:689) 35 com.apple.WebCore 0x0000000113357c29 WebCore::CachedRawResource::finishLoading(WebCore::SharedBuffer*) + 409 (CachedRawResource.cpp:118) 36 com.apple.WebCore 0x000000011332e420 WebCore::SubresourceLoader::didFinishLoading(WebCore::NetworkLoadMetrics const&) + 1168 (ResourceLoader.h:162) 37 com.apple.WebCore 0x00000001133269f0 WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle*) + 192 (NetworkLoadMetrics.h:48) 38 com.apple.WebCore 0x00000001128d5fb6 WTF::Function<void ()>::CallableWrapper<-[WebCoreResourceHandleAsOperationQueueDelegate connectionDidFinishLoading:]::$_7>::call() + 70 39 com.apple.JavaScriptCore 0x000000010fe4b5c0 WTF::dispatchFunctionsFromMainThread() + 176 (memory:2735) 40 com.apple.Foundation 0x00007fffc78aa52a __NSThreadPerformPerform + 326 41 com.apple.CoreFoundation 0x00007fffc5e4a3e1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 42 com.apple.CoreFoundation 0x00007fffc5e2b65c __CFRunLoopDoSources0 + 556 43 com.apple.CoreFoundation 0x00007fffc5e2ab46 __CFRunLoopRun + 934 44 com.apple.CoreFoundation 0x00007fffc5e2a544 CFRunLoopRunSpecific + 420 45 DumpRenderTree 0x000000010f029ab5 runTest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 2687 (DumpRenderTree.mm:1989) 46 DumpRenderTree 0x000000010f028e47 dumpRenderTree(int, char const**) + 2956 (DumpRenderTree.mm:1156) 47 DumpRenderTree 0x000000010f02a4b7 DumpRenderTreeMain(int, char const**) + 1454 (DumpRenderTree.mm:1369) 48 libdyld.dylib 0x00007fffdb9f3235 start + 1
The first instance of this on testers is with http://trac.webkit.org/r228545. I don't see any clear culprit.
I was wrong, this is the thread that crashed: Thread 22 Crashed:: Dispatch queue: NSOperationQueue 0x7ff8e1817cc0 :: NSOperation 0x7ff8e1a5bc00 (QOS: DEFAULT) 0 com.apple.WebCore 0x00000001128d05fc WTF::MessageQueue<WTF::Function<void ()> >::append(std::__1::unique_ptr<WTF::Function<void ()>, std::__1::default_delete<WTF::Function<void ()> > >) + 108 (memory:2250) 1 com.apple.WebCore 0x00000001128d02fb -[WebCoreResourceHandleAsOperationQueueDelegate callFunctionOnMainThread:] + 75 (memory:2733) 2 com.apple.WebCore 0x00000001128d1150 -[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:] + 224 (memory:2733) 3 com.apple.CFNetwork 0x00007fffc4f89f27 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke + 72 4 com.apple.Foundation 0x00007fffc787cf19 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 7 5 com.apple.Foundation 0x00007fffc787cbfc -[NSBlockOperation main] + 101 6 com.apple.Foundation 0x00007fffc787b324 -[__NSOperationInternal _start:] + 672 7 com.apple.Foundation 0x00007fffc78771db __NSOQSchedule_f + 201 8 libdispatch.dylib 0x00007fffdb9bd8fc _dispatch_client_callout + 8 9 libdispatch.dylib 0x00007fffdb9d39a0 _dispatch_queue_serial_drain + 896 10 libdispatch.dylib 0x00007fffdb9c6306 _dispatch_queue_invoke + 1046 11 libdispatch.dylib 0x00007fffdb9bf6b5 _dispatch_root_queue_drain + 476 12 libdispatch.dylib 0x00007fffdb9bf48c _dispatch_worker_thread3 + 99 13 libsystem_pthread.dylib 0x00007fffdbc0c5a2 _pthread_wqthread + 1299 14 libsystem_pthread.dylib 0x00007fffdbc0c07d start_wqthread + 13
<rdar://problem/37616958>
Easy repo with: Tools/Scripts/run-webkit-tests -gf --repeat-each=500 -1 http/tests/security/http-0.9/xhr-blocked.html
Created attachment 334066 [details] Patch
r=me
Comment on attachment 334066 [details] Patch Clearing flags on attachment: 334066 Committed r228586: <https://trac.webkit.org/changeset/228586>
All reviewed patches have been landed. Closing bug.