RESOLVED FIXED272441
ASSERT(!forVisitedLink) in RenderThemeIOS::systemColor
https://bugs.webkit.org/show_bug.cgi?id=272441
Summary ASSERT(!forVisitedLink) in RenderThemeIOS::systemColor
Ryosuke Niwa
Reported 2024-04-09 23:19:23 PDT
We hit the following debug assertion when trying to open any web page with a hyperlink: Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 WebCore 0x2a7d2bf44 WTFCrashWithInfo(int, char const*, char const*, int) + 100 (Assertions.h:851) 1 WebCore 0x2a753eef8 WebCore::RenderThemeIOS::systemColor(WebCore::CSSValueID, WTF::OptionSet<WebCore::StyleColorOptions>) const + 252 (RenderThemeIOS.mm:1201) 2 WebCore 0x2aa4c8690 WebCore::RenderTheme::systemColor(WebCore::CSSValueID, WTF::OptionSet<WebCore::StyleColorOptions>) const + 1780 (RenderTheme.cpp:1670) 3 WebCore 0x2a753ee9c WebCore::RenderThemeIOS::systemColor(WebCore::CSSValueID, WTF::OptionSet<WebCore::StyleColorOptions>) const + 160 (RenderThemeIOS.mm:1199) 4 WebCore 0x2a834d774 WebCore::StyleColor::colorFromKeyword(WebCore::CSSValueID, WTF::OptionSet<WebCore::StyleColorOptions>) + 104 (StyleColor.cpp:83) 5 WebCore 0x2a8679158 WebCore::Document::visitedLinkColor(WebCore::RenderStyle const&) const + 144 (Document.cpp:1275) 6 WebCore 0x2aa6ba3f4 WebCore::Style::colorFromPrimitiveValue(WebCore::Document const&, WebCore::RenderStyle&, WebCore::CSSPrimitiveValue const&, WebCore::Style::ForVisitedLink) + 324 (ColorFromPrimitiveValue.cpp:53) 7 WebCore 0x2aa753d64 WebCore::Style::BuilderState::colorFromPrimitiveValue(WebCore::CSSPrimitiveValue const&, WebCore::Style::ForVisitedLink) const + 132 (StyleBuilderState.cpp:152) 8 WebCore 0x2a6d0c370 WebCore::Style::BuilderCustom::applyValueColor(WebCore::Style::BuilderState&, WebCore::CSSValue&) + 196 (StyleBuilderCustom.h:1950) 9 WebCore 0x2a6cfd59c WebCore::Style::BuilderGenerated::applyProperty(WebCore::CSSPropertyID, WebCore::Style::BuilderState&, WebCore::CSSValue&, WebCore::Style::ApplyValueType) + 588 (StyleBuilderGenerated.cpp:5757) 10 WebCore 0x2aa7132f0 WebCore::Style::Builder::applyProperty(WebCore::CSSPropertyID, WebCore::CSSValue&, WebCore::SelectorChecker::LinkMatchMask) + 1992 (StyleBuilder.cpp:387) 11 WebCore 0x2aa72d820 WebCore::Style::Builder::applyCascadeProperty(WebCore::Style::PropertyCascade::Property const&)::'lambda'(WebCore::SelectorChecker::LinkMatchMask)::operator()(WebCore::SelectorChecker::LinkMatchMask) const + 164 (StyleBuilder.cpp:251) 12 WebCore 0x2aa711d18 WebCore::Style::Builder::applyCascadeProperty(WebCore::Style::PropertyCascade::Property const&) + 84 (StyleBuilder.cpp:255) 13 WebCore 0x2aa74f384 void WebCore::Style::Builder::applyPropertiesImpl<(WebCore::Style::Builder::CustomPropertyCycleTracking)1>(int, int)::'lambda'(unsigned long)::operator()(unsigned long) const + 172 (StyleBuilder.cpp:160) 14 WebCore 0x2aa711e78 void WebCore::Style::Builder::applyPropertiesImpl<(WebCore::Style::Builder::CustomPropertyCycleTracking)1>(int, int) + 172 (StyleBuilder.cpp:172) 15 WebCore 0x2aa711ad0 WebCore::Style::Builder::applyProperties(int, int) + 64 (StyleBuilder.cpp:139) 16 WebCore 0x2aa711960 WebCore::Style::Builder::applyHighPriorityProperties() + 36 (StyleBuilder.cpp:114) 17 WebCore 0x2aa762648 WebCore::Style::Resolver::applyMatchedProperties(WebCore::Style::Resolver::State&, WebCore::Style::MatchResult const&) + 1028 (StyleResolver.cpp:686) 18 WebCore 0x2aa761250 WebCore::Style::Resolver::styleForElement(WebCore::Element const&, WebCore::Style::ResolutionContext const&, WebCore::RuleMatchingBehavior) + 840 (StyleResolver.cpp:299) 19 WebCore 0x2aa771778 WebCore::Style::TreeResolver::styleForStyleable(WebCore::Styleable const&, WebCore::Style::TreeResolver::ResolutionType, WebCore::Style::ResolutionContext const&) + 864 (StyleTreeResolver.cpp:163) 20 WebCore 0x2aa771e88 WebCore::Style::TreeResolver::resolveElement(WebCore::Element&, WebCore::RenderStyle const*, WebCore::Style::TreeResolver::ResolutionType) + 332 (StyleTreeResolver.cpp:265) 21 WebCore 0x2aa776a80 WebCore::Style::TreeResolver::resolveComposedTree() + 1420 (StyleTreeResolver.cpp:1061) 22 WebCore 0x2aa777ed8 WebCore::Style::TreeResolver::resolve() + 396 (StyleTreeResolver.cpp:1181) 23 WebCore 0x2a8681bb4 WebCore::Document::resolveStyle(WebCore::Document::ResolveStyleType) + 1212 (Document.cpp:2555) 24 WebCore 0x2a86828f8 WebCore::Document::updateStyleIfNeeded() + 476 (Document.cpp:2684) 25 WebCore 0x2a86a4db4 WebCore::Document::finishedParsing() + 832 (Document.cpp:7244) 26 WebCore 0x2a8ed9ba0 WebCore::HTMLConstructionSite::finishedParsing() + 44 (HTMLConstructionSite.cpp:470) 27 WebCore 0x2a8f3a5c0 WebCore::HTMLTreeBuilder::finished() + 252 (HTMLTreeBuilder.cpp:3110) 28 WebCore 0x2a8ee15f4 WebCore::HTMLDocumentParser::end() + 232 (HTMLDocumentParser.cpp:446) 29 WebCore 0x2a8edf4e0 WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd() + 272 (HTMLDocumentParser.cpp:455) 30 WebCore 0x2a8edf218 WebCore::HTMLDocumentParser::prepareToStopParsing() + 260 (HTMLDocumentParser.cpp:150) 31 WebCore 0x2a8ee1660 WebCore::HTMLDocumentParser::attemptToEnd() + 60 (HTMLDocumentParser.cpp:467) 32 WebCore 0x2a8ee1730 WebCore::HTMLDocumentParser::finish() + 64 (HTMLDocumentParser.cpp:495) 33 WebCore 0x2a93b1cec WebCore::DocumentWriter::end() + 416 (DocumentWriter.cpp:349) 34 WebCore 0x2a93b0da4 WebCore::DocumentLoader::finishedLoading() + 392 (DocumentLoader.cpp:505) 35 WebCore 0x2a93b095c WebCore::DocumentLoader::notifyFinished(WebCore::CachedResource&, WebCore::NetworkLoadMetrics const&) + 596 (DocumentLoader.cpp:449) 36 WebCore 0x2a9562188 WebCore::CachedResource::checkNotify(WebCore::NetworkLoadMetrics const&) + 140 (CachedResource.cpp:331) 37 WebCore 0x2a955d8ac WebCore::CachedResource::finishLoading(WebCore::FragmentedSharedBuffer const*, WebCore::NetworkLoadMetrics const&) + 72 (CachedResource.cpp:348) 38 WebCore 0x2a955f0b4 WebCore::CachedRawResource::finishLoading(WebCore::FragmentedSharedBuffer const*, WebCore::NetworkLoadMetrics const&) + 408 (CachedRawResource.cpp:128) 39 WebCore 0x2a94d8434 WebCore::SubresourceLoader::didFinishLoading(WebCore::NetworkLoadMetrics const&) + 1456 (SubresourceLoader.cpp:774) 40 WebKit 0x122d48e64 WebKit::WebResourceLoader::didFinishResourceLoad(WebCore::NetworkLoadMetrics&&) + 676 (WebResourceLoader.cpp:254) 41 WebKit 0x123a93cac auto void IPC::callMemberFunction<WebKit::WebResourceLoader, WebKit::WebResourceLoader, void (WebCore::NetworkLoadMetrics&&), std::__1::tuple<WebCore::NetworkLoadMetrics>>(WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics&&), std::__1::tuple<WebCore::NetworkLoadMetrics>&&)::'lambda'(auto&&...)::operator()<WebCore::NetworkLoadMetrics>(auto&&...) const + 124 (HandleMessage.h:135) 42 WebKit 0x123a93c20 decltype(std::declval<WebKit::WebResourceLoader>()(std::declval<WebCore::NetworkLoadMetrics>())) std::__1::__invoke[abi:sn170006]<void IPC::callMemberFunction<WebKit::WebResourceLoader, WebKit::WebResourceLoader, void (WebCore::NetworkLoadMetrics&&), std::__1::tuple<WebCore::NetworkLoadMetrics>>(WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics&&), std::__1::tuple<WebCore::NetworkLoadMetrics>&&)::'lambda'(auto&&...), WebCore::NetworkLoadMetrics>(WebKit::WebResourceLoader&&, WebCore::NetworkLoadMetrics&&) + 32 (invoke.h:340) 43 WebKit 0x123a93bf4 decltype(auto) std::__1::__apply_tuple_impl[abi:sn170006]<void IPC::callMemberFunction<WebKit::WebResourceLoader, WebKit::WebResourceLoader, void (WebCore::NetworkLoadMetrics&&), std::__1::tuple<WebCore::NetworkLoadMetrics>>(WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics&&), std::__1::tuple<WebCore::NetworkLoadMetrics>&&)::'lambda'(auto&&...), std::__1::tuple<WebCore::NetworkLoadMetrics>, 0ul>(WebKit::WebResourceLoader&&, WebKit::WebResourceLoader&&, std::__1::__tuple_indices<0ul>) + 48 (tuple:1825) 44 WebKit 0x123a93bb8 decltype(auto) std::__1::apply[abi:sn170006]<void IPC::callMemberFunction<WebKit::WebResourceLoader, WebKit::WebResourceLoader, void (WebCore::NetworkLoadMetrics&&), std::__1::tuple<WebCore::NetworkLoadMetrics>>(WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics&&), std::__1::tuple<WebCore::NetworkLoadMetrics>&&)::'lambda'(auto&&...), std::__1::tuple<WebCore::NetworkLoadMetrics>>(WebKit::WebResourceLoader&&, WebKit::WebResourceLoader&&) + 32 (tuple:1834) 45 WebKit 0x123a93870 void IPC::callMemberFunction<WebKit::WebResourceLoader, WebKit::WebResourceLoader, void (WebCore::NetworkLoadMetrics&&), std::__1::tuple<WebCore::NetworkLoadMetrics>>(WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics&&), std::__1::tuple<WebCore::NetworkLoadMetrics>&&) + 72 (HandleMessage.h:133) 46 WebKit 0x123a8c4a0 void IPC::handleMessage<Messages::WebResourceLoader::DidFinishResourceLoad, WebKit::WebResourceLoader, WebKit::WebResourceLoader, void (WebCore::NetworkLoadMetrics&&)>(IPC::Connection&, IPC::Decoder&, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics&&)) + 224 (HandleMessage.h:235) 47 WebKit 0x123a8baec WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&, IPC::Decoder&) + 716 (WebResourceLoaderMessageReceiver.cpp:78) 48 WebKit 0x122d076f4 WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 172 (NetworkProcessConnection.cpp:101) 49 WebKit 0x123ccf288 IPC::Connection::dispatchMessage(IPC::Decoder&) + 608 (Connection.cpp:1268) 50 WebKit 0x123ccf6c0 IPC::Connection::dispatchMessage(WTF::UniqueRef<IPC::Decoder>) + 600 (Connection.cpp:1316)
Attachments
Radar WebKit Bug Importer
Comment 1 2024-04-10 00:23:38 PDT
Aditya Keerthi
Comment 2 2024-04-10 00:41:40 PDT
EWS
Comment 3 2024-04-10 09:45:51 PDT
Committed 277303@main (5d42114d5868): <https://commits.webkit.org/277303@main> Reviewed commits have been landed. Closing PR #27071 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.