RESOLVED FIXED 184306
REGRESSION (r230223): LayoutTest http/tests/contentextensions/css-display-none-overflows-rule-data-1.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=184306
Summary REGRESSION (r230223): LayoutTest http/tests/contentextensions/css-display-non...
Ryan Haddad
Reported 2018-04-04 09:14:35 PDT
LayoutTest http/tests/contentextensions/css-display-none-overflows-rule-data-1.html is failing an assertion on macOS Debug WK2 bots: ASSERTION FAILED: m_isConstructed /Volumes/Data/slave/sierra-debug/build/WebKitBuild/Debug/usr/local/include/wtf/NeverDestroyed.h(123) : PointerType WTF::LazyNeverDestroyed<const WebCore::QualifiedName>::storagePointer() const [T = const WebCore::QualifiedName] 1 0x121ceec9d WTFCrash 2 0x113cb68b6 WTF::LazyNeverDestroyed<WebCore::QualifiedName const>::storagePointer() const 3 0x113ca7405 WTF::LazyNeverDestroyed<WebCore::QualifiedName const>::operator WebCore::QualifiedName const&() 4 0x115753f20 WebCore::anyQName() 5 0x115753db4 WebCore::CSSSelector::RareData::RareData(WTF::AtomicString&&) 6 0x115753f4d WebCore::CSSSelector::RareData::RareData(WTF::AtomicString&&) 7 0x1157507af WebCore::CSSSelector::RareData::create(WTF::AtomicString&&) 8 0x1157506c8 WebCore::CSSSelector::createRareData() 9 0x1157532cc WebCore::CSSSelector::setSelectorList(std::__1::unique_ptr<WebCore::CSSSelectorList, std::__1::default_delete<WebCore::CSSSelectorList> >) 10 0x115856196 WebCore::CSSParserSelector::setSelectorList(std::__1::unique_ptr<WebCore::CSSSelectorList, std::__1::default_delete<WebCore::CSSSelectorList> >) 11 0x11588b461 WebCore::CSSSelectorParser::consumePseudo(WebCore::CSSParserTokenRange&) 12 0x115886b25 WebCore::CSSSelectorParser::consumeSimpleSelector(WebCore::CSSParserTokenRange&) 13 0x11588459b WebCore::CSSSelectorParser::consumeCompoundSelector(WebCore::CSSParserTokenRange&) 14 0x115882bc2 WebCore::CSSSelectorParser::consumeComplexSelector(WebCore::CSSParserTokenRange&) 15 0x115882571 WebCore::CSSSelectorParser::consumeComplexSelectorList(WebCore::CSSParserTokenRange&) 16 0x115882481 WebCore::CSSSelectorParser::parseSelector(WebCore::CSSParserTokenRange, WebCore::CSSParserContext const&, WebCore::StyleSheetContents*) 17 0x115851746 WebCore::CSSParserImpl::consumeStyleRule(WebCore::CSSParserTokenRange, WebCore::CSSParserTokenRange) 18 0x11584c301 WebCore::CSSParserImpl::consumeQualifiedRule(WebCore::CSSParserTokenRange&, WebCore::CSSParserImpl::AllowedRulesType) 19 0x11584c5b9 bool WebCore::CSSParserImpl::consumeRuleList<WebCore::CSSParserImpl::parseStyleSheet(WTF::String const&, WebCore::CSSParserContext const&, WebCore::StyleSheetContents*, WebCore::CSSParser::RuleParsing)::$_2>(WebCore::CSSParserTokenRange, WebCore::CSSParserImpl::RuleListType, WebCore::CSSParserImpl::parseStyleSheet(WTF::String const&, WebCore::CSSParserContext const&, WebCore::StyleSheetContents*, WebCore::CSSParser::RuleParsing)::$_2) 20 0x11584454c WebCore::CSSParserImpl::parseStyleSheet(WTF::String const&, WebCore::CSSParserContext const&, WebCore::StyleSheetContents*, WebCore::CSSParser::RuleParsing) 21 0x1158444ab WebCore::CSSParser::parseSheet(WebCore::StyleSheetContents*, WTF::String const&, WebCore::CSSParser::RuleParsing) 22 0x115815fae WebCore::StyleSheetContents::parseString(WTF::String const&) 23 0x1155a49fb WebCore::ContentExtensions::ContentExtension::compileGlobalDisplayNoneStyleSheet() 24 0x1155a4426 WebCore::ContentExtensions::ContentExtension::ContentExtension(WTF::String const&, WTF::Ref<WebCore::ContentExtensions::CompiledContentExtension, WTF::DumbPtrTraits<WebCore::ContentExtensions::CompiledContentExtension> >&&) 25 0x1155a4025 WebCore::ContentExtensions::ContentExtension::ContentExtension(WTF::String const&, WTF::Ref<WebCore::ContentExtensions::CompiledContentExtension, WTF::DumbPtrTraits<WebCore::ContentExtensions::CompiledContentExtension> >&&) 26 0x1155a3f60 WebCore::ContentExtensions::ContentExtension::create(WTF::String const&, WTF::Ref<WebCore::ContentExtensions::CompiledContentExtension, WTF::DumbPtrTraits<WebCore::ContentExtensions::CompiledContentExtension> >&&) 27 0x1155d9747 WebCore::ContentExtensions::ContentExtensionsBackend::addContentExtension(WTF::String const&, WTF::Ref<WebCore::ContentExtensions::CompiledContentExtension, WTF::DumbPtrTraits<WebCore::ContentExtensions::CompiledContentExtension> >) 28 0x10f7e3886 WebKit::NetworkContentRuleListManager::addContentRuleLists(WTF::ObjectIdentifier<WebKit::UserContentControllerIdentifierType>, WTF::Vector<std::__1::pair<WTF::String, WebKit::WebCompiledContentRuleListData>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&) 29 0x10f7ef8bd void IPC::callMemberFunctionImpl<WebKit::NetworkContentRuleListManager, void (WebKit::NetworkContentRuleListManager::*)(WTF::ObjectIdentifier<WebKit::UserContentControllerIdentifierType>, WTF::Vector<std::__1::pair<WTF::String, WebKit::WebCompiledContentRuleListData>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&), std::__1::tuple<WTF::ObjectIdentifier<WebKit::UserContentControllerIdentifierType>, WTF::Vector<std::__1::pair<WTF::String, WebKit::WebCompiledContentRuleListData>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> >, 0ul, 1ul>(WebKit::NetworkContentRuleListManager*, void (WebKit::NetworkContentRuleListManager::*)(WTF::ObjectIdentifier<WebKit::UserContentControllerIdentifierType>, WTF::Vector<std::__1::pair<WTF::String, WebKit::WebCompiledContentRuleListData>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&), std::__1::tuple<WTF::ObjectIdentifier<WebKit::UserContentControllerIdentifierType>, WTF::Vector<std::__1::pair<WTF::String, WebKit::WebCompiledContentRuleListData>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> >&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>) 30 0x10f7eceb8 void IPC::callMemberFunction<WebKit::NetworkContentRuleListManager, void (WebKit::NetworkContentRuleListManager::*)(WTF::ObjectIdentifier<WebKit::UserContentControllerIdentifierType>, WTF::Vector<std::__1::pair<WTF::String, WebKit::WebCompiledContentRuleListData>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&), std::__1::tuple<WTF::ObjectIdentifier<WebKit::UserContentControllerIdentifierType>, WTF::Vector<std::__1::pair<WTF::String, WebKit::WebCompiledContentRuleListData>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> >, std::__1::integer_sequence<unsigned long, 0ul, 1ul> >(std::__1::tuple<WTF::ObjectIdentifier<WebKit::UserContentControllerIdentifierType>, WTF::Vector<std::__1::pair<WTF::String, WebKit::WebCompiledContentRuleListData>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> >&&, WebKit::NetworkContentRuleListManager*, void (WebKit::NetworkContentRuleListManager::*)(WTF::ObjectIdentifier<WebKit::UserContentControllerIdentifierType>, WTF::Vector<std::__1::pair<WTF::String, WebKit::WebCompiledContentRuleListData>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&)) 31 0x10f7ec2f1 void IPC::handleMessage<Messages::NetworkContentRuleListManager::AddContentRuleLists, WebKit::NetworkContentRuleListManager, void (WebKit::NetworkContentRuleListManager::*)(WTF::ObjectIdentifier<WebKit::UserContentControllerIdentifierType>, WTF::Vector<std::__1::pair<WTF::String, WebKit::WebCompiledContentRuleListData>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&)>(IPC::Decoder&, WebKit::NetworkContentRuleListManager*, void (WebKit::NetworkContentRuleListManager::*)(WTF::ObjectIdentifier<WebKit::UserContentControllerIdentifierType>, WTF::Vector<std::__1::pair<WTF::String, WebKit::WebCompiledContentRuleListData>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&)) LEAK: 2 WebPageProxy https://build.webkit.org/builders/Apple%20Sierra%20Debug%20WK2%20(Tests)/builds/5898
Attachments
Patch (2.47 KB, patch)
2018-04-04 10:39 PDT, youenn fablet
no flags
Patch (2.05 KB, patch)
2018-04-04 10:49 PDT, youenn fablet
no flags
Patch (8.00 KB, patch)
2018-04-05 11:17 PDT, youenn fablet
no flags
Patch for landing (8.10 KB, patch)
2018-04-05 21:18 PDT, youenn fablet
no flags
Ryan Haddad
Comment 1 2018-04-04 09:15:17 PDT
youenn fablet
Comment 2 2018-04-04 10:24:12 PDT
Thanks Ryan, I am investigating this crash
youenn fablet
Comment 3 2018-04-04 10:39:22 PDT
youenn fablet
Comment 4 2018-04-04 10:49:40 PDT
Ryosuke Niwa
Comment 5 2018-04-04 21:16:07 PDT
Comment on attachment 337190 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=337190&action=review > Source/WebKit/NetworkProcess/NetworkContentRuleListManager.cpp:71 > + AtomicString::init(); NetworkProcess::initializeNetworkProcess already calls this. It makes no sense that we have to initialize it again here. > Source/WebKit/NetworkProcess/NetworkContentRuleListManager.cpp:72 > + WebCore::QualifiedName::init(); Qualified names!? Who is creating a qualified name in the network process?
youenn fablet
Comment 6 2018-04-05 11:17:33 PDT
Chris Dumez
Comment 7 2018-04-05 14:46:42 PDT
Comment on attachment 337279 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=337279&action=review I'll let someone familiar with content extensions do a proper review but I have a comment. > Source/WebCore/contentextensions/ContentExtension.h:44 > + enum class CompileCSS { Yes, No }; I'd suggest ShouldCompileCSS naming. Also we usually have No come first so that its value is 0. So: enum class ShouldCompileCSS { No, Yes };
Ryosuke Niwa
Comment 8 2018-04-05 18:52:37 PDT
Comment on attachment 337279 [details] Patch r=me assuming you'd address Chris' comment.
Radar WebKit Bug Importer
Comment 9 2018-04-05 18:55:30 PDT
youenn fablet
Comment 10 2018-04-05 21:18:24 PDT
Created attachment 337343 [details] Patch for landing
Ryosuke Niwa
Comment 11 2018-04-05 21:23:19 PDT
Did you mean to set cq+ on this patch?
WebKit Commit Bot
Comment 12 2018-04-05 22:23:23 PDT
Comment on attachment 337343 [details] Patch for landing Clearing flags on attachment: 337343 Committed r230326: <https://trac.webkit.org/changeset/230326>
WebKit Commit Bot
Comment 13 2018-04-05 22:23:25 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.